PHP Code:
quest flamenrun begin
state start begin
when 20373.chat."Flammenrun" with pc.get_level() < 90 begin
say_title("Wächter des Flammenruns:")
say("Du kannst den Flammenrun nur betreten")
say("wenn du Level 90 bist.")
say_reward("Komm zurück wenn du level 90 erreicht hast.")
end
when 20373.chat."In den Flammenrun" with pc.get_level() >= 90 begin
say_title("Wächter des Flammenruns:")
say("")
say("Willst du den Flammenrun betreten?")
say("")
local s = select("Ja, ich möchte", "Nein, möchte ich nicht")
if s == 1 then
pc.warp(777327, 668731)
elseif s == 2 then
return
end
end
when 20091.chat."Flammenrun starten" begin
say_title("Flammenrun Starten")
say("Dein Team und du seid bereit")
say("für einen langen Kampf?")
say("Wenns so ist, dann lasst uns starten!")
say_reward("Es kostet den Gruppenleiter 500 Rangpunkte!")
say("Fangt an, indem Ihr alle Monster im Norden tötet.")
local a =select("Ja wir sind bereit","Nein wir sind noch nicht bereit")
if a == 2 then
return
elseif a == 1 then
if not party.is_party() then
say("Du musst dich in einer Gruppe befinden")
say("um inden Falmmenrun zu kommen.")
return
elseif not party.is_leader() then
say("Es kann nur der Gruppenleader")
say("den run starten.")
say("")
return
end
if pc.get_alignment() >= 500 then
pc.change_alignment(-500)
d.new_jump_party(238, 7779, 6636)
d.setf("flammenrun", 1)
d.setf("killf1", 0)
d.regen_file("data/dungeon/flamerun/regen1.txt")
elseif pc.get_alignment() < 500 then
say("Du hast nicht genügend Rangpunkte")
return
end
end
end
when kill with d.getf("flammenrun") == 1 begin
if d.getf("killf1") <= 170 then -- 170
d.setf("killf1", d.getf("killf1") + 1)
elseif d.getf("killf1") >= 170 then -- 170
d.kill_all()
d.clear_regen()
d.setf("flammenrun", 2)
d.spawn_mob(8023, 513, 487)
d.set_regen_file("data/dungeon/flamerun/regen2.txt")
d.notice("1. Aufgabe geschafft!")
d.notice("Findet nun eure 2. Aufgabe")
end
end
when kill with npc.get_race() == 8023 and d.getf("flammenrun") == 2 begin
d.kill_all()
d.clear_regen()
d.notice("Der Kaiserfelsen wurde zerstört")
d.notice("Die 3. Aufgabe wartet nun auf euch")
d.setf("flammenrun", 3)
d.setf("killf2", 0)
d.set_regen_file("data/dungeon/flamerun/regen3.txt")
end
when kill with npc.get_race() == 6051 and d.getf("flammenrun") == 3 begin
if d.getf("killf2") <= 9 then
d.setf("killf2", d.getf("killf2") + 1)
d.notice("Ihr habt einen Boss gekillt.")
d.notice("Ihr habt bereits "..d.getf("killf2").." getötet")
elseif d.getf("killf2") == 10 then
d.kill_all()
d.clear_regen()
d.notice("Ihr habt alle Boss gekillt.")
d.notice("Tötet nun 130 Monster im anderen Raum")
d.setf("flammenrun", 4)
d.getf("killf3", 0)
d.set_regen_file("data/dungeon/flamerun/regen4.txt")
end
end
when kill with d.getf("flammenrun") == 4 begin
if d.getf("killf3") <= 135 then
d.setf("killf3", d.getf("killf3") + 1)
elseif d.getf("killf3") == 136 then
d.kill_all()
d.clear_regen()
d.notice("Aufgabe gemeistert!")
d.notice("Die Aufgabe mit den Säulen wartet auf euch")
d.setf("flammenrun", 5)
d.setf("flammenseulen", 6)
d.set_regen_file("data/dungeon/flamerun/regen5.txt")
d.spawn_mob(20386, 488, 353)
d.spawn_mob(20386, 524, 350)
d.spawn_mob(20386, 513, 337)
d.spawn_mob(20386, 492, 338)
d.spawn_mob(20386, 496, 363)
d.spawn_mob(20386, 513, 363)
end
end
when kill with d.getf("flammenrun") == 5 begin
if number(1, 100) <= 3 then
game.drop_item(50084, 1)
end
end
when 20386.take with item.vnum == 50084 and d.getf("flammenrun") == 5 begin
if d.getf("flammenseulen") > 1 then
if number(1, 100) <= 20 then
npc.purge()
item.remove()
d.setf("flammenseulen", d.getf("flammenseulen") - 1)
say("Es hat funktioniert")
elseif number(1, 100) > 50 then
say("Etwas ging schief.. Versuche es erneut")
item.remove()
return
end
elseif d.getf("flammenseulen") == 1 then
if number(1, 100) <= 50 then
npc.purge()
item.remove()
d.kill_all()
d.clear_regen()
d.setf("flammenseulen", d.getf("flammenseulen") - 1)
say("Es hat funktioniert, die letzte Säule wurde entfernt")
say("Gibt jetzt bloß nicht auf. Ihr habts fast geschafft")
d.notice("Die letzte Säule wurde entfernt")
d.notice("Geht nun nach Westen")
d.setf("flammenrun", 6)
d.set_regen_file("data/dungeon/flamerun/regen6.txt")
d.spawn_mob(20386, 194, 354)
local _count = pc.count_item(50084)
pc.remove_item(50084,_count)
elseif number(1, 100) > 50 then
say("Etwas ging schief.. Versuche es erneut")
item.remove()
return
end
end
end
when kill with d.getf("flammenrun") == 6 begin
if number(1, 100) <= 3 then
game.drop_item(50084, 1)
end
end
when 20386.take with item.vnum == 50084 and d.getf("flammenrun") == 6 begin
if number(1, 100) <= 5 then
npc.purge()
item.remove()
d.kill_all()
d.clear_regen()
say("Der Stein hat funktioniert")
say("Gibt jetzt bloß nicht auf. Ihr habts fast geschafft")
d.notice("Ihr habt es geschafft")
d.notice("Ihr werdet in 10 Sekunden zur Kammer")
d.notice("von Razador hineingebracht")
d.spawn_mob(6091, 685, 603)
d.set_regen_file("data/dungeon/flamerun/regen7.txt")
d.setf("flammenrun", 7)
local _count = pc.count_item(50084)
pc.remove_item(50084,_count)
timer("flame_boss", 10)
elseif number(1, 100) > 6 then
say("Etwas ging schief.. Versuche es erneut")
item.remove()
return
end
end
when flame_boss.timer begin
d.jump_all(8110, 6859)
end
when kill with npc.get_race() == 6091 and d.getf("flammenrun") == 7 begin
d.kill_all()
d.clear_regen()
notice_all("Das Team von "..pc.get_name().." hat den Flammenrun gemeistert")
d.notice("Ihr habt den Flammenrun geschafft")
d.notice("In 20 Sekunden werdet Ihr raus gebracht")
timer("flame_exit", 20)
end
when flame_exit.timer begin
d.exit_all_to_start_position()
end
end
end
Mein Problem ist, dass wenn man sich ausloggt oder einen Kick bekommt und man wieder einloggt, man immernoch im Dungeon ist.
Also auf dem Dungeonmapindex z.B 238000, wobei das ja nicht sein darf.
Z.B wit im DT
Jemand eine Lösung?