PHP Code:
quest z_run begin
state start begin
when login with pc.get_map_index() >= 2210000 and pc.get_map_index() < 2260000 begin
pc.set_warp_location(65, 5376+532, 512+596+4)
end
when 20351.chat."Der Z-Run" begin --NPC zum Starten
if not pc.can_warp() then
return Say "Du kannst noch nicht warpen!"
end
say_title(mob_name(20351)) --NPC zum Starten
say("Hallo Abenteurer,")
say("ich habe längst verlassene Gänge und")
say("Schluchten entdeckt, wo Ungeheuer ihr")
say("unwesen treiben. Nur die stärksten")
say("Krieger halten denen Stand!")
if pc.count_item(30179) == 0 then
say("Du benötigst einen Z-Key um passieren zu können.")
say_item_vnum(30179)
return
end
say("Soll ich dich dahin bringen?")
local s=select("Ja", "Nein")
if s==2 then return end
if pc.count_item(30179) > 0 then
pc.remove_item(30179, 1)
pc.warp(900300, 902700)
end
end
when login with pc.get_map_index() == 221 begin
say("Die Brücke ist kaputt gegangen.")
say("Jetzt gibt es kein zurück mehr!")
say("")
say("Zerstöre den Metin!")
end
when 8021.kill with pc.get_map_index() == 221 begin
timer("z_run_warp1", 5)
end
when z_run_warp1.timer begin
d.new_jump_all(222, 11166, 11448)
d.setf("floor", 1)
local posis = {
{164, 286},
{282, 284},
{424, 284},
{577, 278},
{723, 352},
{741, 548},
{771, 546}
}
for i=1, 7 do
d.spawn_mob(8022, posis[i][1], posis[i][2])
end
d.setf("metins", 7)
end
when 8022.kill with pc.in_dungeon() begin
d.setf("metins", d.getf("metins") - 1)
if d.getf("metins") == 0 then
d.setf("floor", 2)
d.notice("Ihr habt alle Metine zerstört!")
d.notice("Macht euch für Angriffswellen der Monster bereit")
timer("z_run_warp2", 5)
else
d.notice("Es verbleiben "..d.getf("metins").." Metine")
if d.getf("metins") >= 2 then
timer("next_metin", 3)
end
end
end
when next_metin.timer begin
local posis = {
{11857, 11583},
{11659, 11378},
{11808, 11449},
{11514, 11381},
{11373, 11387}
}
local t = d.getf("metins") -1
d.jump_all(posis[t][1], posis[t][2])
end
when z_run_warp2.timer begin
d.jump_all(11289, 12058)
d.setf("wave", 1)
say("Töte alle Monster!")
say("Achtung es sind 10 Wellen!")
say("")
say("Hier wird es schon sehr schwer.")
say("Alleine wirst du es kaum schaffen.")
say("")
say("Viel Erfolg!")
timer("z_run_wait", 10)
end
when kill with d.getf("floor") == 2 and not npc.is_pc() begin
d.setf("mobs", d.getf("mobs") + 1)
if d.getf("mobs") >= 150 then --Anzahl der Mobs pro Welle 5
if d.getf("wave") < 10 then
d.setf("wave", d.getf("wave") + 1)
d.setf("mobs", 0)
timer("z_run_wait", 2)
d.notice("Bereitet euch auf Welle "..d.getf("wave").." vor!")
else
d.notice("Ihr habt alle zehn Angriffswellen erfolgreich abgewehrt!")
timer("z_run_warp3", 5)
end
end
end
when z_run_wait.timer begin
d.regen_file("data/dungeon/z_run/wave"..d.getf("wave")..".txt")
end
when z_run_warp3.timer begin
say("Töte 50 Monster für einen Siegel.")
say("Du benötigst 3 Siegel...")
say("Benutz den Siegel um einen Schalter zu aktivieren")
d.new_jump_all(225, 16800, 17076)
d.setf("floor", 3)
d.regen_file("data/dungeon/z_run/regen.txt")
end
when kill with d.getf("floor") == 3 and not npc.is_pc() begin
d.setf("schalter_kills", d.getf("schalter_kills") + 1)
if d.getf("schalter_kills") >= 150 then --Ein drittel der Anzahl der Mobs aus regen.txt
game.drop_item_with_ownership(70045, 1)
d.setf("schalter_kills", 0)
end
end
when 70045.use begin
d.setf("schalter", d.getf("schalter") + 1)
if d.getf("schalter") == 3 then
d.notice("Ihr habt alle drei Schalter aktiviert!")
d.notice("Als nächstes müsst ihr alle vier Elementare bezwingen")
timer("z_run_warp4", 5)
else
d.notice("Der "..d.getf("schalter")..". Schalter wurde aktiviert!")
end
item.remove()
end
when z_run_warp4.timer begin
d.new_jump_all(223, 12440, 12485)
say("Jetzt wird es richtig schwierig!")
say("Hast du einen Buff-Schamane dabei?")
say("Nein? Dann wird es problematisch.")
say("Das Monster ist unsichtbar?!")
say("Benutz einfach einen Tapferkeitsumhang!")
d.setf("floor", 4)
d.spawn_mob(1901, 256, 256)
--d.regen_file("data/dungeon/z_run/feuer.txt")
end
when kill with npc.get_race() == 1901 begin
game.drop_item_with_ownership(50077, 1)
timer("jump1", 15)
end
when jump1.timer begin
d.jump_all(12497, 13027)
d.spawn_mob(1307, 256, 775)
--d.regen_file("data/dungeon/z_run/eis.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 1307 begin
game.drop_item_with_ownership(50078, 3)
timer("jump2", 15)
end
when jump2.timer begin
d.new_jump_all(224, 14662, 14700)
d.spawn_mob(2092, 256, 256)
--d.regen_file("data/dungeon/z_run/erde.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 2092 begin
game.drop_item_with_ownership(50073, 1)
timer("jump3", 15)
end
when jump3.timer begin
d.jump_all(14719, 15249)
d.spawn_mob(8000, 256, 775)
--d.regen_file("data/dungeon/z_run/wuste.txt")
end
when kill with pc.in_dungeon() and npc.get_race() == 8000 begin
game.drop_item_with_ownership(50071, 1)
d.notice("Alle vier Elementarmonster wurden bezwungen!")
d.notice("Drücke nun die drei Siegel ein, um Monster zu beschwören.")
timer("z_run_warp5", 15)
end
when z_run_warp5.timer begin
d.new_jump_all(225, 16747, 17943)
d.setf("warpen", 1)
d.setf("floor", 5)
local posis = {
{385, 1272},
{396, 1279},
{383, 1286}
}
for i=1, 3 do
d.spawn_mob(20073, posis[i][1], posis[i][2])
end
end
when 20073.click with d.getf("online") == 0 begin
d.setf("kills", 0)
npc.purge()
d.setf("click", d.getf("click") + 1)
d.regen_file("data/dungeon/z_run/regen"..d.getf("click")..".txt")
if d.getf("click") == 3 then
d.setf("online", 1)
d.spawn_mob(2291, 335, 1275) --Bossmob, letzter raum
d.notice("Achtung der Rote Drache wurde gespawnt!")
end
end
when kill with not npc.is_pc() and d.getf("floor") == 80 begin
d.setf("kills", d.getf("kills") + 1)
if d.getf("kills") == 80 then -- Monsteranzahl
d.setf("online", 0)
end
end
when 2291.kill with pc.in_dungeon() begin --Bossmob, letzter raum
game.drop_item_with_ownership(50080, 1)
game.drop_item_with_ownership(50080, 1)
d.notice("Ihr habt den Roten Drachen besiegt und somit den Z-Run gerettet!")
notice_all(" "..pc.get_name().." hatt den Z-Run gemeistert, gratulation!")
warp_all_to_village(pc.get_map_index(), 30)
end
end
end