Code:
quest devildown begin
state start begin
when login begin
if pc.get_map_index() == 461 then
if pc . get_level ( ) < 100 then
d.exit_all_to_start_position()
elseif pc . get_level ( ) > 100 then
pc.set_warp_location(461, 4747, 4848)
send_letter("Helfe dem Surageist")
end
end
end
when button or info begin
say_title("Surageist:")
say("")
say("Ich grüße dich Krieger der lebenden.")
say("Seid jahrhunderten bewache ich diese Pforte,")
say("welche die Welt der lebenden und diesen Ort")
say("voneinander trennt.")
say("Einst,als die 3 Reiche noch eins waren,diente ich")
say("unserem Herrscher als Schatzmeister.")
say("Doch auch meine Seele möchte nun endlich")
say("in Frieden in das Reich der toten ziehen.")
say("Darum bitte ich dich, mach dich bereit für dieses")
say("große Abenteuer,bei Erfolg warten Ruhm und Ehre")
say("sowie ein rießiger Schatz auf dich.")
wait()
say_title("Surageist:")
say("")
say("Ich kann mich noch darann errinern das")
say("2 Schatzkarten angefertigt wurden.")
say("Jedoch bringt dich nur eine, einen Schritt")
say("näher zu Ruhm und Ehre.Die andere ist zu")
say("sehr beschädigt um etwas darauf zu erkennen.")
say("Eingeschlossen in mächtigen Metinsteinen")
say("warten diese Karten nun darauf seid jahrhunderten")
say("wieder das Licht der Welt zu erblicken.")
say("Geh nun und führe dein Reich zu Ehre und Ruhm!")
end
when 30122.chat."Das dunkle Geheimnis des Drachen" begin
if pc . get_level ( ) < 100 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 100 bist!")
else
say_title("Kriegergeist")
say("")
say("Als die 3 Reiche noch eins waren,")
say("war ich Diener der kaiserlichen Armee.")
say("Der Herrscher über das große Reich")
say("lagerte einen großen Schatz an einem")
say("geheimen Ort.")
say("")
say("Diesen Ort lies er von einem mächtigen")
say("Wesen bewachen.")
say("Früher schwur ich meinem Herrscher ewiges")
say("schweigen über den Ort des geheimen Schatzes.")
say("Doch die harbgier meines Herrschers führte dazu")
say("das unser mächtiges Reich sich in 3 Teile trennte.")
say("")
wait()
say_title("Kriegergeist")
say("")
say("Damit meine Seele ihren Frieden finden kann")
say("möchte ich den Schatz in guten Händen wissen.")
say("Wenn du dich dieser Aufgabe gewachsen fühlst,")
say("werde ich dich an diesen Ort führen.")
say("")
say_reward("Soll ich dich zum diesem geheimen")
say_reward("Ort Teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
pc.warp(474700, 484800)
else
return
end
end
end
when 8027.kill with pc.get_map_index()==461 begin
local jump1 = number(1,5)
if jump1==1 then
chat("Du hast eine Teil einer Karte gedropt, bring sie dem Surageist.")
game.drop_item("30120", 1)
end
if jump1==2 then
chat("Du hast eine Teil einer Karte gedropt, bring sie dem Surageist.")
game.drop_item("30121", 1)
else
chat("Das Chi dieses Metins hat die Karte völlig zerstört.")
end
end
when 30121.chat."Teil einer Karte" begin
if pc.count_item(30120)>=1 then
clear_letter()
say_title("Surageist:")
say("")
say("Einen Moment...")
say("Ja, ich lese die schriften...")
pc.removeitem("30120", 1)
wait()
say_title("Surageist:")
say("")
say("Ja sie ist es!")
say("Ich bringe euch zur nächsten Ebene.")
say("Aber passt auf euch auf, dort wimmelt")
say("es nur vor Monster, Wächtern und Zombie Kreaturen")
say("Und seit stark genug gegen den Legendären Drachen")
say("Ich wars nicht...")
say("")
timer("devildown_npc_komm", 120)
timer("devildown_pennen", 3960)
wait()
d.new_jump_all(461, 121, 170)
d.setf("devillevel", 1)
end
if pc.count_item(30121)>=1 then
say_title("Surageist:")
say("")
say("Einen Moment...")
say("Ja, ich lese die schriften...")
wait()
say_title("Surageist:")
say("")
say("Tut mir leid, das ist die Falsche Karte")
say("Auf dieser karte kann ich nichts mehr lesen..")
say("Bringe mir eine andere!")
else
say_title("Surageist:")
say("")
say("Ich kann mich noch darann errinern das")
say("2 Schatzkarten angefertigt wurden.")
say("Jedoch bringt dich nur eine, einen Schritt")
say("näher zu Ruhm und Ehre.Die andere ist zu")
say("sehr beschädigt um etwas darauf zu erkennen.")
say("Eingeschlossen in mächtigen Metinsteinen")
say("warten diese Karten nun darauf seid jahrhunderten")
say("wieder das Licht der Welt zu erblicken.")
say("Geh nun und führe dein Reich zu Ehre und Ruhm!")
end
end
when login with pc.in_dungeon() and d.getf("devillevel") == 1 begin
setskin(NOWINDOW)
setstate(start)
q.done()
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
d.setf("devillevel", 2)
local vid = d.spawn_mob(20083, 121, 134)
d.regen_file("data/dungeon/ich_regen.txt")
timer("devildown_meldung_weachter", 5)
end
when devildown_npc_komm.timer begin
local vid = d.spawn_mob(30121, 131, 144)
end
when devildown_pennen.timer begin
d.exit_all_to_start_position()
d.setf("devillevel", 8)
end
when devildown_meldung_weachter.timer begin
d.notice("Surageist1: Mein Geist, wird euch begleiten...")
d.notice("Surageist1: Los geht und vernichtet den Wächter")
d.notice("Surageist1: Aber beeilt euch ihr habt nur 5 Minuten zeit")
d.notice("Surageist1: sonst schließen die Wächter die Tore zum")
d.notice("Surageist1: weitergehen.")
d.setf("deviltime", 1)
timer("devildown_weachter1", 120)
end
when devildown_weachter1.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Verbleibende Zeit: 3 Minuten")
timer("devildown_weachter2", 180)
end
end
when devildown_weachter2.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Verbleibende Zeit: 1 Minuten")
timer("devildown_weachter3", 60)
end
end
when devildown_weachter3.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist1: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 2604.kill with pc.in_dungeon() begin
d.setf("deviltime", 2)
cleartimer("devildown_weachter1")
cleartimer("devildown_weachter2")
cleartimer("devildown_weachter3")
d.notice("Surageist1: Uuunglaublich, ihr habt den Wächter des Todes besiegt");
d.notice("Surageist1: bevor er die nächste Ebene versiegeln konnte.")
timer("devildown_killweachter1", 7)
end
when devildown_killweachter.timer begin
d.setf("devillevel", 2)
d.notice("Surageist1: Sprecht mit Poeng-Hong")
end
when devildown_killweachter1.timer begin
timer("devildown_killweachter", 2)
d.jump_all(121, 172)
end
when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
npc.purge()
say_title("Poeng-Hong")
say("")
say("Diese Gänge.. Sie bringen mich um")
say("meinen Verstand.. Ich laufe nun schon")
say("den ganzen Tag in ihnen herum, aber ich habe")
say("keine Ahnung, wo ich noch lang gehen soll.")
say("Ich suche doch nur meinen Bruder..")
say("")
say("Wenn ich ihn doch nur finden würde..")
wait()
cleartimer("devildown_weachter1")
d.setf("devillevel", 3)
timer("devildown_spawnport", 3)
d.jump_all(121, 172)
end
when devildown_spawnport.timer begin
d.regen_file("data/dungeon/dd_warps.txt")
local vid = d.spawn_mob(20080, 121, 134)
d.notice("Surageist2: Du bist einen Schritt weiter zum Verborgenen Ort...");
d.notice("Surageist2: Nun liegt es an dir den richtigen Weg zu finden")
d.notice("Surageist2: um mit Saoe-Hae zu sprechen.");
d.notice("Surageist2: Aber ihr habt aber nur 5 Minuten maximal zeit!")
timer("devildown_gänge", 240)
end
when devildown_gänge.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Verbleibende Zeit: 3 Minuten")
timer("devildown_gänge1", 180)
end
end
when devildown_gänge1.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Verbleibende Zeit: 1 Minuten")
timer("devildown_gänge2", 60)
end
end
when devildown_gänge2.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist2: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 20080.chat."Poeng-Hong" with pc.in_dungeon() begin
if d.getf("devillevel") == 3 then
say_title("Sao-Hae")
npc.purge()
say("")
say("Mein Bruder Poeng-Hong?")
say("Du hast ihn getroffen?")
say("Ja ich bin sein Bruder.. Es wäre")
say("nett von dir, ihm zu sagen wo ich")
say("bin, wenn du ihn noch einmal sehen solltest.")
say("")
wait()
d.setf("deviltime", 3)
cleartimer("devildown_gänge")
cleartimer("devildown_gänge1")
cleartimer("devildown_gänge2")
d.setf("devillevel", 44)
timer("devildown_jump1", 3)
d.jump_all(4747, 4848)
end
end
when devildown_jump1.timer begin
if d.getf("devillevel") == 44 then
d.regen_file("data/dungeon/ich_regen1.txt")
local vid = d.spawn_mob(5002, 121, 134)
d.setf("devillevel", 4)
d.notice("Surageist3: Sucht die Verfluchte Bestie und vernichte sie, damit der Wächter")
d.notice("Surageist3: des Untergrundes sich nicht länger verstecken muss.")
d.notice("Surageist3: Ihr habt maximal 10 Minuten Zeit die Verfluchte Bestie zu vernichten!")
timer("devildown_hexe", 300)
end
end
when devildown_hexe.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Verbleibende Zeit: 5 Minuten")
timer("devildown_hexe1", 240)
end
end
when devildown_hexe1.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Verbleibende Zeit: 1 Minuten")
timer("devildown_hexe2", 60)
end
end
when devildown_hexe2.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist3: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 5002.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
cleartimer("devildown_hexe")
cleartimer("devildown_hexe1")
cleartimer("devildown_hexe2")
d.setf("deviltime", 4)
d.spawn_mob(20351 , 121 , 134)
d.setf("devillevel", 5)
d.notice("Surageist3: Gut gemacht, ihr habt die verfluchte Bestie nun vernichtet!")
d.notice("Surageist3: Und nun da sich der Wächter sich nicht mehr verstecken muss,")
d.notice("Surageist3: Findet ihn und er wird euch als Dank, die Tore passieren lassen!")
d.notice("Surageist3: Aber du hast maximal 5 Minute zeit ihn zu finden.")
timer("devildown_versteck", 60)
end
when devildown_versteck.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 4 Minuten")
timer("devildown_versteck1", 60)
end
end
when devildown_versteck1.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 3 Minuten")
timer("devildown_versteck2", 60)
end
end
when devildown_versteck2.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 2 Minuten")
timer("devildown_versteck3", 60)
end
end
when devildown_versteck3.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 1 Minuten")
timer("devildown_versteck4", 30)
end
end
when devildown_versteck4.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 30 Sekunden!")
timer("devildown_versteck5", 20)
end
end
when devildown_versteck5.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 10 Sekunden")
timer("devildown_versteck6", 10)
end
end
when devildown_versteck6.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist3.1: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 20351.chat."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin
say_title("Wächter des Untergrundes")
say("Man nennt mich den Wächter des Untergundes.")
say("Viele Generationen meiner Familie, leben schon")
say("am diesem dunklen Ort.")
say("Da ich mich schon eine weile hier auskenne")
say("Als Dankbarkeit führe ich dich zum weg")
say("der alten Siegeln...")
say("Ich selbst traue mich dort nicht hin.")
say("Mir ist der Ort irgendwie unheimlich.")
say("")
wait()
d.setf("deviltime", 5)
cleartimer("devildown_versteck")
cleartimer("devildown_versteck1")
cleartimer("devildown_versteck2")
cleartimer("devildown_versteck3")
cleartimer("devildown_versteck4")
cleartimer("devildown_versteck5")
cleartimer("devildown_versteck6")
d.setf("devillevel", 6)
timer("devildown_jump2", 2)
end
when devildown_jump2.timer begin
d.setf("count", 0)
d.setf("counti", 0)
d.jump_all(121, 169)
timer("devildown_mob", 10)
d.spawn_mob(20096, 126, 156)
d.spawn_mob(20096, 126, 146)
d.spawn_mob(20096, 116, 145)
d.spawn_mob(20096, 115, 155)
d.spawn_mob(20096, 134, 134)
d.spawn_mob(20096, 109, 134)
d.setf("devildownstone_count", 6)
timer("devildownstone1", 300)
d.notice("Surageist4: Diese Gegend, ja ich kenne sie, hier sind");
d.notice("Surageist4: diese Zombie Kreaturen, sie erscheinen jeden moemnt.");
d.notice("Surageist4: Um einen Zombie-Siegelstein zu bekommen muss man sie töten");
d.notice("Surageist4: Nur durch diesen stein kann man die Säulen entfernen");
d.notice("Surageist4: Ihr habt Maximal 20 Minuten zeit");
d.notice("Surageist4: alle 6 Siegel zu öffnen.");
end
when devildown_mob.timer begin
d.regen_file("data/dungeon/ich_regen2.txt")
end
when devildownstone1.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 15 Minuten")
timer("devildownstone2", 300)
end
end
when devildownstone2.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 10 Minuten")
timer("devildownstone3", 300)
end
end
when devildownstone3.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 5 Minuten")
timer("devildownstone4", 300)
end
end
when devildownstone4.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 1 Minuten")
timer("devildownstone5", 60)
end
end
when devildownstone5.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist4: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 2510.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
local KILL_COUNT_FOR_DROP_DEVIL_KEY = 5
local n =d.getf("count") + 1
d.setf("count", n)
d.notice("Noch "..5-n.." Mobs killen bis das Siegel dropt.")
if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
game.drop_item("50084", 1)
d.setf("count", 0)
end
end
when 20096.take with item.vnum == 50084 and d.getf("devillevel") == 6 begin
npc.purge()
item.remove()
d.setf("devildownstone_count", d.getf("devildownstone_count") - 1)
if d.getf("devildownstone_count") <= 0 then
d.setf("devillevel", 7)
cleartimer("devildownstone1")
cleartimer("devildownstone2")
cleartimer("devildownstone3")
cleartimer("devildownstone4")
cleartimer("devildownstone5")
d.setf("deviltime", 6)
d.notice("Surageist4: Ihr habt es geschafft, ihr habt die Alten Siegel zerstört.")
d.notice("Surageist4: Das Portal zum Drachen hat sich geöffnet.")
timer("devildown_nexttimer0", 3)
else
d.notice("Surageist4: Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
end
end
when devildown_nexttimer0.timer begin
d.jump_all(121, 169)
------------------
timer("devildown_bosstimer10", 5)
end
when devildown_bosstimer10.timer begin
d.jump_all(121, 169)
-- Firstspawn !!!
d.regen_file("data/dungeon/ich_regen3.txt")
------------------
timer("devildown_bosstimer1", 60)
end
when devildown_bosstimer1.timer begin
-- 2. Spawn !!!
d.regen_file("data/dungeon/ich_regen4.txt")
------------------
timer("devildown_bosstimer2", 60)
end
when devildown_bosstimer2.timer begin
-- 3. Spawn !!!
d.regen_file("data/dungeon/ich_regen5.txt")
------------------
timer("devildown_bosstimer3", 60)
end
when devildown_bosstimer3.timer begin
-- 4. Spawn !!!
d.regen_file("data/dungeon/ich_regen6.txt")
------------------
timer("devildown_bosstimer4", 60)
end
when devildown_bosstimer4.timer begin
-- 5. Spawn !!!
d.regen_file("data/dungeon/ich_regen7.txt")
------------------
timer("devildown_bosstimer5", 60)
end
when devildown_bosstimer5.timer begin
-- 6. Spawn !!!
d.regen_file("data/dungeon/ich_regen8.txt")
------------------
timer("devildown_bosstimer_last", 60)
end
when devildown_bosstimer_last.timer begin
-- Endspawn mit Drache !!!
d.setf("deviltime", 7)
d.regen_file("data/dungeon/ich_regen9.txt")
local vid = d.spawn_mob(2291, 121, 149)
d.set_unique("real", vid)
timer("devildown_ending2", 300)
d.notice("Surageist5: Der Wächter des großen Schatzes ist erschienen.");
d.notice("Surageist5: Vernichtet ihn und erhalt Ruhm und Ehre.");
d.notice("Surageist5: Ihr habt dafür 15 Minuten zeit.");
------------------
end
when 2291.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.setf("devillevel", 0)
d.notice("Surageist5: Ihr habt den Drachen, den Wächter des Schatzes vernichtet.")
d.notice("Surageist5: Und ich kann endlich meine ruhe finden.");
d.notice("Surageist5: Ich bringe euch in 1 Minute wieder Map1!")
timer("devildown_escapetimer", 60)
end
end
when devildown_ending2.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 10 Minuten")
timer("devildown_ending3", 300)
end
end
when devildown_ending3.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 5 Minuten")
timer("devildown_ending4", 240)
end
end
when devildown_ending4.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 1 Minuten")
timer("devildown_ending4", 60)
end
end
when devildown_ending4.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Die Zeit ist abgelaufen.")
d.notice("Surageist5: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
timer("devildown_escapetimer", 3)
end
end
when devildown_escapetimer.timer begin
d.exit_all_to_start_position()
end
end
end