Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Poprawa questa


Rekomendowane odpowiedzi

Opublikowano

Co tu jest nie tak?

 

kompilator  wyświetla mi taki błąd *\main_quest_lvl1.quest:1:must start with 'quest'

 

 

quest main_quest_lvl1 begin
	state start begin
		when login or levelup with pc.get_level() == 1 begin
			set_state(informacja)
		end
	end
	state informacja begin
		when letter begin
			send_letter("Witamy w Świecie")
		end
		when button or info begin
			say_title("Witamy w Świecie.")
			say("")
			say("Witaj nowy wojowniku w świecie LavoriaMT2. ")
			say("Przyszedł czas na nowego bohatera. Czy ")
			say("będziesz nim Ty? Czas pokaże! ")
			say("")
			say("Ekscytującą przygodę czas zacząć. ")
			say("Na początek powinieneś udać się do Kapitana, ")
			say("który pilnie chce się z Tobą zobaczyć.")
			say("Pośpiesz się! ")
			set_state(idz_do_kapitana)
		end
	end
	state idz_do_kapitana begin
		when letter begin
			local v = find_npc_by_vnum(20355)
			if v != 0 then
				target.vid("__TARGET__", v, "Znajdź Kapitana.")
			end
		end
		when button or info begin
			say_title("Znajdź Kapitana.")
			say("")
			say("Porozmawiaj z Kapitanem. Znajdziesz go w ")
			say("mieście. Podążaj za czerwonym znaczkiem na ")
			say("mini-mapie. Poznasz go po strzałce będącej ")
			say("nad nim.")
			say("")
		end
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title("Kapitan:")
			say("")
			say("Witaj"..pc.get_name().."!")
			say("Jestem głównym dowódcą armii naszego królestwa. ")
			say("Muszę pilnować pożądku w mieście, ale także poza ")
			say("nim. Nasze czasy są niepewne, a zło czaji się za  ")
			say("rogiem. ")
			say("Ale na razie nie przejmuj się tym!")
			wait()
			say_title("Kapitan:")
			say("")
			say("Udaj się teraz do Strażnika Miejskiego. Na początek ")
			say("to on będzie czuwał nad Twoim rozwojem. Wszystkiego ")
			say("dowiesz się na miejscu. ")
			say("Ale poczekaj. Nie masz żadnej części uzbrojenia. Weź ")
			say("sobie coś z mojego magazynu. Zastanów się dobrze co ")
			say("wybierzesz. ")
			wait()
			say_title("Kapitan:")
			say("")
			say("Twój wybór padnie na:")
			local s = select("Zbroja", "Hełm", "Tarcza")
				if s == 1 then
					if pc.get_job() == 0 then
						pc.give_item2(11200, 1)
						chat("Otrzymałeś Mnisią Zbroję Płyt. ")
					
					elseif pc.get_job() == 1 then
						pc.give_item2(11400, 1)
						chat("Otrzymałeś Błękitne Ubranie. ")					
					
					elseif pc.get_job() == 2 then
						pc.give_item2(11600, 1)
						chat("Otrzymałeś Żałobną Zbroję Płyt. ")
					
					elseif pc.get_job() == 3 then
						pc.give_item2(11800, 1)
						chat("Otrzymałeś Błękitną Szatę. ")
					
					end
				elseif s == 2 then
					if pc.get_job() == 0 then
						pc.give_item2(12200, 1)
						chat("Otrzymałeś Tradycyjny Hełm. ")
					
					elseif pc.get_job() == 1 then
						pc.give_item2(12340, 1)
						chat("Otrzymałeś Skórzaną Maskę. ")					
					
					elseif pc.get_job() == 2 then
						pc.give_item2(12480, 1)
						chat("Otrzymałeś Krwawy Hełm. ")
					
					elseif pc.get_job() == 3 then
						pc.give_item2(12620, 1)
						chat("Otrzymałeś Czapkę Mnicha. ")
					end
				elseif s == 3 then 
						pc.give_item2(13000, 1)
						chat("Otrzymałeś Bojową Tarczę. ")
				end
			say_title("Kapitan:")
			say("")
			say("Dobry wybór. A teraz idź prosto do Strażnika ")
			say("Miejskiego. Na pewno będzie na Ciebie czekał. ")
			set_state(idz_do_straznika_miejskiego)
		end
	end
	state idz_do_straznika_miejskiego begin
		when letter begin 
			local v = find_npc_by_vnum(20354)
			if v != 0 then
				target.vid("__TARGET__", v, "Strażnik Miejski")
			end
		end
		when button or info begin
			say_title("Witaj w Świecie")
			say("")
			say("Kapitan pozwolił Ci wziąść jedną rzecz. Ale ")
			say("miecz i uzbrojenie nie zrobią z Ciebie wielkiego ")
			say("wojownika. Udaj się do Strażnika Miejskiego, który ")
			say("będzie się Tobą opiekował, aż zdobędziesz odpowiednie ")
			say("umiejętności. ")
		end
		when __TARGET__.target.click or 20354.chat."Strażnik Miejski" begin
			target.delete("__TARGET__")
			say("Strażnik Miejski:")
			say("")
			say("Witaj! Czekałem na Ciebie. Kapitan zlecił mi, ")
			say("abym się Tobą zajął. Przy mnie nauczysz się jak ")
			say("prawidłowo władać bronią. Zdobędziesz też")
			say("odpowiednie doświadczenie i umiejętności.")
			wait()
			say_title("Strażnik Miejski:")
			say("")
			say("Dość biadolenia. Czas by sprawdzić jak sobie ")
			say("poradzisz. Wyrusz za miasto i pokonaj 15 dzikich psów. ")
			say("Nie są one zbyt silne. Na pewno dasz sobie radę. ")
			set_state(dzikie_psy)
				pc.setqf("state", 0)
				q.set_counter("Dzikie Psy:", 0)
		end
	end
	state dzikie_psy begin 
		when letter begin
			send_letter("Pokonaj Dzikie Psy")
		end
		when button or info begin
			say_title("Pokonaj Dzikie Psy. ")
			say("")
			say("Otrzymałeś swoje pierwsze zadanie od Strażnika ")
			say("Miejskiego. Musisz pokonać 15 Dzikich Psów.")
			say("")
			say(string.format("Dotychczas zabiłeś %d Dzikich Psów.", pc.getqf("status")))
		end
		when 101.kill begin
			local count = pc.getqf("status") + 1
			if count <= 15 then
				pc.setqf("status", count)
				q.set_counter("Dziki Pies", 15 - count)
				if count == 15 then
					say_title("Zadanie zakończone.")
					say("")
					say("Udało się. Pokonałeś 15 dzikich psów. ")
					say("Wróć do Strażnika Miejskiego.")
					set_state(wroc_do_straznika_miejskiego)
				end
			end
		end
		when 20354.chat."Pierwsze Zadanie" with pc.getf("main_quest_lvl1","state") < 15 begin
			say_title("Strażnik Miejski:")
			say("")
			say("Jeżeli rzeczywiście masz problem z zabiciem tak ")
			say("słabego potwora jakim jest Dziki Pies to Twoje ")
			say("rokowania na przyszłość spadły i to dużo... ")
			say("")
		end	
		when 20354.chat."Pierwsze Zadanie" with pc.getf("main_quest_lvl1","state") >= 15 begin
			say_title("Strażnik Miejski:")
			say("")
			say("Cieszę się, że udało Ci się wykonać to zadanie! ")
			say("Choć zajęło Ci to trochę czasu. Ale ważne, że się ")
			say("nie poddałeś. ")
			set_state(wroc_do_straznika_miejskiego)
		end
	end
	state wroc_do_straznika_miejskiego begin
		when letter begin
			local v = find_npc_by_vnum(20354)
			if v != 0 then
				target.vid("__TARGET__", v, "Znajdź Strażnika Miejskiego")
			end
		end
		when letter begin
			send_letter("Zadanie ukończone.")
		end
		when button or info begin
			say_title("Zadanie zakończone.")
			say("")
			say("Udało się. Pokonałeś 15 dzikich psów. ")
			say("Wróć do Strażnika Miejskiego.")
		end
		when __TARGET__.target.click or 20354.chat."Zadanie Wykonane" begin
			target.delete("__TARGET__")
			say_title("Strażnik Miejski:")
			say("")
			say("Gratulacje! Wykonałeś swoje pierwsze zadanie. ")
			say("Choć zadanie było bardzo łatwe to i tak jestem ")
			say("z Ciebie zadowolony. ")
			say("Wróć do mnie, gdy osiągniesz kolejny poziom ")
			say("doświadczenia. Będę miał dla Ciebie kolejne ")
			say("zadanie.")
			wait()
			say_title("Nagroda:")
			say("")
			say_reward("Punkty Doświadczenia: 150" )
			say_reward("Yang:   2000")
			say_reward(string.format("Przedmiot: %s ilość: %d", item_name(27001), 20))
			say_item(item_name(27001),27001,"")
			pc.give_exp2(150)
			pc.change_money(2000)
			pc.give_item2( 27001 ,20 )
			pc.setqf("state", 0)
			clear_letter()
			set_state(__COMPLETE__)
			set_quest_state("main_quest_lvl2","run")
		end
	end
	state __COMPLETE__ begin
	end
end

 

 

Nagradzam za pomoc.

Opublikowano

W poprawionym queście jest za dużo o jeden end, ale po usunięciu go quest kompiluje się poprawnie. Możesz wyjaśnić dlaczego wcześniej się nie kompilował?

Opublikowano

hmm :D to dość dziwne bo właśnie ja dodałem 1 end, który raczej tam być powinien (dodałem go po chat("Otrzymałeś Bojową Tarczę. ") ) Jeśli usunąłeś inny to pewnie dlatego.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...