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

Pisanie / Poprawa Questów !


PoczatKujacy

Rekomendowane odpowiedzi

Opublikowano

kwaitmix, to nie przez to. Ten quest jest zepsuty.

"end'y" są wszystkie dobrze żadnego tam nie brakowało. Sprawdzałem kilka razy ;P

  • Odpowiedzi 8,7 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

ja poproszę o questa takiego:

 

naciska się na ten papirus(na te zadanie w lewej czesci ekranu) i tylko 20 razy możesz przywołać mobki do siebie(cos jak peleryna mestwa..) jak zuzyje sie to 20 razy to zeby to sie juz nie pokazywalo...

 

proszę żeby było z 3-4 linijek say i tekst ja sam wpisze..

 

i zeby pisalo czy chcesz przywołać potwory? opcja tak/nie... nie to wyłącza okno a tak przywoluje moby jak peleryna mestwa

//nieregulaminowa sygnatura

Opublikowano

Siemka. Wiecie może czemu Uszko nie dropi?

Pominąłem quest ... begin i state bo inne when w tym quest działa bez problemu.

 

when 5001.kill begin
  pc.give_item2(30202, 1)
  chat("Zdobyłeś ucho Tanaki!")
  chat("Zanieś je do pomocnika zdarzeń, aby wymienić je na nagrodę!")
end

Opublikowano

widziadłem na filmikach ze są questy ze daje się przedmiot handlarce i ona go pali i nie wiem czy to quest ale nie mam wgl dropu np z ripa pomocy pw albo gg 20287592

 

i da inst, jak to wgrać bo jestem zielony :D

 

a i taki zeby co 10min np pisało na serwie tak jak na pl taki bot np GM nie zapyta cię nigdy o hasło itp dziękuję z góry,

Opublikowano

Up łap :

 

Tu masz quest na usuwanie itemu którego nie da się wyrzucić :

 

 

quest niszczarka_itemow begin
	state start begin
			when 20087.take with item.vnum != 0 begin
			   say_title("Niszczarka Itemów:")
say_reward("Witaj,  ".. pc.get_name() ..".")
					say("Jeżeli chcesz się pozbyc jakiegoś przedmiotu mogę [ENTER]uczynić to dla Ciebie .")
					say_reward("Info: Usuniętego przedmiotu nie można odzyskać.")
					local usun = select("Chcę się tego pozbyć.", "Nie, jednak to zostawię.")
					if usun == 1 then
							item.remove()
					else
					end
			end
	end
end

 

 

Quest automatyczna wiadomość :

 

 

quest notatka  begin
	state start  begin
			when 20091.chat."Automatyczna wiadomosc" with pc.is_gm()  begin
					say_title("Hong Hae:")
					say("Czy chcesz uruchomic automatyczne wyswietlanie")
					say("wiadomosci na czacie co 5 minut?")
					local s = select("Tak", "Nie")
					if s == 2 then
							return
					elseif s == 1 then
							clear_server_timer('notice_on_chat', get_server_timer_arg())
							server_timer('notice_on_chat', 5*60, get_server_timer_arg())
					end
			end
			when notice_on_chat.server_timer  begin
					notice_all("HUBA BUBA!")
											clear_server_timer('notice_on_chat', get_server_timer_arg())
					server_timer('notice_on_chat', 5*60, get_server_timer_arg())
			end
	end
end

 

 

Jak dodać ?

 

Kopiujesz zawartość wklejasz do notatnika -->zapisz jako nazwa_questu.quest

 

Wchodzisz /usr/servfiles/share/locale/germany/quest

 

Wklejasz quest

 

Klikasz F5

 

./qc nazwa_questu.quest

 

w grze /reload q i gotowe

 

A i jeszcze do object dodaj ..

 

/usr/servfiles/share/locale/germany/quest/object

Pomogłam? Daj: "Lubie to"

Opublikowano

Witam

 

pomoze ktos z tym questem..

 

Dlaczego z parteru w wiezy na 2 i 3 mnie teleportuje a na metki juz niechce?

 

 

quest Witek_dungeon begin
state start begin
when 20030.chat."Dolina Wolkanow" begin
say_reward("Mumia:")
say("Chcesz isc do Doliny Wolkanow?")
local wejscie = select("Tak.", "Nie.")
if wejscie == 2 then
return
elseif wejscie == 1 then
say_reward("Mumia:")
say("Okej, przeteleportuje ciebie.")
wait()
pc.setqf("dungeon", 1)
d.join(132)
end
end
when login with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
if pc.getqf("dungeon") > 0 then
pc.setqf("dungeon", 0)
d.notice("Witaj w Dolinie Wolkanow!")
d.notice("Zabijcie Metina by przejść dalej..")
d.regen_file("data/dungeon/deviltower7_regen.txt")
d.spawn_mob(8030, 120, 625)
end
end
when 8030.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
 d.notice("Udało wam się zabiliscie metina")
 d.notice("więc zostaniecie przelogowani wyżej..")
 timer("piekielna1_1", 5)
end
when piekielna1_1.timer begin
 d.new_jump_all(132, 55725, 56025)
 d.regen_file("data/dungeon/deviltower2_regen.txt")
 d.set_warp_at_eliminate(4, d.get_map_index(), 55734, 55793, "data/dungeon/deviltower3_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
d.spawn_mob(1093, 191, 208)
d.notice("Udało wam się zabiliscie Ripera")
d.notice("więc zostaniecie przelogowani wyżej..")
timer("piekielna3_1", 5)
end
when piekielna3_1.timer begin
 d.jump_all_local(55725, 56025)
 d.regen_file("data/dungeon/deviltower2_regen.txt")
 d.set_warp_at_eliminate(4, d.get_map_index(), 55734, 55793, "data/dungeon/deviltower3_regen.txt")
 end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
d.regen_file("data/dungeon/deviltower_regen4.txt")
end
function get_4floor_stone_pos()
 local positions = {
 {368, 629},
 {419, 630},
 {428, 653},
 {422, 679},
 {395, 689},
 {369, 679},
 {361, 658},
 }
 for i = 1, 6 do
 local j = number(i, 7)
 if i != j then
  local t = positions[i];
  positions[i] = positions[j];
  positions[j] = t;
 end
 end
 --for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
 --   end
 return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
 d.setf("level", 4)
 -- ¦A˛{¤j¶q©ÇŞ«¤Î»słyŻuĄŰŔY©M°˛ĄŰŔY
 --d.regen_file("data/dungeon/deviltower4_regen.txt")
 local positions = deviltower_zone.get_4floor_stone_pos()
 for i = 1, 6 do
 chat(positions[i][1], positions[i][2])
 d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
 end
 chat(positions[7][1], positions[7][2])
 local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
 chat(vid)
 d.set_unique("real", vid)
 server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
 server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
 d.notice("Brawo, udalo sie Tobie");
 d.notice("zniszczyc kamien metin!");
 d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");
 d.notice("Spieszcie sie!");
end
when 2591.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
 if d.getf("drop") < 1 then
 local drop = math.random(100)
 if drop == 1 then
 pc.give_item2(19, 1)
 pc.setf("drop", 1)
 d.notice(pc.get_name().."Zdobyłes(as) Złota Perle.")
end
end
end
when 20030.take with item.vnum == 19 and d.getf("drop") > 0 begin
 d.notice("Brawo, macie tutaj kowali!")
 npc.purge() -- usuwamy id_npc
 item.remove() -- usuwamy id_przedmiotu
 d.clear_regen() -- usuwamy regen
 d.kill_all() -- zabijamy wszystkie potwory
 local kowale = {20074, 20075, 20076}
 d.spawn_mob(kowale[number(1,3)], 425, 216); -- respi losowego moba, z local kowale
 d.setqf("can_refine", 2) -- pozwala na ulepszenie przedmiotu
 timer("wywalamy", 60)
   end
   when wywalamy.timer begin
 d.exit_all()
   end
 end -- kończymy state
end -- kończymy questa  

Opublikowano

Witam zrobi mi ktoś questa który przy każdym zalogowaniu GM bd pisał graczom np [GM]seba jest online ! jeśli jest taki quest i quest kury np od 50lv pokazuje na seba awansował na poziom 51 życzymy dalszych sukcesów proszę na kontakt na pw albo gg 20287592 dziękuje z góry daje++++++++++++

Opublikowano

ja poproszę o questa takiego:

 

naciska się na ten papirus(na te zadanie w lewej czesci ekranu) i tylko 20 razy możesz przywołać mobki do siebie(cos jak peleryna mestwa..) jak zuzyje sie to 20 razy to zeby to sie juz nie pokazywalo...

 

proszę żeby było z 3-4 linijek say i tekst ja sam wpisze..

 

i zeby pisalo czy chcesz przywołać potwory? opcja tak/nie... nie to wyłącza okno a tak przywoluje moby jak peleryna mestwa

//nieregulaminowa sygnatura

Opublikowano

ja poproszę o questa takiego:

 

naciska się na ten papirus(na te zadanie w lewej czesci ekranu) i tylko 20 razy możesz przywołać mobki do siebie(cos jak peleryna mestwa..) jak zuzyje sie to 20 razy to zeby to sie juz nie pokazywalo...

 

proszę żeby było z 3-4 linijek say i tekst ja sam wpisze..

 

i zeby pisalo czy chcesz przywołać potwory? opcja tak/nie... nie to wyłącza okno a tak przywoluje moby jak peleryna mestwa

 

Przestań spamić, nie wiem czy jedziesz na multi acc, nie obchodzi mnie to, po prostu masz (nie sprawdzałem czy quest działa) i się zamknij.

 

 

quest przywolaj begin
state start begin
	when login with pc.level >= 1 begin
	set_state(wybor)
	end
end

state wybor begin
	when letter begin
	send_letter("Przywołaj Moby")
	end

	when info or button begin
		say_title("Przywołaj Moby:")
		say("Chcesz przywołać moby?")
		say("Możesz to zrobić tylko 20 razy")
		local y = select("Tak", "Nie")
		if y == 2 then
		return
		elseif y == 1 then
		pc.setqf("licz", pc.getqf()+1)
		say("Wykorzystano "..pc.getqf("licz").." z 20 prób")
		wait()
		pc.aggregate_monster()
		end

		if pc.getqf("licz") >= 20 then
		set_state(konczymy)
		end
	end
end

state konczymy begin
end
end

 

 

 

 

Witam zrobi mi ktoś questa który przy każdym zalogowaniu GM bd pisał graczom np [GM]seba jest online ! jeśli jest taki quest i quest kury np od 50lv pokazuje na seba awansował na poziom 51 życzymy dalszych sukcesów proszę na kontakt na pw albo gg 20287592 dziękuje z góry daje++++++++++++

 

 

quest pozadanie begin
state start begin
	when login with pc.is_gm() begin
	notice_all("GameMaster "..pc.get_name().." jest Online!")
	end

	when levelup with pc.level >= 50 begin
	if not pc.is_gm() then
	notice_all("Gracz "..pc.get_name().." awansował na "..pc.get_level().." poziom!")
	notice_all("Gratulujemy oraz życzymy dalszych sukcesów! Serwer Team")
	else
	say("Jedynie osiągnięcia graczy zostaną ukazane na czacie")
	end
	end
end
end

 

 

Nie wiem czy zadziała, sprawdź.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

@Asti masz tutaj poprawiony kod. If-y zamyka się zaraz po wykonaniu instrukcji a nie przed zamknięciem when

 

 

quest licytowanie begin
   state start begin
       when 2007.chat."Licytacja" with game.get_event_flag("Licytacja") == 1 begin
           local lic = pc.getqf("przedmiot")
           say_title(mob_name(2007)..": ")
           say("Witaj.")
           say("")
           say("Aktualnie licytujemy")
           say("Przedmiot o nazwie")
           say(item_name(lic)..".")
           say("")
           say("Aktualnie kwota wynosi :")
           say(pc.getqf("liscytowanie").." Yang.")
           say("")
           say("Wpisz ile chcesz zalicytować :")
           local haha = input()
           if haha > pc.getqf("liscytowanie") and pc.get_money() >= haha then
               pc.setqf("liscytowanie", haha)
               say_title(mob_name(2007)..": ")
               say("")
               say("Zalicytowałeś "..haha.." Yang.")
               notice_all(pc.get_name().." przelicytował kwotą "..haha)
           elseif haha < pc.getqf("liscytowanie") or pc.get_money < haha then
               say_title(mob_name(2007)..": ")
               say("")
               say("Zalicytowałeś za mało")
               say("lub nie masz tyle Yang.")
           elseif haha =="" then
               say_title(mob_name(2007)..": ")
               say("Musisz podać ilość Yang.")
           end
       end

       when 20366.chat."GM: Licytacja" with pc.is_gm() begin
           say_title(mob_name(20366)..": ")
           say("")
           say("Co chcesz zrobić ?")
           local wybor = select("Włącz Event", "Wyłącz Event")

           if wybor == 1 then
               say_title(mob_name(20366)..": ")
               say("")
               local input = input()
               if input =="" then
                   say_title(mob_name(20366)..": ")
                   say("Musisz podać id przedmiotu.")
               else
                   game.set_event_flag("Licytacja", 1)
                   pc.setqf("przedmiot", input)
                   say_title(mob_name(20366)..": ")
                   say("Zrobione!")
               end
           elseif wybor == 2 then
               game.set_event_flag("Licytacja", 0)
               say_title(mob_name(20366)..": ")
               say("")
               say("Zrobione.")
           end
       end
   end
end

 

Opublikowano

Kwaitmix ta funkcja jest poprawna nie może być "and" z logiki.

when login or levelup with pc.is_gm() and pc.get_name() == "[GM]Asti" or pc.get_name() =="[GM]nazwa_gma" begin 

 

Rower1310

Quest wgrywa sie poprawnie 2 czesci questa działają. Ale nie działa od

 local haha = input()
		if haha > pc.getqf("liscytowanie") and pc.get_money() >= haha then
			pc.setqf("liscytowanie", haha)
			say_title("Dozorca")
			say("")
			say("Zalicytowałeś "..haha.." Yang.")
			notice_all(pc.get_name().." przelicytował kwotą "..haha)
		elseif haha < pc.getqf("liscytowanie") or pc.get_money < haha then
			say_title(mob_name(2007)..": ")
			say("")
			say("Zalicytowałeś za mało")
			say("lub nie masz tyle Yang.")
		elseif haha =="" then
			say_title(mob_name(2007)..": ")
			say("Musisz podać ilość Yang.")
		end 

 

 

quest licytacja_itemu begin
state start begin
	when 20007.chat."Licytacja" with game.get_event_flag("Licytacja") == 1 begin
		local lic = pc.getqf("przedmiot")
		say_pistacja("Witaj ".. pc.get_name() .." Aktualnie licytujemy")
		say_bursztyn(item_name(lic)..".")
		say_item_vnum(lic)
		say("")
		say_pistacja("Aktualnie kwota wynosi :")
		say_cegla(pc.getqf("liscytowanie").." Yang.")
		say("")
		say_bursztyn("Wpisz ile chcesz zalicytować :")
		local haha = input()
		if haha > pc.getqf("liscytowanie") and pc.get_money() >= haha then
			pc.setqf("liscytowanie", haha)
			say_title("Dozorca")
			say("")
			say("Zalicytowałeś "..haha.." Yang.")
			notice_all(pc.get_name().." przelicytował kwotą "..haha)
		elseif haha < pc.getqf("liscytowanie") or pc.get_money < haha then
			say_title(mob_name(2007)..": ")
			say("")
			say("Zalicytowałeś za mało")
			say("lub nie masz tyle Yang.")
		elseif haha =="" then
			say_title(mob_name(2007)..": ")
			say("Musisz podać ilość Yang.")
		end
	end

	when 20366.chat."GM: Licytacja" with pc.is_gm() and pc.get_name() == "[GM]Asti" or pc.get_name() == "[XX]DiilOrDie" begin
		say_title(mob_name(20366)..": ")
		say("")
		say("Co chcesz zrobić ?")
		local wybor = select("Włącz Event", "Wyłącz Event")

		if wybor == 1 then
			say_title(mob_name(20366)..": ")
			say("")
			local input = input()
			if input =="" then
				say_title(mob_name(20366)..": ")
				say("Musisz podać id przedmiotu.")
			else
				game.set_event_flag("Licytacja", 1)
				pc.setqf("przedmiot", input)
				say_title(mob_name(20366)..": ")
				say("Zrobione!")
			end
		elseif wybor == 2 then
			game.set_event_flag("Licytacja", 0)
			say_title(mob_name(20366)..": ")
			say("")
			say("Zrobione.")
		end
	end
end
end

 

 

Opublikowano

@Asti

if haha > pc.getqf("liscytowanie") and pc.get_money() >= haha then

przetłumaczę jak zrobiłeś instrukcję

jeżeli zmienna haha będzie większa od pc.getqf("liscytowanie") lub pc.get_money() będzie większy bądź równy zmiennej haha to zrób instrukcję

 

to co na czerwono to według mnie błąd

Opublikowano

Witam czy napisze mi ktoś questa że npc 9990 nazwa Mumia mówi nam że musimy zabić 6 metków (8030) by iść dalej i mamy 2 opcje idę lub zostaje

 

gdy się już prze teleportujemy na mapę (w miejsce kordów zostawcie napis "kordy" ja sobie wpisze)

 

na mapie będą stały metki i po ich zabiciu idziemy dalej na następną mapę (w miejsce kordów zostawcie napis "kordy" ja sobie wpisze)

 

metek id 8030

 

Jak zrobić by z metka zrespił się następny tylko że w innych kordach?

Opublikowano

Quest działa wpisywanie yangh też tylko jeśli ktoś inny wpisze to nie widze tej kwoty. I nie pisze na wołaj że przebiłem kwotę. i niestety też mozna z wiekszej ustawic mniejsza kwote. ;( naprawi ktos?

 

Rower1310 wierze w Ciebie! ^^

 

quest licytacja_itemu begin
   state start begin
    when 20007.chat."Licytacja" with game.get_event_flag("Licytacja") == 1 begin
	    local lic = pc.getqf("przedmiot")
	    say_pistacja("Witaj ".. pc.get_name() .." Aktualnie licytujemy")
	    say_bursztyn(item_name(lic)..".")
           say_item_vnum(lic)
	    say("")
	    say_pistacja("Aktualnie kwota wynosi :")
	    say_cegla(pc.getqf("liscytowanie").." Yang.")
	    say("")
	    say_bursztyn("Wpisz ile chcesz zalicytować :")
	    local haha = input()
	    if haha > pc.setqf("liscytowanie", haha) then
               pc.getqf("liscytowanie", haha)
		    say_title("Dozorca")
		    say("")
		    say("Zalicytowałeś "..haha.." Yang.")
		    notice_all(pc.get_name().." przelicytował kwotą "..haha)

	    end
    end

    when 20366.chat."Uruchom Licytacje" with pc.is_gm() and pc.get_name() == "[GM]Asti" or pc.get_name() == "[GM]DiilOrDie" begin
	    say_title(mob_name(20366)..": ")
	    say("")
	    say("Co chcesz zrobić ?")
	    local wybor = select("Włącz Licytacje", "Wyłącz Licytacje")

	    if wybor == 1 then
		    say_title(mob_name(20366)..": ")
               say("Podaj ID przedmiotu")
               say("który bedzie licytowany")
		    say("")
		    local input = input()
		    if input =="" then
			    say_title(mob_name(20366)..": ")
			    say("Musisz podać id przedmiotu.")
		    else
			    game.set_event_flag("Licytacja", 1)
			    pc.setqf("przedmiot", input)
			    say_title(mob_name(20366)..": ")
			    say("Zrobione!")
		    end
	    elseif wybor == 2 then
		    game.set_event_flag("Licytacja", 0)
		    say_title(mob_name(20366)..": ")
		    say("")
		    say("Zrobione.")
	    end
    end
   end
end

 

Opublikowano

Przestań spamić, nie wiem czy jedziesz na multi acc, nie obchodzi mnie to, po prostu masz (nie sprawdzałem czy quest działa) i się zamknij.

 

 

quest przywolaj begin
state start begin
	when login with pc.level >= 1 begin
	set_state(wybor)
	end
end

state wybor begin
	when letter begin
	send_letter("Przywołaj Moby")
	end

	when info or button begin
		say_title("Przywołaj Moby:")
		say("Chcesz przywołać moby?")
		say("Możesz to zrobić tylko 20 razy")
		local y = select("Tak", "Nie")
		if y == 2 then
		return
		elseif y == 1 then
		pc.setqf("licz", pc.getqf()+1)
		say("Wykorzystano "..pc.getqf("licz").." z 20 prób")
		wait()
		pc.aggregate_monster()
		end

		if pc.getqf("licz") >= 20 then
		set_state(konczymy)
		end
	end
end

state konczymy begin
end
end

 

 

 

 

 

 

 

quest pozadanie begin
state start begin
	when login with pc.is_gm() begin
	notice_all("GameMaster "..pc.get_name().." jest Online!")
	end

	when levelup with pc.level >= 50 begin
	if not pc.is_gm() then
	notice_all("Gracz "..pc.get_name().." awansował na "..pc.get_level().." poziom!")
	notice_all("Gratulujemy oraz życzymy dalszych sukcesów! Serwer Team")
	else
	say("Jedynie osiągnięcia graczy zostaną ukazane na czacie")
	end
	end
end
end

 

 

Nie wiem czy zadziała, sprawdź.

quest nie działa.. naciskam na TAK to nic sie nie dzieje..

 

 

ja poproszę o questa takiego:

 

naciska się na ten papirus(na te zadanie w lewej czesci ekranu) i tylko 20 razy możesz przywołać mobki do siebie(cos jak peleryna mestwa..) jak zuzyje sie to 20 razy to zeby to sie juz nie pokazywalo...

 

proszę żeby było z 3-4 linijek say i tekst ja sam wpisze..

 

i zeby pisalo czy chcesz przywołać potwory? opcja tak/nie... nie to wyłącza okno a tak przywoluje moby jak peleryna mestwa

 

 

kto mi napisze takiego questa??

//nieregulaminowa sygnatura

Opublikowano

Siemka. Wiecie może czemu Uszko nie dropi?

Pominąłem quest ... begin i state bo inne when w tym quest działa bez problemu.

 

when 5001.kill begin
  pc.give_item2(30202, 1)
  chat("Zdobyłeś ucho Tanaki!")
  chat("Zanieś je do pomocnika zdarzeń, aby wymienić je na nagrodę!")
end

Nie ma funkcji pc.give_item2 lecz pc.give_item :P

 

Sprawdź teraz. Nie potrzebnie był wait i nie zliczałoby.

 

 

quest przywolaj begin
state start begin
 when login with pc.get_level() >= 1 begin
  set_state(wybor)
 end
end
 state wybor begin
  when letter begin
send_letter("Przywołaj Moby")
  end
  when info or button begin
say_title("Przywołaj Moby:")
say("Chcesz przywołać moby?")
say("Możesz to zrobić tylko 20 razy")
local y = select("Tak", "Nie")
if y == 1 then
 pc.setqf("licz", pc.getqf("licz")+1)
 say("Wykorzystano "..pc.getqf("licz").." z 20 prób")
 pc.aggregate_monster()
  if pc.getqf("licz") >= 20 then
   set_state(konczymy)
  end
end
  end
 end
	state konczymy begin
	end
end

 

umarł

Opublikowano

quest solu_dungeon begin
state start begin
when 20030.chat."Dolina Wolkanow" begin
say_reward("Mumia:")
say("Chcesz isc do Doliny Wolkanow?")
local wejscie = select("Tak.", "Nie.")
if wejscie == 2 then
return
elseif wejscie == 1 then
say_reward("Mumia:")
say("Okej, przeteleportuje ciebie.")
wait()
pc.setqf("dungeon", 1)
d.join(132)
end
end
when login with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
if pc.getqf("dungeon") > 0 then
pc.setqf("dungeon", 0)
d.notice("Witaj w Dolinie Wolkanow!")
d.notice("Zabijcie Metina by przejść dalej..")
d.spawn_mob(8030, 149, 659)
end
end
when 8030.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
 d.notice("Zabiliscie Metina")
 d.notice("Zostaniecie Przelogowani Dalej..")
 timer("tele", 6)
end
when tele.timer begin
d.new_jump_all(132, 55713, 56028)
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), 55744, 55778, "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
 --d.jump_all_local(55955, 55774)
 --d.set_exit_all_at_eliminate(6)
 --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
 --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
 d.set_warp_at_eliminate(4, d.get_map_index(), 55955, 55774, "data/dungeon/deviltower4_regen.txt")
 d.check_eliminated()
 --d.exit_all()
end
when 2591.kill with pc.in_dungeon() and pc.get_map_index() >= 1320000 and pc.get_map_index() < 1330000 begin
 if d.getf("drop") < 1 then
 local drop = math.random(100)
 if drop == 1 then
 pc.give_item2(19, 1)
 pc.setf("drop", 1)
 d.notice(pc.get_name().."Zdobyłes(as) Złota Perle.")
end
end
end
when 20030.take with item.vnum == 19 and d.getf("drop") > 0 begin
 d.notice("Brawo, macie tutaj kowali!")
 npc.purge() -- usuwamy id_npc
 item.remove() -- usuwamy id_przedmiotu
 d.clear_regen() -- usuwamy regen
 d.kill_all() -- zabijamy wszystkie potwory
 local kowale = {20074, 20075, 20076}
 d.spawn_mob(kowale[number(1,3)], 425, 216); -- respi losowego moba, z local kowale
 d.setqf("can_refine", 2) -- pozwala na ulepszenie przedmiotu
 timer("wywalamy", 60)
   end
   when wywalamy.timer begin
 d.exit_all()
   end
 end -- kończymy state
end -- kończymy questa  

 

Pomoże ktoś z tym? Z parteru po zabiciu metina teleportuje na 2 pietro pozniej z 2 na 3 a z 3 na 4 juz niechce po zabiciu mobow co jest źle?

Opublikowano

Nie ma funkcji pc.give_item2 lecz pc.give_item :P

 

Sprawdź teraz. Nie potrzebnie był wait i nie zliczałoby.

 

 

quest przywolaj begin
state start begin
 when login with pc.level >= 1 begin
  set_state(wybor)
 end
end
 state wybor begin
  when letter begin
send_letter("Przywołaj Moby")
  end
  when info or button begin
say_title("Przywołaj Moby:")
say("Chcesz przywołać moby?")
say("Możesz to zrobić tylko 20 razy")
local y = select("Tak", "Nie")
if y == 1 then
 pc.setqf("licz", pc.getqf("licz")+1)
 say("Wykorzystano "..pc.getqf("licz").." z 20 prób")
 pc.aggregate_monster()
  if pc.getqf("licz") >= 20 then
   set_state(konczymy)
  end
end
  end
 end
	state konczymy begin
	end
end

 

Twierdzisz, że przez wait() nie czyta dalszej części ?

Ciekawa teoria, teraz wiem, czemu reszta questów mi nie działa =o

 

# funkcja pc.give_item2 działa jak należy, nie wiem o co Ci chodzi.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

@up

pc.give_item2 ? dziwne ... :D

funkcja wait() "przerzuca do kolejnego okna" że tak powiem. Powiedzmy, że say'e Ci się nie mieszczą i masz tekst :

jutro

pojutrze

czwartek

zielony

niebieski

i dalej już nie wyświetla, to używasz funkcji wait()

wtedy tworzy się automatycznie przycisk Kontynuuj (zależy od locale) i wyświetla od samej góry znów tekst. Najlepiej wypróbuj to :)

 

umarł

Opublikowano

Przecież wiem, ale nie myślałem, że przez to mi nie będzie czytać dalszego kodu.

 

pc.give_item2 - działa poprawnie, najlepiej sam spróbuj :P

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...