Ich habe eine Devils Catacomb Quest, diese sieht so aus:
PHP Code:
quest dc begin
state start begin
--FaiL... Entry
--when 20351.chat."Devils Catacomb (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 1 and pc.get_level() < 80 begin
--say_title("Wächter der Katakombe")
--say("")
--say_reward("Du bist noch zu Schwach!")
--say("")
--end
--Eintritt!
when 20351.chat."Devils Catacomb (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 begin
if pc.get_level() < 80 then
say_title("Wächter der Katakombe")
say("")
say_reward("Du bist noch zu schwach für die Katakomben!")
say("")
else
say_title("Wächter der Katakombe")
say("Du möchtest den Untoten Teufel Azrael besiegen?")
say("Bevor du dich mit Azrael messen kannst, musst")
say("du dich durch das Dungeon voller Untoten schlagen.")
say("Viel Glück, Tapferer Soldat.")
wait()
say_title("Wächter der Katakombe")
say("")
say("Bisher haben "..game.get_event_flag("dcgamer").." Soldaten es versucht ")
say("und "..game.get_event_flag("dc_geschaft").." haben es tatsächlich geschafft")
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("")
local dc_login = select("Betreten", "Abbrechen")
if dc_login == 1 then
pc.warp(314800, 1209800)
elseif dc_login == 2 then
return
end
end
end
--Ebene 1
when login with pc.get_map_index() == 90 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)
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("")
say_reward("Viel Glück!")
say("")
pc.setqf("sksgedroppt", 0)
end
when kill with not npc.is_pc() and pc.get_map_index() == 90 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 gedroppt!")
game.drop_item(30311, 1)
end
end
when 30101.take with item.vnum == 30311 begin
item.remove()
d.new_jump_all(90, 3636, 12086)
timer("dc1", 600)
d.notice("~~~Schlagt euch zum Schildkrötenfels durch!~~~")
d.notice("~~~Ihr habt nur 10 minuten Zeit!~~~")
d.regen_file("data/dungeon/dc/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/dc/dc_regen_tore_unten.txt")
d.regen_file("data/dungeon/dc/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
end
when dc1.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
when dc20.timer begin
d.notice("Ihr habt noch 50 Minuten zeit!")
timer("dc3", 90)
end
when dc30.timer begin
d.notice("Ihr habt noch 45 Minuten zeit!")
timer("dc4", 90)
end
when dc40.timer begin
d.notice("Ihr habt noch 40 Minuten zeit!")
timer("dc5", 90)
end
when dc50.timer begin
d.notice("Ihr habt noch 35 Minuten zeit!")
timer("dc6", 90)
end
when dc60.timer begin
d.notice("Ihr habt noch 30 Minuten zeit!")
timer("dc7", 90)
end
when dc70.timer begin
d.notice("Ihr habt noch 25 Minuten zeit!")
timer("dc8", 90)
end
when dc80.timer begin
d.notice("Ihr habt noch 20 Minuten zeit!")
timer("dc9", 90)
end
when dc90.timer begin
d.notice("Ihr habt noch 15 Minuten zeit!")
timer("dc10", 90)
end
when dc100.timer begin
d.notice("Ihr habt noch 10 Minuten zeit!")
timer("dc11", 90)
end
when dc101.timer begin
d.notice("Ihr habt noch 5 Minuten zeit!")
timer("dc12", 90)
end
when dc110.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
--Ebene 2
when 30103.chat."Weiter...(Ebene 3)" begin
npc.purge()
say_reward("Inschrift")
say("Es ist noch ein weiter weg...")
wait()
d.new_jump_all(90, 4427, 12284)
timer("dc1", 6000)
timer("dc2", 600)
d.setf("goto_ebene3", 0)
d.notice("~~Es ist noch ein weiter weg...")
d.notice("~~Findet und zerstört den richtigen Metin~~")
d.regen_file("data/dungeon/dc/dc_regen_ebene3.txt")
local metindv = number(1,4)
if metindv==1 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==2 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==3 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==4 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
end
when 8028.kill with pc.in_dungeon() begin
d.notice("~~Ein Falscher Metin wurde zerstört~~")
end
when 8029.kill with pc.in_dungeon() begin
d.notice("~~Der richtige Metin wurde zerstört~~")
timer("dc2", 6000)
timer("devils_catacomb_goto_ebene5", 5)
end
when dc2.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
--Ebene 4 (Labyrinth)
when devils_catacomb_goto_ebene4.timer begin
d.new_jump_all(90, 3143, 12657)
d.setf("labyrinth", 1)
timer("dc3", 600)
d.notice("~~Findet den Weg aus dem Labyrinth~~")
d.notice("~~und Liest dann die Inschrift am Runenpfahl~~")
if game.get_event_flag("dc_is_wartung") == 1 then
d.spawn_mob(30104, 72, 586)
end
end
when 30104.chat."Inschrift (Labyrinth)" with pc.in_dungeon() begin
say_title(".....")
timer("dc3", 6000)
d.notice("~~Ihr habt den richtigen Weg gefunden...")
timer("devils_catacomb_goto_ebene5", 5)
end
when dc3.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
--Ebene 6 (Tartaros)
when devils_catacomb_goto_ebene5.timer begin
d.new_jump_all(90, 3917, 12925)
d.notice("~~Findet und Tötet Tartaros um ein Fratzen-Totem zu bekommen!~~")
d.notice("~~und zieht es dann auf den Stein auf dem Gipfel.~~")
d.spawn_mob(30102, 848, 739)
timer("dc4", 600)
d.regen_file("data/dungeon/dc/dc_regen_ebene5.txt")
local tartaros = number(1,4)
if tartaros==1 then
d.spawn_mob(2591, 991, 848)
end
if tartaros==2 then
d.spawn_mob(2591, 999, 652)
end
if tartaros==3 then
d.spawn_mob(2591, 848, 577)
end
if tartaros==4 then
d.spawn_mob(2591, 703, 644)
end
if tartaros==5 then
d.spawn_mob(2591, 692, 817)
end
end
when 2591.kill with pc.in_dungeon() begin
d.notice("~~~Tartaros wurde besiegt, dabei verlor er das Fratzen-Totem!~~~")
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("~~Ihr habt es geschafft!~~")
timer("devils_catacomb_goto_ebene6", 5)
end
when dc4.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
--Ebene 7 (Charon)
when devils_catacomb_goto_ebene6.timer begin
d.new_jump_all(90, 4411, 12736)
timer("dc5", 600)
d.notice("~~Tötet Charon um zur letzten Ebene zu kommen!~~")
d.regen_file("data/dungeon/dc/dc_regen_ebene6.txt")
end
when 2597.kill with pc.in_dungeon() begin
timer("dc5", 6000)
d.notice("~~Ihr habt den tötlichen Charon besiegt.~~")
d.notice("~~Bereitet euch auf den Kampf mit Azrael vor!~~")
timer("devils_catacomb_goto_ebene7", 10)
end
when dc5.timer begin
d.notice("Die Zeit ist Abgelaufen!")
warp_all_to_village()
end
--Ebene 8 (Azrael)
when devils_catacomb_goto_ebene7.timer begin
d.new_jump_all(90, 3147, 13191)
d.notice("~~Tötet Azrael nur dann bekommt ihr eine Belohnung!~~")
d.regen_file("data/dungeon/dc/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("~~Ihr habt ihn besiegt und habt euch eure Belohnung verdient!")
d.kill_all()
d.kill_all()
notice_all("Der Spieler "..pc.get_name().." hat den Azrael besiegt!")
timer("goout_from_dc", 60)
d.spawn_mob(9012, 74, 1159)
end
end
end
Ich bin dankbar für alle Antworten







