wollte mal das Tal von Ascaria auf meine Maps anpassen...
Nur hab noch einige Probleme...würd mich über hilfe freuen...
1.) d.new_jump_all(220, 3182, 12142) --> 220= Map-Index, die anderen beiden Zahlen sind die Kordis, aber eigt müssten dort doch kordis mit "00" am Ende stehen?? habs mal mit (155, 1035100, 1035100) probiert, aber nichts passiert....?
2.) d.setf("devillevel", 1) --> ??
3.) d.regen_file("data/dungeon/dd_regen2.txt") --> ??
4.) d.set_unique("real", vid) --> ??
5.) d.clear_regen() --> ?? ??
Hier nochma die ganze Quest:
quest devildown begin
state start begin
when 30122.chat."Das Geheimnis Ascarias" begin
if pc . get_level ( ) < 85 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 85 bist!")
else
say_title("Kriegergeist")
say("")
say("Ich war einst Krieger der Kaiserlichen Armee.")
say("Vor vielen Jahren gab es einen Ort, der von einem")
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
say("verboten Informationen über die Lage dieses Ortes zu")
say("geben aber ich könnte dich trotzdem")
say("dort hin teleportieren.")
say("")
say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
pc.warp(391700, 1293100)
else
return
end
end
end
when 8023.kill with pc.get_map_index()==220 begin
local jump1 = number(1, 20)
if jump1<=10 then
chat("Das muss der Teil einer Karte sein.")
chat("Bringe ihn dem Surageist.")
game.drop_item(30126, 1)
else
chat("An diesem Metin war anscheinend keine Karte..")
end
end
when 30121.chat."Teil einer Karte" begin
if pc.count_item(30126)>=1 then
say("Du hast eine Karte gefunden?!")
say("Lass mal sehen!")
pc.removeitem("30126", 1)
wait()
say("Okay, ich denke als nächstes..")
say("Ja das ist okay.. Bis später!")
wait()
d.new_jump_all(220, 3182, 12142)
d.setf("devillevel", 1)
-- Removed Schlüsselsteine aus deinem Inventar falls vorhanden, um Bugusing vorzubeugen. --
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
--------------------------------------------------------------------------------------------
local vid = d.spawn_mob(11510, 268, 311)
d.regen_file("data/dungeon/dd_regen2.txt")
d.set_unique("real", vid)
d.notice("Zerstört das legendäre Feuer der Macht.");
else
say("Ich habe gehört, dass man an den Metinsteine,")
say("hier in der Umgebung Teile von Karten finden kann,")
say("wenn man sie zerstört. Wenn du mir ein solches")
say("Teil bringen könntest, könnte ich dich in das")
say("nächste Gebiet teleportieren, da ich dann das")
say("Gebiet genauer untersuchen könnte.")
end
end
when 11510.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.setf("devillevel", 2)
d.clear_regen()
d.jump_all(3542, 12825)
d.regen_file("data/dungeon/dd_warps.txt")
end
end
when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
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()
d.setf("devillevel", 3)
d.jump_all(3347, 12810)
end
when 20080.chat."Poeng-Hong" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
say_title("Sao-Hae")
say("")
say("Mein Bruder Poeng-Hong?")
say("Du hast ihn getroffen?")
say("Ja ich bin sein Bruder.. Es wäre")
say("sehr nett von ihm, ihm zu sagen wo ich")
say("bin, wenn du ihn noch einmal sehen solltest.")
say("")
wait()
d.setf("devillevel", 4)
timer("devildown_jump1", 1)
end
when devildown_jump1.timer begin
d.clear_regen()
d.regen_file("data/dungeon/dd_regen3.txt")
local vid = d.spawn_mob(1191, 803, 290)
d.set_unique("real", vid)
d.jump_all(3619, 12075)
d.notice("Sucht die Eishexe und tötet sie, damit der Wächter");
d.notice("des Untergrundes sich nicht länger verstecken muss.");
end
when 1191.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
if d.is_unique_dead("real") then
d.spawn_mob(20351 , 740 , 207)
d.setf("devillevel", 5)
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("Ich bin schon eine weile hier und kenne das Gebiet")
say("ein wenig besser wie du, wenn ich das so sagen darf.")
say("")
say("Ich könnte euch alle zu den alten Siegeln teleportieren.")
say("Ich selbst traue mich dort nicht hin.")
say("Mir ist der Ort irgendwie unheimlich.")
say("")
wait()
d.setf("devillevel", 6)
timer("devildown_jump2", 2)
end
when devildown_jump2.timer begin
d.clear_regen()
d.jump_all(4438, 12282)
d.regen_file("data/dungeon/dd_regen4.txt")
d.spawn_mob(30101, 1241, 250)
d.spawn_mob(30101, 1246, 242)
d.spawn_mob(30101, 1255, 243)
d.spawn_mob(30101, 1259, 250)
d.spawn_mob(30101, 1254, 258)
d.spawn_mob(30101, 1246, 258)
d.setf("devildownstone_count", 6)
timer('devildownstone1', 300)
d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen");
d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,");
d.notice("um alle 6 Siegel zu öffnen.");
end
when devildownstone1.timer begin
d.notice("Verbleibende Zeit: 15 Minuten")
timer('devildownstone2', 300)
end
when devildownstone2.timer begin
d.notice("Verbleibende Zeit: 10 Minuten")
timer('devildownstone3', 300)
end
when devildownstone3.timer begin
d.notice("Verbleibende Zeit: 5 Minuten")
timer('devildownstone4', 300)
end
when devildownstone4.timer begin
d.clear_regen()
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
pc.warp(391700, 1293100)
end
when 2510.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
local KILL_COUNT_FOR_DROP_DEVIL_KEY = 15
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when 30101.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)
-- Setzt die Timer von der Vorletzen EBENE auf 800000 Sec.
-- Um das nachträgliche herausfliegen zu vermeiden.
timer('devildownstone1', 800000)
timer('devildownstone2', 800000)
timer('devildownstone3', 800000)
timer('devildownstone4', 800000)
--------------------------------------------------------
d.clear_regen()
d.notice("Ihr habt alle alten Siegel geöffnet.")
d.notice("Das Portal zum Roten Drache hat sich geöffnet.")
timer("devildown_nexttimer", 3)
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
end
end
when devildown_nexttimer.timer begin
d.jump_all(4374, 12740)
-- Firstspawn !!!
d.regen_file("data/dungeon/dd_boss1.txt")
------------------
timer("devildown_bosstimer1", 60)
end
when devildown_bosstimer1.timer begin
-- 2. Spawn !!!
d.regen_file("data/dungeon/dd_boss2.txt")
------------------
timer("devildown_bosstimer2", 60)
end
when devildown_bosstimer2.timer begin
-- 3. Spawn !!!
d.regen_file("data/dungeon/dd_boss3.txt")
------------------
timer("devildown_bosstimer3", 60)
end
when devildown_bosstimer3.timer begin
-- 4. Spawn !!!
d.regen_file("data/dungeon/dd_boss4.txt")
------------------
timer("devildown_bosstimer4", 60)
end
when devildown_bosstimer4.timer begin
-- 5. Spawn !!!
d.regen_file("data/dungeon/dd_boss5.txt")
------------------
timer("devildown_bosstimer5", 60)
end
when devildown_bosstimer5.timer begin
-- 6. Spawn !!!
d.regen_file("data/dungeon/dd_boss6.txt")
------------------
timer("devildown_bosstimer_last", 60)
end
when devildown_bosstimer_last.timer begin
-- Endspawn mit Drache !!!
d.regen_file("data/dungeon/dd_boss7.txt")
local vid = d.spawn_mob(2291, 1302, 708)
d.set_unique("real", vid)
------------------
end
when 2291.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt.");
d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert..");
timer("devildown_escapetimer", 20)
end
end
when devildown_escapetimer.timer begin
d.clear_regen()
d.setf("devillevel", 0)
pc.warp(391700, 1293100)
end
end
end
state start begin
when 30122.chat."Das Geheimnis Ascarias" begin
if pc . get_level ( ) < 85 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 85 bist!")
else
say_title("Kriegergeist")
say("")
say("Ich war einst Krieger der Kaiserlichen Armee.")
say("Vor vielen Jahren gab es einen Ort, der von einem")
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
say("verboten Informationen über die Lage dieses Ortes zu")
say("geben aber ich könnte dich trotzdem")
say("dort hin teleportieren.")
say("")
say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
pc.warp(391700, 1293100)
else
return
end
end
end
when 8023.kill with pc.get_map_index()==220 begin
local jump1 = number(1, 20)
if jump1<=10 then
chat("Das muss der Teil einer Karte sein.")
chat("Bringe ihn dem Surageist.")
game.drop_item(30126, 1)
else
chat("An diesem Metin war anscheinend keine Karte..")
end
end
when 30121.chat."Teil einer Karte" begin
if pc.count_item(30126)>=1 then
say("Du hast eine Karte gefunden?!")
say("Lass mal sehen!")
pc.removeitem("30126", 1)
wait()
say("Okay, ich denke als nächstes..")
say("Ja das ist okay.. Bis später!")
wait()
d.new_jump_all(220, 3182, 12142)
d.setf("devillevel", 1)
-- Removed Schlüsselsteine aus deinem Inventar falls vorhanden, um Bugusing vorzubeugen. --
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
--------------------------------------------------------------------------------------------
local vid = d.spawn_mob(11510, 268, 311)
d.regen_file("data/dungeon/dd_regen2.txt")
d.set_unique("real", vid)
d.notice("Zerstört das legendäre Feuer der Macht.");
else
say("Ich habe gehört, dass man an den Metinsteine,")
say("hier in der Umgebung Teile von Karten finden kann,")
say("wenn man sie zerstört. Wenn du mir ein solches")
say("Teil bringen könntest, könnte ich dich in das")
say("nächste Gebiet teleportieren, da ich dann das")
say("Gebiet genauer untersuchen könnte.")
end
end
when 11510.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.setf("devillevel", 2)
d.clear_regen()
d.jump_all(3542, 12825)
d.regen_file("data/dungeon/dd_warps.txt")
end
end
when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
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()
d.setf("devillevel", 3)
d.jump_all(3347, 12810)
end
when 20080.chat."Poeng-Hong" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
say_title("Sao-Hae")
say("")
say("Mein Bruder Poeng-Hong?")
say("Du hast ihn getroffen?")
say("Ja ich bin sein Bruder.. Es wäre")
say("sehr nett von ihm, ihm zu sagen wo ich")
say("bin, wenn du ihn noch einmal sehen solltest.")
say("")
wait()
d.setf("devillevel", 4)
timer("devildown_jump1", 1)
end
when devildown_jump1.timer begin
d.clear_regen()
d.regen_file("data/dungeon/dd_regen3.txt")
local vid = d.spawn_mob(1191, 803, 290)
d.set_unique("real", vid)
d.jump_all(3619, 12075)
d.notice("Sucht die Eishexe und tötet sie, damit der Wächter");
d.notice("des Untergrundes sich nicht länger verstecken muss.");
end
when 1191.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
if d.is_unique_dead("real") then
d.spawn_mob(20351 , 740 , 207)
d.setf("devillevel", 5)
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("Ich bin schon eine weile hier und kenne das Gebiet")
say("ein wenig besser wie du, wenn ich das so sagen darf.")
say("")
say("Ich könnte euch alle zu den alten Siegeln teleportieren.")
say("Ich selbst traue mich dort nicht hin.")
say("Mir ist der Ort irgendwie unheimlich.")
say("")
wait()
d.setf("devillevel", 6)
timer("devildown_jump2", 2)
end
when devildown_jump2.timer begin
d.clear_regen()
d.jump_all(4438, 12282)
d.regen_file("data/dungeon/dd_regen4.txt")
d.spawn_mob(30101, 1241, 250)
d.spawn_mob(30101, 1246, 242)
d.spawn_mob(30101, 1255, 243)
d.spawn_mob(30101, 1259, 250)
d.spawn_mob(30101, 1254, 258)
d.spawn_mob(30101, 1246, 258)
d.setf("devildownstone_count", 6)
timer('devildownstone1', 300)
d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen");
d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,");
d.notice("um alle 6 Siegel zu öffnen.");
end
when devildownstone1.timer begin
d.notice("Verbleibende Zeit: 15 Minuten")
timer('devildownstone2', 300)
end
when devildownstone2.timer begin
d.notice("Verbleibende Zeit: 10 Minuten")
timer('devildownstone3', 300)
end
when devildownstone3.timer begin
d.notice("Verbleibende Zeit: 5 Minuten")
timer('devildownstone4', 300)
end
when devildownstone4.timer begin
d.clear_regen()
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
pc.warp(391700, 1293100)
end
when 2510.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
local KILL_COUNT_FOR_DROP_DEVIL_KEY = 15
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when 30101.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)
-- Setzt die Timer von der Vorletzen EBENE auf 800000 Sec.
-- Um das nachträgliche herausfliegen zu vermeiden.
timer('devildownstone1', 800000)
timer('devildownstone2', 800000)
timer('devildownstone3', 800000)
timer('devildownstone4', 800000)
--------------------------------------------------------
d.clear_regen()
d.notice("Ihr habt alle alten Siegel geöffnet.")
d.notice("Das Portal zum Roten Drache hat sich geöffnet.")
timer("devildown_nexttimer", 3)
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
end
end
when devildown_nexttimer.timer begin
d.jump_all(4374, 12740)
-- Firstspawn !!!
d.regen_file("data/dungeon/dd_boss1.txt")
------------------
timer("devildown_bosstimer1", 60)
end
when devildown_bosstimer1.timer begin
-- 2. Spawn !!!
d.regen_file("data/dungeon/dd_boss2.txt")
------------------
timer("devildown_bosstimer2", 60)
end
when devildown_bosstimer2.timer begin
-- 3. Spawn !!!
d.regen_file("data/dungeon/dd_boss3.txt")
------------------
timer("devildown_bosstimer3", 60)
end
when devildown_bosstimer3.timer begin
-- 4. Spawn !!!
d.regen_file("data/dungeon/dd_boss4.txt")
------------------
timer("devildown_bosstimer4", 60)
end
when devildown_bosstimer4.timer begin
-- 5. Spawn !!!
d.regen_file("data/dungeon/dd_boss5.txt")
------------------
timer("devildown_bosstimer5", 60)
end
when devildown_bosstimer5.timer begin
-- 6. Spawn !!!
d.regen_file("data/dungeon/dd_boss6.txt")
------------------
timer("devildown_bosstimer_last", 60)
end
when devildown_bosstimer_last.timer begin
-- Endspawn mit Drache !!!
d.regen_file("data/dungeon/dd_boss7.txt")
local vid = d.spawn_mob(2291, 1302, 708)
d.set_unique("real", vid)
------------------
end
when 2291.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt.");
d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert..");
timer("devildown_escapetimer", 20)
end
end
when devildown_escapetimer.timer begin
d.clear_regen()
d.setf("devillevel", 0)
pc.warp(391700, 1293100)
end
end
end
Bitte um Hilfe...
lg Worse