Hatt jemand eine quest zu teleptieren das man von 1 npc auf 3 maps sich porten kann & wen man auf eine der neuen map will braucht man ein blutstein ?
Quote:
Hatt jemand eine quest zu teleptieren das man von 1 npc auf 3 maps sich porten kann & wen man auf eine der neuen map will braucht man ein blutstein ?
quest teleport_map begin
state start begin
when VNUM.chat."Teleportieren" begin
local item_need = VNUM
local warps = {
{"1. Name","2.Name","3.Name"},
{Koordis 1, Koordis 2, Koordis 3}
}
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Wohin möchtest du Teleportiert werden?")
say()
say_reward("Du benötigst 1. Blustein!")
say()
local wahl = warps; table.insert(wahl,"Abbrechen")
table.insert(wahl,1,5)
local auswahl = select2(wahl)
if wahl[auswahl] == "Abbrechen" then return end
if pc.count_item(item_need) <= 1 then
ay_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Du fehlt das Item!")
say()
end
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Du wirst nun Teleportiert!")
say()
pc.warp(warps[2][auswahl])
end
end
end
quest dragon_attack begin
state start begin
when 8031.kill with pc.get_map_index() == 96 begin
timer("get_next", 5)
end
when get_next.timer begin
d.clear_regen()
d.new_jump_all(96, 3498900+120,3498900+616)
d.new_jump_all(96, 34989+120,34989+616)
d.regen_file("data/dungeon/dragon/dragon1.txt")
d.setf("monster1", 55)
end
when 2235.kill with pc.in_dungeon() and d.getf("monster1") > 0 begin
d.setf("monster1", d.getf("monster1") - 1)
if d.getf("monster1") == 0 then
d.notice("Es sind Metinsteine erschienen.")
d.notice("Zerstört sie!")
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon_metin1.txt")
d.setf("metins1", 2)
end
end
when 11507.kill with pc.in_dungeon() and d.getf("metins1") > 0 begin
d.setf("metins1", d.getf("metins1") - 1)
if d.getf("metins1") == 0 then
d.notice("Ihr habt alle Metinsteine zerstört.!")
d.notice("Geht nun weiter. Aber habt acht!")
d.notice("Auf dem Weg werden noch mehr dieser Monster lauern.")
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon2.txt")
d.setf("monster2", 100)
end
end
when 2235.kill with pc.in_dungeon() and d.getf("monster2") > 0 begin
d.setf("monster2", d.getf("monster2") - 1)
if d.getf("monster2") == 0 then
d.notice("Der Flammenkönig ist an der kaputten Brücke erschienen.")
d.notice("Wie es scheint hat er damit etwas zu tun,")
d.notice("die Brücken kaputt sind! Erledigt ihn!")
d.spawn_mob(2206, 266, 523)
end
end
when 2206.kill with pc.in_dungeon() begin
d.notice("Gut gemacht. Aber wie es scheint ist nicht nur er")
d.notice("an dem Schuld was hier passiert. Sucht weiter nach der Ursache!")
d.setf("flammenkoenig", 0)
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon3.txt")
d.setf("monster3", 115)
end
when 2235.kill with pc.in_dungeon() and d.getf("monster3") > 0 begin
d.setf("monster3", d.getf("monster3") - 1)
if d.getf("monster3") == 0 then
d.notice("Am Ende des Weges ist etwas !")
d.notice("Schaut nach was da los ist!")
d.clear_regen()
d.spawn_mob(2207, 339, 278)
d.setf("flammenkoenig2", 1)
end
end
when 2207.kill with pc.in_dungeon() and d.getf("flammenkoenig2") == 1 begin
d.notice("2 Flammenkönige!?")
d.notice("Hier stimmt definitiv etwas nicht.")
d.notice("Jedoch haben wir bei diesem einige Informationen")
d.notice("Über ein weiteres Gebiet bekommen.")
d.notice("Dort sollen noch stärkere Gegner sein.")
d.notice("Also macht euch bereit in 20 Sekunden bringe ich euch")
d.notice("dorthin. Viel Glück!")
d.setf("flammenkoenig2", 0)
timer("get_next2", 20)
end
when get_next2.timer begin
d.clear_regen()
d.new_jump_all(92, 15000000+32,15000000+234)
d.new_jump_all(92, 150000+32,150000+234)
d.regen_file("data/dungeon/dragon/dragon4.txt")
d.setf("monster4", 30)
end
when 2404.kill with pc.in_dungeon() and d.getf("monster4") > 0 begin
d.setf("monster4", d.getf("monster4") - 1)
if d.getf("monster4") == 0 then
d.kill_all()
d.notice("Seitwann stecken die Setaou mit den Flammenwesen")
d.notice("unter einer Decke?")
d.notice("Es sind wütende Schreie zu höhren.")
d.notice("sucht die Ursache dafür!")
d.spawn_mob(2491, 74, 117)
d.setf("general1", 1)
end
end
when 2491.kill with pc.in_dungeon() and d.getf("general1") == 1 begin
d.notice("Sogar die Hauptmänner drehen total durch.")
d.notice("Was ist nur mit ihnen los?")
d.notice("Hier muss wirklich etwas faul sein!")
d.notice("Es sind schon wieder eine Menge Setaou erschienen!")
d.notice("Also gebt euer Bestes!")
d.setf("general1", 0)
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon4.txt")
d.setf("monster5", 30)
end
when 2404.kill with pc.in_dungeon() and d.getf("monster5") > 0 begin
d.setf("monster5", d.getf("monster5") - 1)
if d.getf("monster5") == 0 then
d.kill_all()
d.notice("Wieder diese Schreie !?")
d.notice("Sucht wieder einmal danach!")
d.spawn_mob(2494, 74, 22)
d.setf("general2", 1)
end
end
when 2494.kill with pc.in_dungeon() and d.getf("general2") == 1 begin
d.notice("Das kann so nicht weitergehen.")
d.notice("Was ist nur mit ihnen los?")
d.notice("Der Hauptmann sagte etwas von einem Drachen!?")
d.notice("Ihr müsst nach einem Drachen suchen!")
d.notice("Viel Glück!")
d.setf("general2", 0)
d.clear_regen()
d.setf("drache1", 1)
d.spawn_mob(2291, 212, 71)
end
when 2291.kill with pc.in_dungeon() and d.getf("drache1") == 1 begin
d.notice("Ihr habt es geschafft den Drachen zu bezwingen.")
d.notice("Aber es ist noch nicht zuende!")
d.notice("Es gibt noch einen Weiteren Drachen.")
d.notice("In einer Minute werd ich euch dorthin bringen!")
d.notice("Viel Glück!")
d.setf("drache1", 0)
d.clear_regen()
timer("get_next3", 60)
end
when get_next3.timer begin
d.clear_regen()
d.new_jump_all(94, 76000000+205,76000000+125)
d.new_jump_all(94, 760000+205,760000+125)
d.spawn_mob(204, 126, 70)
d.setf("drache2", 1)
end
when 2700.kill with pc.in_dungeon() and d.getf("drache2") == 1 begin
d.notice("Ihr habt es geschafft beide Drachen zu bezwingen.")
d.notice("Ihr seid erstklassig!")
d.notice("Die Schätze der Drachen sollten Lohn genug sein!")
d.setf("drache2", 0)
notice_all("".. pc.get_name() .." hat die Dracheninvasion gemeistert!")
timer("exit", 30)
end
when exit.timer begin
warp_all_to_village( pc.get_map_index() , 1 )
end
end
end
Gehört eigentlich in die Questkontrolle.Quote:
Nachdem der Flammenkönig (2206) gekillt worden ist, passiert nichts... oder müssen die anderen Monster davor gekillt werden? Erst King dann die Monster.. schon versucht, klappt nicht.PHP Code:quest dragon_attack begin
state start begin
when 8031.kill with pc.get_map_index() == 96 begin
timer("get_next", 5)
end
when get_next.timer begin
d.clear_regen()
d.new_jump_all(96, 3498900+120,3498900+616)
d.new_jump_all(96, 34989+120,34989+616)
d.regen_file("data/dungeon/dragon/dragon1.txt")
d.setf("monster1", 55)
end
when 2235.kill with pc.in_dungeon() and d.getf("monster1") > 0 begin
d.setf("monster1", d.getf("monster1") - 1)
if d.getf("monster1") == 0 then
d.notice("Es sind Metinsteine erschienen.")
d.notice("Zerstört sie!")
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon_metin1.txt")
d.setf("metins1", 2)
end
end
when 11507.kill with pc.in_dungeon() and d.getf("metins1") > 0 begin
d.setf("metins1", d.getf("metins1") - 1)
if d.getf("metins1") == 0 then
d.notice("Ihr habt alle Metinsteine zerstört.!")
d.notice("Geht nun weiter. Aber habt acht!")
d.notice("Auf dem Weg werden noch mehr dieser Monster lauern.")
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon2.txt")
d.setf("monster2", 100)
end
end
when 2235.kill with pc.in_dungeon() and d.getf("monster2") > 0 begin
d.setf("monster2", d.getf("monster2") - 1)
if d.getf("monster2") == 0 then
d.notice("Der Flammenkönig ist an der kaputten Brücke erschienen.")
d.notice("Wie es scheint hat er damit etwas zu tun,")
d.notice("die Brücken kaputt sind! Erledigt ihn!")
d.spawn_mob(2206, 266, 523)
end
end
when 2206.kill with pc.in_dungeon() begin
d.notice("Gut gemacht. Aber wie es scheint ist nicht nur er")
d.notice("an dem Schuld was hier passiert. Sucht weiter nach der Ursache!")
d.setf("flammenkoenig", 0)
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon3.txt")
d.setf("monster3", 115)
end
when 2235.kill with pc.in_dungeon() and d.getf("monster3") > 0 begin
d.setf("monster3", d.getf("monster3") - 1)
if d.getf("monster3") == 0 then
d.notice("Am Ende des Weges ist etwas !")
d.notice("Schaut nach was da los ist!")
d.clear_regen()
d.spawn_mob(2207, 339, 278)
d.setf("flammenkoenig2", 1)
end
end
when 2207.kill with pc.in_dungeon() and d.getf("flammenkoenig2") == 1 begin
d.notice("2 Flammenkönige!?")
d.notice("Hier stimmt definitiv etwas nicht.")
d.notice("Jedoch haben wir bei diesem einige Informationen")
d.notice("Über ein weiteres Gebiet bekommen.")
d.notice("Dort sollen noch stärkere Gegner sein.")
d.notice("Also macht euch bereit in 20 Sekunden bringe ich euch")
d.notice("dorthin. Viel Glück!")
d.setf("flammenkoenig2", 0)
timer("get_next2", 20)
end
when get_next2.timer begin
d.clear_regen()
d.new_jump_all(92, 15000000+32,15000000+234)
d.new_jump_all(92, 150000+32,150000+234)
d.regen_file("data/dungeon/dragon/dragon4.txt")
d.setf("monster4", 30)
end
when 2404.kill with pc.in_dungeon() and d.getf("monster4") > 0 begin
d.setf("monster4", d.getf("monster4") - 1)
if d.getf("monster4") == 0 then
d.kill_all()
d.notice("Seitwann stecken die Setaou mit den Flammenwesen")
d.notice("unter einer Decke?")
d.notice("Es sind wütende Schreie zu höhren.")
d.notice("sucht die Ursache dafür!")
d.spawn_mob(2491, 74, 117)
d.setf("general1", 1)
end
end
when 2491.kill with pc.in_dungeon() and d.getf("general1") == 1 begin
d.notice("Sogar die Hauptmänner drehen total durch.")
d.notice("Was ist nur mit ihnen los?")
d.notice("Hier muss wirklich etwas faul sein!")
d.notice("Es sind schon wieder eine Menge Setaou erschienen!")
d.notice("Also gebt euer Bestes!")
d.setf("general1", 0)
d.clear_regen()
d.regen_file("data/dungeon/dragon/dragon4.txt")
d.setf("monster5", 30)
end
when 2404.kill with pc.in_dungeon() and d.getf("monster5") > 0 begin
d.setf("monster5", d.getf("monster5") - 1)
if d.getf("monster5") == 0 then
d.kill_all()
d.notice("Wieder diese Schreie !?")
d.notice("Sucht wieder einmal danach!")
d.spawn_mob(2494, 74, 22)
d.setf("general2", 1)
end
end
when 2494.kill with pc.in_dungeon() and d.getf("general2") == 1 begin
d.notice("Das kann so nicht weitergehen.")
d.notice("Was ist nur mit ihnen los?")
d.notice("Der Hauptmann sagte etwas von einem Drachen!?")
d.notice("Ihr müsst nach einem Drachen suchen!")
d.notice("Viel Glück!")
d.setf("general2", 0)
d.clear_regen()
d.setf("drache1", 1)
d.spawn_mob(2291, 212, 71)
end
when 2291.kill with pc.in_dungeon() and d.getf("drache1") == 1 begin
d.notice("Ihr habt es geschafft den Drachen zu bezwingen.")
d.notice("Aber es ist noch nicht zuende!")
d.notice("Es gibt noch einen Weiteren Drachen.")
d.notice("In einer Minute werd ich euch dorthin bringen!")
d.notice("Viel Glück!")
d.setf("drache1", 0)
d.clear_regen()
timer("get_next3", 60)
end
when get_next3.timer begin
d.clear_regen()
d.new_jump_all(94, 76000000+205,76000000+125)
d.new_jump_all(94, 760000+205,760000+125)
d.spawn_mob(204, 126, 70)
d.setf("drache2", 1)
end
when 2700.kill with pc.in_dungeon() and d.getf("drache2") == 1 begin
d.notice("Ihr habt es geschafft beide Drachen zu bezwingen.")
d.notice("Ihr seid erstklassig!")
d.notice("Die Schätze der Drachen sollten Lohn genug sein!")
d.setf("drache2", 0)
notice_all("".. pc.get_name() .." hat die Dracheninvasion gemeistert!")
timer("exit", 30)
end
when exit.timer begin
warp_all_to_village( pc.get_map_index() , 1 )
end
end
end
Bitte um Hilfe, gibt e*g als Belohnung! :)
when kill begin
if npc.get_race() == Vnum then
Hay, danke dir schonmal :)Quote:
Gehört eigentlich in die Questkontrolle.
Benutzt du eine Achievement Quest oder andere Quests die when kill beinhalten?
Denn when kill blockiert alle anderen when kill Quests mit dem Selben npc.
Deswegen würde ich dir empfehlen es so zu schreiben:
Diese Methode blockiert keine anderen Kill Quests.PHP Code:when kill begin
if npc.get_race() == Vnum then
when 2206.kill with pc.in_dungeon() begin
when kill with npc.get_race() == 8027 begin
quest Flammenrun begin
state start begin
when login or levelup with pc.level >=80 begin
set_state(zone_enter)
end
end
state zone_enter begin
when 20381.chat."Ich will den Flammenrun!" begin
say("")
say(""..mob_name(20381).."")
say("Du benötigst einen Diamantschlüssel")
say("um in den Flammenrun zu gelangen!")
say("Diesen bekommt ihr von dem Setou Hauptmann")
say("Im Flammenrun haust der berüchtigte")
say("Zin-Drache! Er ist der Gefährlichste")
say("Mob in ganz Metin2! Willst du immernoch")
say("in den Flammenrun?")
say("")
say_reward("Hast du einen Diamantschlüssel?")
wait()
say("")
say("")
if pc.get_level() <= 80 then
say_title("Geist eines Suras:")
say("Haha dich Wicht werde ich nicht in den")
say("Flammenrun lassen!! Lvl erstmal auf Lv 80")
say("dann reden wir weiter.")
say("")
say_reward("Du benötigst mindestens Lv 80 um in den")
say_reward("Flammenrun zu gelangen!")
return
end
if pc.count_item(50156)>0 then
say("")
say(""..mob_name(20381).."")
say("Ich bringe dich nun in den Flammenrun")
say("")
pc.remove_item(50156)
elseif pc.count_item(50156) >0 then
say("")
say(""..mob_name(20381).."")
say("Du besitzt einen Diamantschlüssel!!")
say("")
else
say("")
say(""..mob_name(20381).."")
say("Du bist nicht im Besitz eines Diamantschlüssels!")
say("Ohne einen kannst du den Flammenrun nicht erreichen")
say_red("Diesen bekommst du von der Großen Eishexe.")
return
end
say("Du wirst nun teleportiert!")
say("Aber sei vorsichtig!")
wait()
notice_all("Der Spieler ".. pc.get_name() .." & seine Gruppe versucht den Flammen-Run zu meistern, viel Glück!");
pc.warp(3510900,3560500)
end
end
end
quest truhe begin
state start begin
when 70009.use begin
say_title("Königstruhe")
say("Du hast die Truhe der Königsrüstung erhalten")
say("Nun bekommst du deine Rüstung!")
local klasse = { 11971, 11972, 11973, 11974 }
pc.give_item2(klasse[pc.get_job()], 1)
end
end
end
geht nicht irgendwie, bekomme das item nicht !!!Quote:
PHP Code:quest truhe begin
state start begin
when 70009.use begin
say_title("Königstruhe")
say("Du hast die Truhe der Königsrüstung erhalten")
say("Nun bekommst du deine Rüstung!")
local klasse = { 11971, 11972, 11973, 11974 }
pc.give_item2(klasse[pc.get_job()], 1)
end
end
end
pc.remove_item(70009, 1)
pc.give_item2(klasse[pc.get_job()], 1)
quest truhe begin
state start begin
when 70009.use begin
say_title("Königstruhe")
say("Du hast die Truhe der Königsrüstung erhalten")
say("Nun bekommst du deine Rüstung!")
local klasse = { 11971, 11972, 11973, 11974 }
pc.give_item2(klasse[pc.get_job()], 1)
pc.remove_item(70009, 1)
end
end
end
Danke auch für deine Hilfe,Quote:
Steht im Chat "Du hast nichts erhalten."? Wenn ja, musst du noch den Type des Items 70009 auf 18 stellen.
Um zu erreichen, dass das Item verschwindet, musst du nochnachCode:pc.remove_item(70009, 1)anhängen.Code:pc.give_item2(klasse[pc.get_job()], 1)
Die fertige Quest würde dann so aussehen:MfGPHP Code:quest truhe begin
state start begin
when 70009.use begin
say_title("Königstruhe")
say("Du hast die Truhe der Königsrüstung erhalten")
say("Nun bekommst du deine Rüstung!")
local klasse = { 11971, 11972, 11973, 11974 }
pc.give_item2(klasse[pc.get_job()], 1)
pc.remove_item(70009, 1)
end
end
end