[SERVICE] Die Questkontrolle

07/20/2012 09:40 Poppitz#6331
PHP Code:
ocal level = pc.get_level() 
in

PHP Code:
local level = pc.get_level() 
ändern.
07/20/2012 13:24 Kriegergeist^^#6332
Tag auch,

Ich versuche gerade eine einfache Reittier Siegel Quest zu schreiben.
Sie ist bis jetzt nicht schlecht, beim anklicken des Siegels geht man aufs Mount drauf und bekommt ein boni, wenn ich wiederholt auf das Siegel klicke, steigt man ab und verliert den jeweiligen Boni, aber wen ich mit Strg+H oder Strg+G vom Mount absteige, bleibt der boni.
Hier erst mal mein Quest ausschnitt:
HTML Code:
quest reittiere begin
	state start begin
		function remove_mount_bonis()
			affect.remove_collect(apply.ATT_GRADE_BONUS, 50, 60*60*24*365)
			affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*24*365)
			affect.remove_collect(apply.ATT_GRADE_BONUS, 150, 60*60*24*365)
			affect.remove_collect(apply.ATT_GRADE_BONUS, 200, 60*60*24*365)
			affect.remove_collect(apply.ATTBONUS_MONSTER, 3, 60*60*24*365)
			affect.remove_collect(apply.ATTBONUS_MONSTER, 5, 60*60*24*365)
			affect.remove_collect(apply.ATTBONUS_MONSTER, 10, 60*60*24*365)
			affect.remove_collect(apply.MAX_HP, 1000, 60*60*24*365)
			affect.remove_collect(apply.MAX_HP, 2000, 60*60*24*365)
			affect.remove_collect(apply.MAX_HP, 4000, 60*60*24*365)
			affect.remove_collect(apply.ATT_SPEED, 4, 60*60*24*365)
			affect.remove_collect(apply.ATT_SPEED, 8, 60*60*24*365)
			affect.remove_collect(apply.ATT_SPEED, 12, 60*60*24*365)
		end

		when unmount begin
			reittiere.remove_mount_bonis()
		end

		when 71114.use begin
		if not pc.is_mount() then
			pc.mount(20110,999999)
			affect.add_collect(apply.ATT_GRADE_BONUS, 50, 60*60*24*365)
		else
			pc.unmount()
			reittiere.remove_mount_bonis()
		end
		end
	end
end
Eigentlich soll es durch "when unmount begin" ausgelöst werden, aber es geht nicht :(
Das mit "when unmount begin" habe ich von [Only registered and activated users can see links. Click Here To Register...]
Weiß jemand wie ich das hinbekomme, das ich auch bei Strg+H und Strg+G den Boni vom Reittier verliere?
Oder hat jemand eine andere Idee, das es ungefähr so gehen könnte?
Wäre echt nett wen ihr mir helfen könntet :handsdown::handsdown:

MfG
Kriegergeist^^
07/20/2012 17:33 Fever1234#6333
Quote:
Originally Posted by Poppitz View Post
PHP Code:
ocal level = pc.get_level() 
in

PHP Code:
local level = pc.get_level() 
ändern.
hab ich ja schon geht aber trostem nicht
07/20/2012 18:23 SandEimer#6334
PHP Code:
 quest devildown begin
    state start begin
        when 30121.chat
."Das Geheimnis Ascarias" begin
            
if pc . get_level ( ) < 80 then 
                say 
("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 80 bist!") 
            else 
                
say_title("Surageist")
                
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(307200, 1203200)
                    else
                        return
                    
end
            end
        end
        
        when 8027.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 Kriegergeist.")
                
game.drop_item(30126, 1)
            else
                
chat("In diesem Metin war anscheinend keine Karte..")
            
end
        end
        
        when 30122.chat
."Teil einer Karte" begin
        
            
if pc.count_item(30126)>=1 then
            say_title
("Teil einer Karte")
                
say("Du hast eine Karte gefunden?!")
                
say("Lass mal sehen!")
                
pc.removeitem("30126", 1)
                
wait()
                
say("Okay, ich denke das ist erstmal ausreichend")
                
say("Die Qualität ist gut und ihr werdet Teleportiert")
                
say("Bis zum nächsten mal")
                
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
("Jagal-Tunseok")
            
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.spawn_mob(20080, 493, 595)
            
d.setf("devillevel", 3)
            
d.jump_all(3347, 12810)            
        
end        
        

        when 20080.chat
."Jagal-Tunseok" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
            say_title
("Sao-Hae")
            
say("")
            
say("Mein Bruder Jagal-Tunseok?")
            
say("Du hast ihn getroffen?")
            
say("Ja ich bin sein Bruder.. Es wäre")
            
say("sehr nett von Ihnen, 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(20361, 1241, 250)
                
d.spawn_mob(20361, 1246, 242)
                
d.spawn_mob(20361, 1255, 243)
                
d.spawn_mob(20361, 1259, 250)
                
d.spawn_mob(20361, 1254, 258)
                
d.spawn_mob(20361, 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 20361.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)
            -- 
End Spwan!!!
            
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 
so sieht meine quest aus. ich möchte nach der eishexe, 4te Etage, die Value 20351 spawnen lassen. Sprich; Wenn die Eishexe gefunden wurde, getötet wurde, soll dieser NPC spawnen, diesen soll man dann anklicken um weiter zu kommen. Wie, wo und was muss ich eintragen? bitte um hilfe, nach 50 anfragen danach ... -.-

Danke ..
07/20/2012 22:49 DasKuchen#6335
Quote:
Originally Posted by SandEimer View Post
PHP Code:
 quest devildown begin
    state start begin
        when 30121.chat
."Das Geheimnis Ascarias" begin
            
if pc . get_level ( ) < 80 then 
                say 
("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 80 bist!") 
            else 
                
say_title("Surageist")
                
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(307200, 1203200)
                    else
                        return
                    
end
            end
        end
        
        when 8027.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 Kriegergeist.")
                
game.drop_item(30126, 1)
            else
                
chat("In diesem Metin war anscheinend keine Karte..")
            
end
        end
        
        when 30122.chat
."Teil einer Karte" begin
        
            
if pc.count_item(30126)>=1 then
            say_title
("Teil einer Karte")
                
say("Du hast eine Karte gefunden?!")
                
say("Lass mal sehen!")
                
pc.removeitem("30126", 1)
                
wait()
                
say("Okay, ich denke das ist erstmal ausreichend")
                
say("Die Qualität ist gut und ihr werdet Teleportiert")
                
say("Bis zum nächsten mal")
                
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
("Jagal-Tunseok")
            
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.spawn_mob(20080, 493, 595)
            
d.setf("devillevel", 3)
            
d.jump_all(3347, 12810)            
        
end        
        

        when 20080.chat
."Jagal-Tunseok" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
            say_title
("Sao-Hae")
            
say("")
            
say("Mein Bruder Jagal-Tunseok?")
            
say("Du hast ihn getroffen?")
            
say("Ja ich bin sein Bruder.. Es wäre")
            
say("sehr nett von Ihnen, 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(20361, 1241, 250)
                
d.spawn_mob(20361, 1246, 242)
                
d.spawn_mob(20361, 1255, 243)
                
d.spawn_mob(20361, 1259, 250)
                
d.spawn_mob(20361, 1254, 258)
                
d.spawn_mob(20361, 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 20361.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)
            -- 
End Spwan!!!
            
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 
so sieht meine quest aus. ich möchte nach der eishexe, 4te Etage, die Value 20351 spawnen lassen. Sprich; Wenn die Eishexe gefunden wurde, getötet wurde, soll dieser NPC spawnen, diesen soll man dann anklicken um weiter zu kommen. Wie, wo und was muss ich eintragen? bitte um hilfe, nach 50 anfragen danach ... -.-

Danke ..
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

Der Spawnt an den Koordinaten 740 207
07/21/2012 11:34 .KingDarkness#6336
Hallo leute...

PHP Code:
quest dungeon begin
state start begin
when 20011.chat
."Dungeon betreten" begin
say_title
("Uriel:")
say("Ihr müsst ganz schön mutig sein")
say("hierher zu kommen.")
say("")
say_title("Ihr seid stark genug?")
say("")
say("Wollt ihr den Dungeon betreten?")
say("")
local s = select("Aber klar!", "Nein, lieber nicht.")
if 
s == 1 and pc.get_level() > 75 then
pc
.warp(9111706, 9111811)
--
end
else
return
end
end

when dungeon_stone1
.kill begin
    chat
("Ihr hattet erfolg!")
    
d.jump_all(91111 , 91111)
    
d.regen_file("data/dungeon/dungeon_regen1.txt")
end

end
end 
Habe gerade nen Problem bei dieser Quest. Koords sind alle richtig!
Ich werde immer wenn ich den Metin gekillt habe einmal ganz kurz zu der Map geportet und dann auf einmal zu Map1 ?
07/21/2012 12:36 Kriegergeist^^#6337
#.KingDarkness
Das dungeon soll ja erst anfangen, also statt:
HTML Code:
d.jump_all
musst du
HTML Code:
d.new_jump_all
benutzen

MfG
Kriegergeist^^
07/21/2012 14:51 Fever1234#6338
PHP Code:
-------------------------------
---
Devils Catacomb by [SA]Fever---
-------------------------------  
quest devilscave begin
    state start begin    
        when 20090.chat
."Devils Catacomb lv.80" begin
            
if pc.get_level() < 80 and pc.count_item(30122) >= 1 then 
                say_title
("Wächter der Katakombe")
                
say("")
                
say_reward("Du hast zwar einen pass aber du")
                
say_reward("bist noch zu schwach für die Katakomben!")
                
say("")
            elseif 
pc.get_level() > 79 and pc.count_item(30122) < 1 then
                say_title
("Wächter der Katakombe")
                
say("")
                
say_reward("Du brauchst einen pass!")
                
say("")
            elseif 
pc.get_level() > 79 and pc.count_item(30122) > 0 then 
                say_title
("Wächter der Katakombe")
                
say("")
                
say("Hinter mir liegt der Eingang zur")
                
say("Devils Catacomb einem der Gefährlichsten")
                
say("Orte die ich kenne...")
                
say("")
                
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 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("")
                
local dc_login = select("pass geben!", "Abbrechen")
                if 
dc_login == 1 then
                    pc
.remove_item("30122", 1)
                    
pc.warp(415200, 4209200)
                elseif 
dc_login == 2 then
                    
return
                
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", 30226, "") --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 droppst 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 gedroppt!") 
game.drop_item(30226, 1)
d.spawn_mob(30101, 299, 328)  
else 
chat("Dieses Monster hatte keinen Schlüssel.") 
end
end
when 30101.take with item
.vnum == 30226 begin 
chat
("Du wirst jetzt in die 2. Ebene gebracht.") 
pc.remove_item("30226") 
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 
chat
("Ihr befindet euch jetzt in der 2. Ebene!") 
chat("Schlagt euch zum Schildkrötenfels durch!") 
chat("Ihr habt nur 10 minuten Zeit!") 
timer("dc1", 600) 
end 
if d.getf("Ebene") == 3 then 
chat
("Findet und zerstört den richtigen Metin der Verschweiflung.") 
chat("Ihr habt 20 Minuten Zeit.") 
timer("dc2", 1200) 
end 
if d.getf("Ebene") == 4 then 
chat
("Findet den Weg aus dem Labyrinth.") 
chat("Und findet die Inschrift am Runenpfahl.") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc3", 900) 
d.spawn_mob(30104, 132, 667) 
d.spawn_mob(8037, 328, 779) 
d.spawn_mob(8038, 70, 672) 
d.spawn_mob(8036, 142, 865) 
d.spawn_mob(8035, 433, 935) 
d.spawn_mob(8034, 243, 854) 
d.spawn_mob(8032, 182, 667) 
end 
if d.getf("Ebene") == 5 then 
chat
("Findet und tötet Tartaros um das Fratzen-Totem zu bekommen!") 
chat("Zieht es anschließend auf den Basalt-Obelisk auf dem Berg.") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc4", 900) 
d.spawn_mob(30104, 500, 800) 
end 
if d.getf("Ebene") == 6 then 
chat
("Tötet Charon um zur letzten Ebene zu kommen!") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc5", 900) 
d.spawn_mob(30104, 500, 800) 
end 
if d.getf("Ebene") == 7 then 
chat
("Tötet Azrael und setzt dem Unheil ein Ende!") 
chat("Ihr habt 15 Minuten Zeit!") 
timer("dc6", 900) 
d.spawn_mob(30104, 500, 800) 
end 
end 


when dc1
.timer begin 
chat
("Die Zeit ist Abgelaufen!") 
warp_all_to_village( pc.get_map_index() , 5 ) 
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!") 
warp_all_to_village( pc.get_map_index() , 5 ) 
end 
--Ebene 2 
when 30103.chat
."Weiter zur 3. Ebene" begin 
npc
.purge() 
say_reward("Inschrift:") 
say("Es ist noch ein weiter weg.") 
wait() 
d.new_jump_all(209, 5427, 42282) 
d.setf("Ebene", 3) 
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" with pc.in_dungeon() begin 
say_title
("Ihr seid schon ziemlich weit gekommen.") 
timer("dc3", 6000) 
chat("Ihr habt den richtigen Weg gefunden.") 
chat("Ihr kommt jetzt in die 5. Ebene.") 
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(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 2593.kill with pc
.in_dungeon() begin 
chat
("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!") 
chat("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.") 
game.drop_item(30225, 1) 
end 
when 30102.take with item
.vnum == 30225 begin 
timer
("dc4", 6000) 
item.remove() 
npc.purge() 
say_reward("...") 
chat("Ihr werdet jetzt in die 6. Ebene 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")
d.spawn_mob(2597, 1233, 679)  
end 
when 2597.kill with pc
.in_dungeon() begin 
timer
("dc5", 6000) 
d.kill_all() 
chat("Ihr habt Charon besiegt!") 
chat("Bereitet euch auf den Kampf mit Azrael vor!") 
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  
--d.spawn_mob(2598, 74, 1106) 
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118) 
--
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()  
--
chat("Ihr habt ihn Besiegt und das Böse vertrieben.")  
--
chat("Ihr werdet in 2 Minuten herrausteleportiert!")  
--
chat("Sammelt schnell die Schätze ein, bevor es zu spät ist.")  
--
d.kill_all()  
--
d.kill_all()  
--
notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!")  
--
timer("goout_from_dc", 120)    
--
pc.give_item2(50186)  
--
end  
-- Ebene 8 (Ende)
         
when goout_from_dc.timer begin 
                warp_all_to_village
( pc.get_map_index() , 3 ) 
        
end
when dc6
.timer begin 
              chat
("Die Zeit ist Abgelaufen!") 
              
warp_all_to_village( pc.get_map_index() , 5 )        
        --
end 

Quote:
der fehler ist bei 338 beim letzten end da meckert er rumm
mach ich zwei -- davor dan geht die quest durch aber schreit dan
qc in malloc():error:allocation failed
abort trap (core dumed)
kann einer sagen was falsch ist
07/21/2012 15:43 .KingDarkness#6339
Quote:
Originally Posted by Kriegergeist^^ View Post
#.KingDarkness
Das dungeon soll ja erst anfangen, also statt:
HTML Code:
d.jump_all
musst du
HTML Code:
d.new_jump_all
benutzen

MfG
Kriegergeist^^

Ich werde nicht mehr geportet bzw. die regenfiles sieht man nicht (monster)
07/22/2012 01:47 Fever1234#6340
PHP Code:
habe jetzt nur noch ein kleines problem die quest läuft durch aber wen ich per npc auf die map komme kriege ich keine quest wo ran liegt das? 
PHP Code:
meine quest 
PHP Code:
-------------------------------
---
Devils Catacomb by [SA]Fever---
-------------------------------  
quest devilscave begin
    state start begin
when 20090.chat
."DC Status Zurücksetzen!" 
with pc.is_gm() begin 
say_title
("Wächter der Katakombe") 
say("") 
say_reward("Status zurückgesetzt!") 
say("") 
game.set_event_flag("dc_versuche",1) 
game.set_event_flag("dcgamer",0) 
game.set_event_flag("dc_geschaft",0) 
end 
--Configuration 
when 20090.chat
."DC Configuration!" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm() begin 
game
.set_event_flag("dc_is_ok",1) 
game.set_event_flag("block_dc_config",1) 
game.set_event_flag("dc_versuche",1) 
end     
        when 20090.chat
."Devils Catacomb" begin
            
if pc.get_level() < 80 and pc.count_item(30122) >= 1 then 
                say_title
("Wächter der Katakombe")
                
say("")
                
say_reward("Du hast zwar einen pass aber du")
                
say_reward("bist noch zu schwach für die Katakomben!")
                
say("")
            elseif 
pc.get_level() > 79 and pc.count_item(30122) < 1 then
                say_title
("Wächter der Katakombe")
                
say("")
                
say_reward("Du brauchst einen pass!")
                
say("")
            elseif 
pc.get_level() > 79 and pc.count_item(30122) > 0 then 
                say_title
("Wächter der Katakombe")
                
say("")
                
say("Hinter mir liegt der Eingang zur")
                
say("Devils Catacomb einem der Gefährlichsten")
                
say("Orte die ich kenne...")
                
say("")
                
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 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("")
                
local dc_login = select("pass geben!", "Abbrechen")
                if 
dc_login == 1 then
                    pc
.remove_item("30122", 1)
                    
pc.warp(415200, 4209200)
                elseif 
dc_login == 2 then
                    
return
                
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",30226,"") --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 droppst 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 gedroppt!") 
--
game.drop_item(30226, 1)
d.spawn_mob(30101, 299, 328)  
else 
chat("Dieses Monster hatte keinen Schlüssel.") 
end
end
when 30101.take with item
.vnum == 30226 begin 
chat
("Du wirst jetzt in die 2. Ebene gebracht.") 
pc.remove_item("30226") 
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 
chat
("Ihr befindet euch jetzt in der 2. Ebene!") 
chat("Schlagt euch zum Schildkrötenfels durch!") 
chat("Ihr habt nur 10 minuten Zeit!") 
timer("dc1", 600) 
end 
if d.getf("Ebene") == 3 then 
chat
("Findet und zerstört den richtigen Metin der Verschweiflung.") 
chat("Ihr habt 20 Minuten Zeit.") 
timer("dc2", 1200) 
end 
if d.getf("Ebene") == 4 then 
chat
("Findet den Weg aus dem Labyrinth.") 
chat("Und findet die Inschrift am Runenpfahl.") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc3", 900) 
d.spawn_mob(30104, 132, 667) 
d.spawn_mob(8037, 328, 779) 
d.spawn_mob(8038, 70, 672) 
d.spawn_mob(8036, 142, 865) 
d.spawn_mob(8035, 433, 935) 
d.spawn_mob(8034, 243, 854) 
d.spawn_mob(8032, 182, 667) 
end 
if d.getf("Ebene") == 5 then 
chat
("Findet und tötet Tartaros um das Fratzen-Totem zu bekommen!") 
chat("Zieht es anschließend auf den Basalt-Obelisk auf dem Berg.") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc4", 900) 
d.spawn_mob(30104, 500, 800) 
end 
if d.getf("Ebene") == 6 then 
chat
("Tötet Charon um zur letzten Ebene zu kommen!") 
chat("Ihr habt 15 Minuten Zeit.") 
timer("dc5", 900) 
d.spawn_mob(30104, 500, 800) 
end 
if d.getf("Ebene") == 7 then 
chat
("Tötet Azrael und setzt dem Unheil ein Ende!") 
chat("Ihr habt 15 Minuten Zeit!") 
timer("dc6", 900) 
d.spawn_mob(30104, 500, 800) 
end 
end 


when dc1
.timer begin 
chat
("Die Zeit ist Abgelaufen!") 
warp_all_to_village( pc.get_map_index() , 5 ) 
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!") 
warp_all_to_village( pc.get_map_index() , 5 ) 
end 
--Ebene 2 
when 30103.chat
."Weiter zur 3. Ebene" begin 
npc
.purge() 
say_reward("Inschrift:") 
say("Es ist noch ein weiter weg.") 
wait() 
d.new_jump_all(209, 5427, 42282) 
d.setf("Ebene", 3) 
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" with pc.in_dungeon() begin 
say_title
("Ihr seid schon ziemlich weit gekommen.") 
timer("dc3", 6000) 
chat("Ihr habt den richtigen Weg gefunden.") 
chat("Ihr kommt jetzt in die 5. Ebene.") 
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(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 2593.kill with pc
.in_dungeon() begin 
chat
("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!") 
chat("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.") 
game.drop_item(30225, 1) 
end 
when 30102.take with item
.vnum == 30225 begin 
timer
("dc4", 6000) 
item.remove() 
npc.purge() 
say_reward("...") 
chat("Ihr werdet jetzt in die 6. Ebene 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")
d.spawn_mob(2597, 1233, 679)  
end 
when 2597.kill with pc
.in_dungeon() begin 
timer
("dc5", 6000) 
d.kill_all() 
chat("Ihr habt Charon besiegt!") 
chat("Bereitet euch auf den Kampf mit Azrael vor!") 
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  
--Ebene 8 (ende)
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()  
chat("Ihr habt ihn Besiegt und das Böse vertrieben.")  
chat("Ihr werdet in 2 Minuten herrausteleportiert!")  
chat("Sammelt schnell die Schätze ein, bevor es zu spät ist.")
--
d.spawn_mob(2598, 74, 1106) 
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118)  
--
d.spawn_mob(2596, 74, 1118) 
--
end  
d
.kill_all()  
d.kill_all()  
notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!")  
timer("goout_from_dc", 120)    
pc.give_item2(50186)
warp_all_to_village( pc.get_map_index() , 5 )
end
when 9012.chat
."Devils Catacomb Verlassen" with pc.in_dungeon() begin
            say_title
("Catacomb Geschafft")
            
say("")
            
say_reward("Willst du die Devils Catacomb verlassen?")
            
say("")
            
local dc_left = select("Ja", "Nein")
            if 
dc_left == 1 then
                pc
.warp(591100, 99200)
            else
                return
            
end            
        end
    end
end 
PHP Code:
bitte heft mir schnell 
07/22/2012 17:02 strikerider#6341
Hello i'm trying to implementing this quest but I only recybe errors
PHP Code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

--                
Criada por StriKe                  -- 
--              
Copyright Metin2Style   
--                Hero-gamers.com                      -- 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
quest uriel_magia begin 
        when login 
or levelup with pc.get_level() >= 75 begin            |Aqui podem alterar o nivel para a quest aparecer(neste caso aparece a nivel 1) 
            
set_state(information) 
        
end     
    end 

    state information begin 
        when letter begin 
            local v 
= find_npc_by_vnum(20011) 
            if 
v != 0 then 
                target
.vid("__TARGET__", v, "Uriel") 
            
end 
            send_letter
("Magia Misteriosa") 
        
end 

        when button 
or info begin 
            say
("") 
            
say("Uriel está com alguns problemas.") 
            
say("Ele costuma ser algo generoso.") 
            
say("Vai ter com ele, descobre o que se passa,") 
            
say("e ajuda-o no que precisar.") 
        
end 
         
        when __TARGET__
.target.click or 
            
20011.chat."Magia Misteriosa" begin 
            target
.delete("__TARGET__") 
            ---                                                   
l 
            say_title
("Magia Misteriosa") 
            
say("Olá caro viajante, estou a meio de uma ") 
            
say("pesquisa revolucionária.") 
            
say("Estou a tentar descobrir o segredo para") 
            
say("a manipulação do tamanho dos objectos.") 
            
say("Este processo exige magias sagradas, que eu") 
            
say("ainda não controlo totalmente.") 
            
say("") 
            
wait() 
            
say_title("Uriel") 
            
say("O objecto que eu necessito é muito raro,") 
            
say("e difícil de achar. ") 
            
say("Foi-me roubado há alguns anos enquanto passeava") 
            
say("pelas margens do rio do nosso querido reino...") 
            
say("Nunca esquecerei o dia em que o Traidor Balso me roubou.") 
            
say("A última informação que eu tive sobre ele, foi que estava na") 
            
say("posse do Dragão Azul.") 
            
say("Ele é muito perigoso por isso tem cuidado.")                                                                                                                                                           
            
set_state(go_to_disciple) 
            
pc.setqf("duration",0)  -- Time limit 
            pc
.setqf("collect_count",0)--Contador 
        end 
    end 

    state go_to_disciple begin 
        when letter begin 
            send_letter
("Favor do Uriel") 
             
        
end 
        when button 
or info begin 
            say_title
("Magia Misteriosa") 
            ---                                                    
            
say("") 
            
say("O Uriel está a pesquisar acerca da manipulação ") 
            
say("do tamanho dos objectos.") 
            
say("Ele precisa do seu livro, sem ele não poderá entender") 
            
say("a magia.") 
            
say("Podes obtê-lo matando o Dragão Azul.") 
            
say_item_vnum(30168)  
            
say_reward("  Actualmente obteste "..pc.getqf("collect_count").." livros!") 
            
say("") 
        
end 
         
        when 2293.kill  begin  
-->Parte onde dropas o livro, se quiseres alterar o monstro que dropa o livro altera o 2293 para o nº que quiseres| 
            
local s = number(1, 100) 
            if 
s <= 30 and pc.count_item(30132)==0 then 
                pc
.give_item2(30132, 1) 
                
send_letter("Obteste o Livro do Uriel")         
            
end     
        end 

        
|Parte onde entregas o Livro ao Uriel| 
        
when 20011.chat."Trouxes-te o Livro? " with pc.count_item(30132) >0   begin 
            
if get_time() > pc.getqf("duration") then 
                
if  pc.count_item(30132) >0 then 
                say_title
("Uriel") 
                ---                                                   
l 
                say
("Oh!! Conseguiste encontrar...") 
                
say("Deixa-me dar uma vista de olhos...") 
                
say("Por favor espera um momento...") 
                
say("") 
                
pc.remove_item(30132, 1) 
                
wait() 
         
                
end                                 
                
|Parte da recompensa| 
                    
say_title("Magia Misteriosa") 
                    
say("Conseguiste encontrar o Livro em perfeito estado.") 
                    
say("Pelo teu maravilhoso trabalho vou-te oferecer 2") 
                    
say("prémios.") 
                    
say("Um é o resultado da minha pesquisa, o outro") 
                    
say("vai ser-te útil na tua conquista contra o mal.") 
                    
say_reward("Recebes-te um item que permite abrir o armazém.") 
                    
say_reward("Recebes-te 2000 pontos de vida.") 
                    
pc.setqf("collect_count",0) 
                    
affect.add_collect(1, 2000, 60*60*24*365*60)-->Bonus infinitos 
                    pc
.give_item2(40001, 1)----->item a receber 
                    
return 
            
end 
        end 

    end 
end 
        set_state
(__complete) 
        
end 
             
    end 

     
    state __complete begin 
    end 
end 
07/22/2012 21:49 black1112#6342
PHP Code:
quest regenbogenn begin
    state start begin
            when 30000.
use  begin
                pc
.give_exp(5000000)
                
end
            end
        end 
Was ist daran falsch?
07/22/2012 21:53 strikerider#6343
Black betin when 30000.use begin

you have 2 spaces the quest is like this

when 30000.use begin
07/23/2012 18:26 JediMax#6344
Ein Brief soll einfach an einen bestimmten Ort hinporten.

PHP Code:
quest lvlmap begin 
    state start begin 
        when login 
or levelup with pc.get_level()>= 80 begin 
            set_state 
(info) 
        
end 
    end 
    state info begin 
        when letter begin 
            send_letter
("Level Map") 
            
end 
        end 
        when button 
or info begin 
            say_title
("Zettel:") 
            
say("Möctest du auf die Lvl/Farmmap?") 
            
sub_set = select("Ja", "Jetz ned du Depp") 
            if 
sub_set == 1 then 
                pc
.warp(18327,11159) 
            elseif 
sub_set == 2 then 
            
return 
            
end 
        end 
    end 
end 
07/23/2012 18:51 Poppitz#6345
PHP Code:
quest lvlmap begin 
    state start begin 
        when login 
or levelup with pc.get_level()>= 80 begin 
            setstate
(info) 
        
end 
    end 
    state info begin 
        when letter begin 
            send_letter
("Level Map") 
        
end 
        when button 
or info begin 
            say_title
("Zettel:") 
            
say("Möctest du auf die Lvl/Farmmap?") 
            
sub_set = select("Ja", "Jetz ned du Depp") 
            if 
sub_set == 1 then 
                pc
.warp(18327,11159) 
            else
            return 
            
end 
        end 
    end 
end