PHP Code:
quest devilscave begin
state start begin
when logout with pc.in_dungeon() begin
pc.remove_item(30311, pc.count_item(30311))
pc.remove_item(30312, pc.count_item(30312))
pc.remove_item(30313, pc.count_item(30313))
warp_all_to_village( pc.get_map_index() , 5 )
end
when 20351.chat."In die Teufelshöhle" begin
if pc.get_level() < 75 then
say_title("Wächter der Katakombe")
say("")
say("Der Zugang wird dir verweigert. Deine Erfahrung")
say("reicht noch nicht aus, um in der")
say("Devil's Catacomb zu überleben. Komm zurrück,")
say("wenn du mindestens Level 75 erreicht hast.")
say("")
else
if not next_time_is_now() then
say_title(mob_name(npc.get_race()) ..":")
say("Du musst noch "..next_time_minutes().." warten ...")
else
if pc.getf("dt_boss_killed") == 0 then
--say_title("Wächter der Katakombe")
--say("")
--say("Du bist noch nicht stark genug ...")
--say("Beweis dich erst im Dämonenturm,")
--say("ansonsten hast du wahrscheinlich")
--say("keine Chance ...")
--say("")
--say("Geh nun ...")
return
else
say_title("Wächter der Katakombe")
say("")
say("Bisher haben es "..game.get_event_flag("dcgamer").." Soldaten versucht ")
say("und "..game.get_event_flag("dc_geschaft").." Gruppe von Tapfenen")
say("Kriegern hat es tatsächlich geschaft")
say("Azrael zu besiegen!")
wait()
say_title("Wächter der Katakombe")
say("")
say_reward("Willst du es versuchen?")
say_reward("du wärst der "..game.get_event_flag("dc_versuche")..". Kämpfer der es")
say_reward("versucht!")
say("")
pc.setqf("Ebene", 1)
local dc_login = select("Betreten", "Nicht Betreten.")
if dc_login == 1 then
pc.warp(415200, 4209200)
elseif dc_login == 2 then
return
end
end
end
end
end
--Ebene 1
when login with pc.get_map_index() == 209 begin
game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)
if pc.getqf("Ebene") == 1 then
say_title("Devils Catacomb")
say("Um in die 2.Ebene zu kommen, musst du")
say_item("Seelenkristall-Schlüssel", 30311, "") --Die "--" vor say_item entfernen wenn beim Login text das Item als Bild angezeigt werden soll das man braucht
say("auf die Statue des Kud ziehen!")
say("Du erhälst ihn bei den Monstern.")
say("Ihr habt ingesamt 90 Minuten Zeit!")
say("")
say_reward("Viel Glück!")
say("")
timer("dc10", 600)
pc.setqf("sksgedroppt", 0)
else
warp_all_to_village()
end
end
when kill with not npc.is_pc() and pc.get_map_index() == 209 begin
local sks = number(1,15)
if sks==1 and pc.getqf("sksgedroppt")==0 then
pc.setqf("sksgedroppt", 1)
chat("Du hast den Seelenkristall-Schlüssel gefunden!")
game.drop_item(30311, 1)
else
chat("Dieses Monster hatte keinen Schlüssel.")
end
end
when 30101.take with item.vnum == 30311 begin
say("Das Eingangsportal wurde geöffnet.")
say("Geh schnell hindurch!")
wait()
say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
pc.remove_item("30311")
d.new_jump_all(209, 4632, 42082)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_unten.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
d.setf("Ebene", 2)
end
when login with pc.in_dungeon() begin
if d.getf("Ebene") == 2 then
say("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
say("zu erreichen!")
say("Du hast noch 60 Minute(n) Zeit.")
timer("dc1", 600)
end
if d.getf("Ebene") == 3 then
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
timer("dc2", 1200)
end
if d.getf("Ebene") == 4 then
d.notice("Findet den Weg aus dem Labyrinth.")
d.notice("Und findet die Inschrift am Runenpfahl.")
d.notice("Ihr habt 15 Minuten Zeit.")
timer("dc3", 900)
d.spawn_mob(30104, 500, 800)
d.regen_file("data/dungeon/devilcave/dc_warps.txt")
end
if d.getf("Ebene") == 5 then
d.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
timer("dc4", 900)
end
if d.getf("Ebene") == 6 then
d.notice("Besiege Charon und seine schergen!")
timer("dc5", 900)
end
if d.getf("Ebene") == 7 then
d.notice("Besiege Azrael!")
timer("dc6", 900)
end
end
when dc1.timer begin
chat("Die Zeit ist Abgelaufen!")
d.exit_all()
end
when dc10.timer begin
chat("Ihr habt noch 80 Minuten Zeit, Azrael zu finden und zu töten!")
timer("dc20", 600)
end
when dc20.timer begin
chat("Ihr habt noch 70 Minuten zeit!")
timer("dc30", 600)
end
when dc30.timer begin
chat("Ihr habt noch 60 Minuten zeit!")
timer("dc40", 600)
end
when dc40.timer begin
chat("Ihr habt noch 50 Minuten zeit!")
timer("dc50", 600)
end
when dc50.timer begin
chat("Ihr habt noch 40 Minuten zeit!")
timer("dc60", 600)
end
when dc60.timer begin
chat("Ihr habt noch 30 Minuten zeit!")
timer("dc70", 600)
end
when dc70.timer begin
chat("Ihr habt noch 20 Minuten zeit!")
timer("dc80", 600)
end
when dc80.timer begin
chat("Ihr habt noch 10 Minuten zeit!")
timer("dc110", 600)
end
when dc110.timer begin
chat("Die Zeit ist Abgelaufen!")
d.exit_all()
end
--Ebene 2
when 30103.chat."Weiter zur 3. Ebene" begin
say("Während du den Stein genauer untersuchst, kannst")
say("du eine Gravur erkennen.")
wait()
say("Lediglich der Besitzer des Schrumpfkopfes")
say("darf eintreten, nachdem die Siegel dreier Türen")
say("aufgebrochen wurden.")
say("Wenn du dieses Relikt nicht bei dir trägst, wirst du")
say("")
say("aus der Devil's Catacomb teleportiert.")
local s = select("Ja, lass mich eintreten!", "Nein, ich möchte nicht eintreten.")
if s == 2 then
return
elseif s == 1 then
if pc.count_item(30319) >= 1 then
pc.remove_item(30319, 1)
d.setf("Ebene", 3)
d.purge()
d.clear_regen()
timer("dc_jump_3", 6)
else
say("Du hast keinen Schrumpfkopf und wirst nun")
say("aus der Höhle teleportiert ...")
warp_all_to_village( pc.get_map_index() , 5 )
end
end
end
when dc_jump_3.timer begin
d.new_jump_all(209, 5427, 42282)
d.notice("Finde den richtigen Metinstein!")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
local metindv = number(1,4)
if metindv==1 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==2 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==3 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==4 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
end
when 8029.kill with pc.in_dungeon() begin
chat("Ein Falscher Metin wurde zerstört.")
end
when 8028.kill with pc.in_dungeon() begin
chat("Der richtige Metin wurde zerstört.")
chat("Ihr kommt nun in die 4. Ebene.")
timer("devils_catacomb_goto_ebene4", 2)
end
when dc2.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 4 (Labyrinth)
when devils_catacomb_goto_ebene4.timer begin
d.new_jump_all(209, 4143, 42657)
d.setf("Ebene", 4)
end
when 30104.chat."Inschrift zur Ebene 6" with pc.in_dungeon() begin
say_title("Ihr seid schon ziemlich weit gekommen.")
timer("dc3", 6000)
d.notice("Du hast es geschafft! Hier ist der Ausgang des Labyrinths. Steige nun in die 5. Ebene hinab.")
timer("devils_catacomb_goto_ebene5", 5)
end
when dc3.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 6 (Tartaros)
when devils_catacomb_goto_ebene5.timer begin
d.new_jump_all(209, 4917, 42925)
d.spawn_mob(30102, 848, 739)
d.setf("Ebene", 5)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
local tartaros = number(1,4)
if tartaros==1 then
d.spawn_mob(2593, 991, 848)
end
if tartaros==2 then
d.spawn_mob(2593, 999, 652)
end
if tartaros==3 then
d.spawn_mob(2593, 848, 577)
end
if tartaros==4 then
d.spawn_mob(2593, 703, 644)
end
if tartaros==5 then
d.spawn_mob(2593, 692, 817)
end
end
when 2591.kill with pc.in_dungeon() begin
d.notice("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!")
d.notice("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.")
game.drop_item(30312, 1)
end
when 30102.take with item.vnum == 30312 begin
timer("dc4", 6000)
item.remove()
npc.purge()
say_reward("...")
d.notice("Aus den Tiefen der Devil's Catacomb dringt ein markerschütterndes Brüllen. Charon ist erwacht.")
d.notice("Ihr werdet nun in die Ebene 6 gebracht!")
timer("devils_catacomb_goto_ebene6", 5)
end
when dc4.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 7 (Charon)
when devils_catacomb_goto_ebene6.timer begin
d.new_jump_all(209, 5422, 42782)
d.setf("Ebene", 6)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
end
when 2597.kill with pc.in_dungeon() begin
timer("dc5", 6000)
d.kill_all()
say_in_map(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
timer("devils_catacomb_goto_ebene7", 10)
end
when dc5.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
--Ebene 8 (Azrael)
when devils_catacomb_goto_ebene7.timer begin
d.new_jump_all(209, 4147, 43191)
d.setf("Ebene", 7)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
end
when 2598.kill with pc.in_dungeon() begin
game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
local level = pc.get_level()
d.notice("Azrael wurde besiegt. Endlich herrscht Frieden in der Devil's Catacomb. Du wirst nun an die Oberfläche teleportiert.")
d.kill_all()
d.kill_all()
notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!")
timer("dc_end", 120)
d.spawn_mob(9012, 74, 1159)
end
when dc6.timer begin
chat("Die Zeit ist Abgelaufen!")
warp_all_to_village( pc.get_map_index() , 5 )
end
when dc_end.timer begin
chat("Eure Zeit ist abgelaufen ihr werdet wieder")
chat("rausteleportiert aus der Höhle!")
local nextTime=get_time()+time_min_to_sec(30)
d.setqf("__NEXT_TIME__", nextTime)
d.exit_all()
end
end
end
vielen dank.