[SERVICE] Die Questkontrolle

07/18/2012 23:24 .αpeх'#6316
@ Fever

PHP Code:
quest devilcave begin 
state start begin 
--DC Status Reset 
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 
--FaiL... Entry 
--when 20090.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 and pc.get_level() > 80 begin 
--say_title("Wächter der Katakombe") 
--
say("") 
--
say_reward("Du darfst noch nicht in die Devils Catacomb!") 
--
say("") 
--
say_reward("Bring mir ein Sensenmannrelikt zieh es einfach auf mich!") 
--
say_reward("und du darfst Passieren!") 
--
end 
--when 20090.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 
--Sensenmannrelikt Abgabe! 
--
when 20090.take with item.vnum == 30122 and pc.getqf("can_in_dc") == 0 begin 
--if pc.get_level() < 80 then 
--say_title("Wächter der Katakombe") 
--
say("") 
--
say_reward("Du musst lv.80 sein um ein Sensenmannrelikt abzugeben!") 
--
say("") 
--else 
--
item.remove() 
--
say_title("Wächter der Katakombe") 
--
say("") 
--
say_reward("Du darfst nun die Devils Catacomb betreten!") 
--
say("") 
--
pc.setqf("can_in_dc", 1) 
--
end 
--end 
--Entry 
when 20090.chat
."The Devils Catacomb" 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("") 
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("") 
pc.setqf("Ebene", 1) 
local dc_login = select("Betreten", "Abbrechen")
when 20090.take with item.vnum == 30122 begin 
chat
("Du wirst jetzt in die 1. Ebene gebracht.")
pc.remove_item("30122") 
if 
dc_login == 1 then 
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) 
else 
chat("Dieses Monster hatte keinen Schlüssel.") 
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") 
end 
d
.spawn_mob(2597, 1233, 679) 
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) 
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) 
d.spawn_mob(9012, 74, 1159) 
pc.give_item2(50186) 
end 

when dc6
.timer begin 
chat
("Die Zeit ist Abgelaufen!") 
warp_all_to_village( pc.get_map_index() , 5 ) 
end 
when goout_from_dc
.timer begin 
warp_all_to_village
( pc.get_map_index() , 3 ) 
end 
end 
07/18/2012 23:35 Fever1234#6317
und jetzt nur noch so das das item 30122 bei eintritt benötig wird und nach eintritt verschwindet und bei den andern auch wäre klasse


Quote:
die quest bleib hängen wen ich es eingefügt habe
und den code benutze
cd /usr/home/game/share/locale/germany/quest
chmod 777 make.sh
sh make.sh
fehler q in malloc(): error: allocation failed
Abort Trap (core dumped)
wie behebe ich den fehler oder ist der nicht schlimm?

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)            
            
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("")
            
say_reward("Viel Glück!")
            
say("")
            
pc.setqf("sksgedroppt", 0)
        
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
            item
.remove()
            
d.new_jump_all(220, 3636, 12086)
            
d.notice("~~~Schlagt euch zum Schildkrötenfels durch!~~~")
            
d.notice("~~~Ihr habt nur 10 minuten Zeit!~~~")
            
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(30104, 741, 221)
        
end                          
--Ebene 2
        when 30104.chat
."Weiter...(Ebene 3)" begin
            npc
.purge()
            
say_reward("Inschrift")
            
say("Es ist noch ein weiter weg...")
            
wait()
            
d.new_jump_all(220, 4427, 12284)
            
d.setf("goto_ebene3", 0)
            
d.notice("~~Es ist noch ein weiter weg...")
            
d.notice("~~Findet und zerstört den richtigen Metin der Vergeltung~~")
            
d.regen_file("data/dungeon/devilcave/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("devils_catacomb_goto_ebene4", 5)
        
end    

        
--Ebene 4 (Labyrinth)
        
when devils_catacomb_goto_ebene4.timer begin
            d
.new_jump_all(209, 3143, 12657)
            
d.setf("labyrinth", 1)
            
d.spawn_mob(2501, 500, 720) 
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene4_portale.txt")
            
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
."Der Höllenbastard!" with pc.in_dungeon() begin
            npc
.purge()
            
say_title(".....")
            
d.notice("~~Ihr habt den richtigen Weg gefunden...")
            
timer("devils_catacomb_goto_ebene5", 5)
        
end
--Ebene 6 (Tartaros)
        
when devils_catacomb_goto_ebene5.timer begin
            d
.new_jump_all(220, 3917, 12925)
            
d.notice("~~Findet und Tötet Tartaros um ein Fratzen-Totem zu bekommen!~~")
            
d.notice("~~und zieht es dann auf den Basalt-Obelisk~~")
            
d.spawn_mob(30102, 848, 739)
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
            
local tartaros = number(1,4)
            if 
tartaros==1 then
                d
.spawn_mob(2593, 991, 848)
            
end
            
if tartaros==2 then
                d
.spawn_mob(2593, 999, 652)
            
end
            
if tartaros==3 then
                d
.spawn_mob(2593, 848, 577)
            
end
            
if tartaros==4 then
                d
.spawn_mob(2593, 703, 644)
            
end
            
if tartaros==5 then
                d
.spawn_mob(2593, 692, 817)
            
end
        end            
        when 2593.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 5)
            
local Reward = 5
            local Achievement 
= "Höllenbastard"
            
local killcount = pc.getqf("2593")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2593", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
d.notice("~~~Der Höllenbastard wurde besiegt und das Fratzen-Totem wurde Fallengelassen!~~~")
            
game.drop_item(30312, 1)
        
end    
        when 30102.take with item
.vnum == 30312 begin
            item
.remove()
            
npc.purge()
            
say_reward("...")
            
d.notice("~~Ihr habt es geschaft!~~")
            
timer("devils_catacomb_goto_ebene6", 5)
        
end
--Ebene 7 (Charon)
        
when devils_catacomb_goto_ebene6.timer begin
            d
.new_jump_all(209, 4411, 12736)
            
d.notice("~~Tötet Charon um zur letzten Ebene zu kommen!~~")
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
        
end        
        when 2597.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 8)
            
local Reward = 8
            local Achievement 
= "Charon"
            
local killcount = pc.getqf("2597")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2597", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
pc.give_item2(30122)
            
chat("Du hast einen pass bekommen!")
            
d.notice("~~Ihr habt ihn besiegt...~~")
            
d.notice("~~Bereitet euch auf den Kampf mit Azrael vor!~~")
            
timer("devils_catacomb_goto_ebene7", 10)
        
end
--Ebene 8 (Azrael)
        
when devils_catacomb_goto_ebene7.timer begin
            d
.new_jump_all(209, 3147, 13191)
            
d.notice("~~Tötet Azrael nur dann bekommt ihr eine Belohnung!~~")
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
        
end
        when 2598.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 25)
            
local Reward = 25
            local Achievement 
= "Azrael"
            
local killcount = pc.getqf("2598")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2598", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
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 euch eine Belohnung verdient!")
            
d.kill_all()
            
d.kill_all()
            
notice_all("~~Der Spieler "..pc.get_name().." hat mit lv."..(level).." Azrael besiegt!~~")
            
d.spawn_mob(20061, 74, 1159)    
            
pc.give_item2(50186)
            
d.setf("dc_belohnung", 1)
        
end
        when 20061.chat
."Devils Catacomb Verlassen" with pc.in_dungeon() begin
            say_title
("GlückWunsch")
            
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 



Quote:
der fehler ist das ich nicht geportet werde weiß einer warum?
weiß keiner die lösung?
07/19/2012 09:23 lιкєcяαηк™#6318
Quote:
Originally Posted by Fever1234 View Post
und jetzt nur noch so das das item 30122 bei eintritt benötig wird und nach eintritt verschwindet und bei den andern auch wäre klasse



wie behebe ich den fehler oder ist der nicht schlimm?

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)            
            
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("")
            
say_reward("Viel Glück!")
            
say("")
            
pc.setqf("sksgedroppt", 0)
        
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
            item
.remove()
            
d.new_jump_all(220, 3636, 12086)
            
d.notice("~~~Schlagt euch zum Schildkrötenfels durch!~~~")
            
d.notice("~~~Ihr habt nur 10 minuten Zeit!~~~")
            
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(30104, 741, 221)
        
end                          
--Ebene 2
        when 30104.chat
."Weiter...(Ebene 3)" begin
            npc
.purge()
            
say_reward("Inschrift")
            
say("Es ist noch ein weiter weg...")
            
wait()
            
d.new_jump_all(220, 4427, 12284)
            
d.setf("goto_ebene3", 0)
            
d.notice("~~Es ist noch ein weiter weg...")
            
d.notice("~~Findet und zerstört den richtigen Metin der Vergeltung~~")
            
d.regen_file("data/dungeon/devilcave/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("devils_catacomb_goto_ebene4", 5)
        
end    

        
--Ebene 4 (Labyrinth)
        
when devils_catacomb_goto_ebene4.timer begin
            d
.new_jump_all(209, 3143, 12657)
            
d.setf("labyrinth", 1)
            
d.spawn_mob(2501, 500, 720) 
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene4_portale.txt")
            
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
."Der Höllenbastard!" with pc.in_dungeon() begin
            npc
.purge()
            
say_title(".....")
            
d.notice("~~Ihr habt den richtigen Weg gefunden...")
            
timer("devils_catacomb_goto_ebene5", 5)
        
end
--Ebene 6 (Tartaros)
        
when devils_catacomb_goto_ebene5.timer begin
            d
.new_jump_all(220, 3917, 12925)
            
d.notice("~~Findet und Tötet Tartaros um ein Fratzen-Totem zu bekommen!~~")
            
d.notice("~~und zieht es dann auf den Basalt-Obelisk~~")
            
d.spawn_mob(30102, 848, 739)
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
            
local tartaros = number(1,4)
            if 
tartaros==1 then
                d
.spawn_mob(2593, 991, 848)
            
end
            
if tartaros==2 then
                d
.spawn_mob(2593, 999, 652)
            
end
            
if tartaros==3 then
                d
.spawn_mob(2593, 848, 577)
            
end
            
if tartaros==4 then
                d
.spawn_mob(2593, 703, 644)
            
end
            
if tartaros==5 then
                d
.spawn_mob(2593, 692, 817)
            
end
        end            
        when 2593.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 5)
            
local Reward = 5
            local Achievement 
= "Höllenbastard"
            
local killcount = pc.getqf("2593")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2593", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
d.notice("~~~Der Höllenbastard wurde besiegt und das Fratzen-Totem wurde Fallengelassen!~~~")
            
game.drop_item(30312, 1)
        
end    
        when 30102.take with item
.vnum == 30312 begin
            item
.remove()
            
npc.purge()
            
say_reward("...")
            
d.notice("~~Ihr habt es geschaft!~~")
            
timer("devils_catacomb_goto_ebene6", 5)
        
end
--Ebene 7 (Charon)
        
when devils_catacomb_goto_ebene6.timer begin
            d
.new_jump_all(209, 4411, 12736)
            
d.notice("~~Tötet Charon um zur letzten Ebene zu kommen!~~")
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
        
end        
        when 2597.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 8)
            
local Reward = 8
            local Achievement 
= "Charon"
            
local killcount = pc.getqf("2597")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2597", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
pc.give_item2(30122)
            
chat("Du hast einen pass bekommen!")
            
d.notice("~~Ihr habt ihn besiegt...~~")
            
d.notice("~~Bereitet euch auf den Kampf mit Azrael vor!~~")
            
timer("devils_catacomb_goto_ebene7", 10)
        
end
--Ebene 8 (Azrael)
        
when devils_catacomb_goto_ebene7.timer begin
            d
.new_jump_all(209, 3147, 13191)
            
d.notice("~~Tötet Azrael nur dann bekommt ihr eine Belohnung!~~")
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
        
end
        when 2598.kill with pc
.in_dungeon() begin
            game
.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 25)
            
local Reward = 25
            local Achievement 
= "Azrael"
            
local killcount = pc.getqf("2598")
            
local actual_achievement_points = pc.getqf("achievement_points")
            
pc.setqf("2598", killcount + 1)
            --
pc.setqf("achievement_points", actual_achievement_points + Reward)
            
cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            
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 euch eine Belohnung verdient!")
            
d.kill_all()
            
d.kill_all()
            
notice_all("~~Der Spieler "..pc.get_name().." hat mit lv."..(level).." Azrael besiegt!~~")
            
d.spawn_mob(20061, 74, 1159)    
            
pc.give_item2(50186)
            
d.setf("dc_belohnung", 1)
        
end
        when 20061.chat
."Devils Catacomb Verlassen" with pc.in_dungeon() begin
            say_title
("GlückWunsch")
            
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 





weiß keiner die lösung?
Das Item wird doch removed..

PHP Code:
if dc_login == 1 then
    pc
.remove_item("30122", 1)
    
pc.warp(415200 , 4209200)
elseif 
dc_login == 2 then 
07/19/2012 11:09 BlackBynes#6319
Quote:
Originally Posted by Fuzzy111 View Post
Hey ho, hab folgendes Problem..
Die Quest an sich geht und ich bekomme auch eine Rolle.
Wenn ich aber auf die Rolle draufklicke passiert nix..
Ich weiß nicht warum aber guckt euch das nur mal eben schnell an:


Hi
ich habe den Auftrag mal etwas abgeändert (ist nicht getestet !)
sollte eigentlich Funktionieren, andernfalls melde dich einfach nochmal.

Gruß Blacky

07/19/2012 13:31 Fever1234#6320
PHP Code:
quest training_grandmaster_skill begin
    state start begin
        when 50513.
use begin
            say_title
("Seelenstein")
            
local seelicount = pc.count_item(50513)
            if 
pc.get_skill_group() == 0 then
                say
("Du besitzt keine Fertigkeiten, die")
                
say("gegroßmeistert werden können.")
                return
            
end
            
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
                
if pc.is_skill_book_no_delay() then
                    say
("Durch den gebrauch einer Exorzismuss-")
                    
say("Schriftrolle kannst du einen weiteren")
                    
say("Seelenstein lesen!")                
                    
wait()
                    
say_title("Seelenstein")
                else
                    
say("Du hast heute bereits einen Seelenstein gelesen!")
                    return
                
end
            end
            local result 
= training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
            
local vnum_list = result[1]
            
local name_list = result[2]
            if 
table.getn(vnum_list) == 0 then
                say
("Du besitzt keine Fertigkeiten, die")
                
say("gegroßmeistert werden können.")
                return
            
end
            say
("Welche Fertigkeit möchtest du trainieren?")
            
say("")
            
local menu_list = {}
            
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
            
table.insert(menu_list, "Abbrechen") 
            
local s=select_table(menu_list)
            if 
table.getn(menu_list) == s then
                
return
            
end
            local skill_name
=name_list[s]
            
local skill_vnum=vnum_list[s]
            
local skill_level = pc.get_skill_level(skill_vnum)
            
local cur_alignment = pc.get_real_alignment()
            
local need_alignment = 1000+500*(skill_level-30)
            
test_chat("Momentaner Rang: "..cur_alignment)
            
test_chat("Benötigter Rang: "..need_alignment)            
            
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
            if 
skill_level-30+1==10 then
                title
=string.format("%s auf P trainieren", skill_name)
            
end
            pc
.remove_item("50513", 1)
            
say_title(title)
            
say("Durch das Lesen von Seelensteinen müssen")
            
say("dir als Zeichen des Opfers Rangpunkte")
            
say("abgezogen werden.")
            
say("")
            if 
cur_alignment<-19000+need_alignment then
                say_reward
("Du hast zu wenig Rangpunkte!")
                return
            
end
            
if cur_alignment<0 then
                say_reward
(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
                
say_reward("Beim erfolgreichen Einlesen des")
                
say_reward("Seelensteines wird dir doppelt")
                
say_reward("so viel Rangpunkte abgezogen.")
                
need_alignment=need_alignment*2
            
elseif cur_alignment<need_alignment then
                say_reward
(string.format("Benötigter Rang: %d", need_alignment))
                
say_reward("Beim erfolgreichen Einlesen des")
                
say_reward("Seelensteines wird dir doppelt")
                
say_reward("so viel Rangpunkte abgezogen.")
            else
                
say_reward(string.format("Benötigter Rang: %d", need_alignment))
            
end
            say
("")
            
local s=select("Lesen", "Abbrechen")    
            if 
s==2 then
                
return
            
end


            
if cur_alignment>=0 and cur_alignment<need_alignment then
                say_title
(string.format("%s bestätigen", title))
                
say("Das Lesen eines Seelensteines kostet Rang,")
                
say("wenn du diesen Seelenstein ließt,")
                
say("kommst du in den negativen Bereich.")
                
say("Bitte Bestätige das du diesen Seelenstein")
                
say("wirklich lesen möchtest! Das tust du indem")
                
say("du in den Textfeld das Wort")
                
say_reward("trainieren")
                
say("eingibst.")
                
local s=input()
                if 
s!="trainieren" then
                    
return
                
end
            end
            
if get_time() < pc.getqf("next_time") then
                
if pc.is_skill_book_no_delay() then
                    pc
.remove_skill_book_no_delay()
                else
                    
say("Bitte an die Admins wenden!")
                    return
                
end
            end
            pc
.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
            if 
need_alignment>0 and pc.count_item(50513)>0 then
                
if pc.learn_grand_master_skill(skill_vnum) then
                    pc
.change_alignment(-need_alignment)
                    
say_title(string.format("%s erfolgreich", title))
                    if 
40 == pc.get_skill_level(skill_vnum) then
                        say
(string.format("%s ist nun perfeckt Gemeistert.", skill_name))
                        
say("Herzlichen Glückwunsch!")
                    else
                        
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
                    
end
                    say
("")
                    
say_reward("Erfolgreich!")
                    
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
                    
say("")
                else
                    
say_title(string.format("%s fehlgeschlagen", title))
                    
say("Das Großmeistern ist fehlgeschlagen.")
                    
say("")
                    
local rang = number(need_alignment/3, need_alignment/2)
                    
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
                    
say("")
                    
pc.change_alignment(-rang)
                
end
            end
        end
        
function BuildGrandMasterSkillList(job, group)
            
GRAND_MASTER_SKILL_LEVEL = 30
            PERFECT_MASTER_SKILL_LEVEL 
= 40
            local skill_list 
= special.active_skill_list[job+1][group]
            
local ret_vnum_list = {}
            
local ret_name_list = {}
            
table.foreach(skill_list, 
            function(
i, skill_vnum) 
            
local skill_level = pc.get_skill_level(skill_vnum)
            if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
                table
.insert(ret_vnum_list, skill_vnum)
                
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
                if 
name == nil then name=skill_vnum end
                table
.insert(ret_name_list, name)
            
end
            end
)
            return {
ret_vnum_list, ret_name_list}
        
end
    end
end
-------------------------------
---
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[quote]  
--
when dc6.timer begin  
--chat("Die Zeit ist Abgelaufen!")  
--
warp_all_to_village( pc.get_map_index() , 5 )  
--
when goout_from_dc.timer begin
--d.spawn_mob(9012, 74, 1159)  
--
warp_all_to_village( pc.get_map_index() , 3 )  
end
end  
[/quote] 
Quote:
folgenes problem nach make.py aus führen kommt der fehler
traning_gradmaster_skill.quest:488 Abort trap (core dumed)
Quote:
was ist falsch oder was habe ich falsch gemacht der markrierte bereich
07/19/2012 16:22 Fuzzy111#6321
Quote:
Originally Posted by BlackBynes View Post
Hi
ich habe den Auftrag mal etwas abgeändert (ist nicht getestet !)
sollte eigentlich Funktionieren, andernfalls melde dich einfach nochmal.

Gruß Blacky

Es Funzt zwar, aber ich bekomme keine Rolle..
07/19/2012 16:26 Poppitz#6322
PHP Code:
quest waechterin begin
    state start begin
        when login with pc
.get_level() >= 105 begin
            local a 
= select("Licht", "Schatten")
            if 
a == 1 then
                setstate
(Licht)
            else
                
setstate (schatten)
            
end
        end
    end
        
    state Licht begin
        when letter begin
            send_letter
("Wächterin des Lichts!")
        
end
        
        when button 
or info begin
            say_title
("Wächterin des Lichts")
            
say("Die Wächterin des Lichts sucht dich.")
            
say("Begebe dich schnell in das Lichtreich!")
            
wait()
            return
            
setstate(finish)
        
end
    end
        
    state Dark begin
        when letter begin
            send_letter
("Wächterin des Schattens!")
        
end
        
        when button 
or info begin
            say_title
("Wächterin des Schattens")
            
say("Die Wächterin des Schattens sucht dich.")
            
say("Begebe dich schnell in das Schattenreich!")
            
wait()
            return
            
setstate(finish)
        
end    
    end

    state finish begin
    end
end 
07/19/2012 16:46 Fuzzy111#6323
Hier ist enmal die ganze Quest.
Wenn ich auf den Brief drücke kommt nix..
Quest:
07/19/2012 16:54 BlackBynes#6324
Quote:
Originally Posted by Fuzzy111 View Post
Hier ist enmal die ganze Quest.
Wenn ich auf den Brief drücke kommt nix..
Quest:
Ich schreib dir quest noch mal ein wenig um und dann sollte es funktioneren.
Gruß Blacky

-----------------------------
€dit:
Hier ist die getestet und funktionierende Quest
07/19/2012 17:25 Fuzzy111#6325
Quote:
Originally Posted by BlackBynes View Post
Ich schreib dir quest noch mal ein wenig um und dann sollte es funktioneren.
Gruß Blacky

-----------------------------
€dit:
Hier ist die getestet und funktionierende Quest
Jo, Ich bekomme jetzt aber keinen Brief ;D
07/19/2012 17:32 Poppitz#6326
PHP Code:
quest light_or_dark begin
    state start begin
        when guild_man1
.chat."Wähle deine Seite" or guild_man2.chat."Wähle deine Seite" or guild_man3.chat."Wähle deine Seite" with pc.count_item(57055) == 0 and pc.count_item(57056) == 0 and pc.get_level() >= 100 begin
            pc
.setqf("Neutral", 5)
            
say_title("Wächter des Dorfplatzes:")
            
say("Hallo, da du nun schon ein hohes Level erreicht")
            
say("hast, steht für dich heute ein wichtiger Tag")
            
say("an! Du musst zwischen 2 Seiten entscheiden.")
            
say("")
            
say("Das wäre einmal die Seite des Lichts")
            
say("dessen Hauptstadt Typhon heißt, oder die ")
            
say("Dunkle Seite deren Hauptstadt sich Legoria")
            
say("nennt. Es herrscht Krieg zwischen den beiden")
            
say("Reichen, daher gibt es auch oft große Schlachten!")
            
say("Um an einer Schlacht teilzunehmen, spreche bitte")
            
say("mit dem Schlachtenverwalter für mehr")
            
say("Informationen.")
            
wait()
            
say_title("Wächter des Dorfplatzes:")
            
say("So entscheide dich bitte jetzt!")
            
local s = select("Seite des Lichts", "Seite der Dunkelheit", "Ich überlege noch")
            if 
s == 3 then
                
return   
            elseif 
s == 1 then
                say_title
("Wächter des Dorfplatzes")
                
say("Glückwunsch du bist nun ein Mitglied")
                
say("des Lichts. Viel Glück!")
                
say("")
                
say_reward("Vertrag des Lichts erhalten")
                
notice_all(""..pc.get_name().." ist jetzt ein Mitglied des Lichts!")
                
setstate(licht)
                
pc.give_item2(57055, 1)
                
wait()
                return
            else
                
say_title("Wächter des Dorfplatzes")
                
say("Glückwunsch du bist nun ein Mitglied")
                
say("der Dunkelheit. Viel Glück!")
                
say("")
                
say_reward("Vertrag der Dunkelheit erhalten")
                
notice_all(""..pc.get_name().." ist jetzt ein Mitglied der Dunkelheit!")
                
setstate(dunkelheit)
                
pc.give_item2(57056, 1)
                
wait()
                return
            
end    
        end
        when 57055.
use begin
            pc
.warp(2424400, 8616600)
        
end
        when 57056.
use begin
            pc
.warp(844800, 000)
        
end
    end
    state licht begin
        when letter begin
            send_letter
("Wächterin des Lichts")
        
end
        when button 
or info begin
            say_title
("Wächterin des Lichts")
            
say("Die Wächterin des Lichts sucht nach dir.")
            
say("Begebe dich ins Lichtreich!")
            
wait()
            return
            
setstate(finish)
        
end
    end
    state dunkelheit begin
        when letter begin
            send_letter
("Wächterin des Schattens")
        
end
        when button 
or info begin
            say_title
("Wächterin des Schattens")
            
say("Die Wächterin des Schattens sucht nach dir.")
            
say("Begebe dich schnell ins Schattenreich!")
            
wait()
            return
            
setstate(finish)
        
end    
    end
    state finish begin
    end
end 
07/19/2012 17:36 Fuzzy111#6327
Immernoch kein Brief ...
07/19/2012 17:38 BlackBynes#6328
den Auftrag kannst du mit lvl 100 beginn und den brief bekommst du erst mit lvl 105
also du musst entweder lvlup haben oder dich neu einloggen

dann funkt das auch habe es getestet ;D

Gruß BLacky
07/19/2012 17:41 Fuzzy111#6329
Quote:
Originally Posted by BlackBynes View Post
den Auftrag kannst du mit lvl 100 beginn und den brief bekommst du erst mit lvl 105
also du musst entweder lvlup haben oder dich neu einloggen

dann funkt das auch habe es getestet ;D

Gruß BLacky
Ja das mache ich ja ;D
07/20/2012 01:01 Fever1234#6330
Quote:
Dieser end quest teil wird nicht geladen wieso?
PHP Code:
when 2598.kill with pc.in_dungeon() begin  
game
.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)  
ocal 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  
when dc6
.timer begin  
chat
("Die Zeit ist Abgelaufen!")  
warp_all_to_village( pc.get_map_index() , 5 )  
when goout_from_dc.timer begin
d
.spawn_mob(9012, 74, 1159)  
warp_all_to_village( pc.get_map_index() , 3 )  
end
end 
PHP Code:
die läuf t nicht durch beim ein fügen könnt ihr gucken was falsch ist und es editiren danke im voraus 
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  
--when dc6.timer begin  
--chat("Die Zeit ist Abgelaufen!")  
--
warp_all_to_village( pc.get_map_index() , 5 )  
--
when goout_from_dc.timer begin
--d.spawn_mob(9012, 74, 1159)  
--
warp_all_to_village( pc.get_map_index() , 3 )  
end
end