Azreal Run Problem/Game rev 67k

01/27/2015 18:19 .SonGohan#1
Hallo Epvp,
Ich hab folgendes Problem beim Azrael Run. Nach dem teleportieren in die 2 Ebene passiert nichts mehr. Also die Quest geht quasi nicht weiter. Ich benutze Game rev 67k und hier meine Quest

Hier die Quest
PHP Code:
quest dc begin
    state start begin 
--FaiL... Entry
        
--when 20351.chat."Devils Catacomb (lv.75)" with pc.get_level() < 75 begin
            
--say_title("Wächter der Katakombe")
            --
say("")
            --
say_reward("Du bist noch zu Schwach!")
            --
say("")
        --
end
--Eintritt!  
        
when 20351.chat."Devils Catacomb (lv.75)" begin
            
if pc.get_level() < 75 then 
                say_title
("Wächter der Katakombe")
                
say("")
                
say_reward("Du bist noch zu schwach für die Katakomben!")
                
say("")
            else
                
say_title("Wächter der Katakombe")
                
say("Du möchtest den Untoten Teufel Azrael besiegen?")
                
say("Bevor du dich mit Azrael messen kannst, musst")
                
say("du dich durch das Dungeon voller Untoten schlagen.")
                
say("Viel Glück, Tapferer Soldat.")
                
wait()
                
say_title("Wächter der Katakombe")
                
say("")
                
say("Bisher haben "..game.get_event_flag("dcgamer").." Soldaten es versucht ")
                
say("und "..game.get_event_flag("dc_geschaft").." haben es tatsächlich geschafft")
                
say("Azrael zu besiegen!")
                
wait()
                
say_title("Wächter der Katakombe")
                
say("")
                
say_reward("Willst du es versuchen?")
                
say_reward("du wärst der "..game.get_event_flag("dc_versuche")..". Kämpfer der es")
                
say_reward("versucht....")
                
say("")
                
local dc_login select("Betreten""Abbrechen")
                if 
dc_login == 1 then
                    pc
.warp(3148001209800)
                elseif 
dc_login == 2 then
                    
return
                
end
            end
        end            
--Ebene 1        
        when login with pc
.get_map_index() == 101 begin
            game
.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
            
game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)            
            
say_title("Devils Catacomb")
            
say("Um in die 2.Ebene zu kommen musst du...")
            
say_item("Seelenkristall-Schlüssel"30311"") --Die "--" vor say_item entfernen wenn beim Login text das Item als Bild angezeigt werden soll das man braucht
            say
("auf die Statue des Kud ziehen!")
            
say("")
            
say_reward("Viel Glück!")
            
say("")
            
pc.setqf("sksgedroppt"0)
        
end
        when kill with not npc
.is_pc() and pc.get_map_index() == 101 begin 
            local sks 
number(1,15)
            if 
sks==and pc.getqf("sksgedroppt")==0 then
                pc
.setqf("sksgedroppt"1)
                
chat("Du hast den Seelenkristall-Schlüssel gedroppt!")
                
game.drop_item(303111)    
            
end
        end
        when 30101.take with item
.vnum == 30311 begin
            item
.remove()
            
d.new_jump_all(101363612086)
            
timer("dc1"600)
            
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_left.txt")
            
d.spawn_mob(30103741221)
        
end    
        when dc1
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end     



        
        when dc20
.timer begin
            d
.notice("Ihr habt noch 50 Minuten zeit!")
            
timer("dc3"90)
        
end    
        when dc30
.timer begin
            d
.notice("Ihr habt noch 45 Minuten zeit!")
            
timer("dc4"90)
        
end        
        when dc40
.timer begin
            d
.notice("Ihr habt noch 40 Minuten zeit!")
            
timer("dc5"90)
        
end        
        when dc50
.timer begin
            d
.notice("Ihr habt noch 35 Minuten zeit!")
            
timer("dc6"90)
        
end        
        when dc60
.timer begin
            d
.notice("Ihr habt noch 30 Minuten zeit!")
            
timer("dc7"90)
        
end        
        when dc70
.timer begin
            d
.notice("Ihr habt noch 25 Minuten zeit!")
            
timer("dc8"90)
        
end        
        when dc80
.timer begin
            d
.notice("Ihr habt noch 20 Minuten zeit!")
            
timer("dc9"90)
        
end        
        when dc90
.timer begin
            d
.notice("Ihr habt noch 15 Minuten zeit!")
            
timer("dc10"90)
        
end        
        when dc100
.timer begin
            d
.notice("Ihr habt noch 10 Minuten zeit!")
            
timer("dc11"90)
        
end        
        when dc101
.timer begin
            d
.notice("Ihr habt noch 5 Minuten zeit!")
            
timer("dc12"90)
        
end                    
        when dc110
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end                      
--Ebene 2
        when 30103.chat
."Wo geht es weiter?(Ebene 3)" begin
            npc
.purge()
            
say_reward("Inschrift")
            
say("Es ist noch ein weiter weg...")
            
wait()
            
d.new_jump_all(101442712284)
            
timer("dc1"6000)
            
timer("dc2"600)
            
d.setf("goto_ebene3"0)
            
d.notice("Es ist noch ein weiter weg...")
            
d.notice("Findet und zerstört den richtigen Metin")
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
            
local metindv number(1,4)
            if 
metindv==1 then
                d
.spawn_mob(80381351348)
                
d.spawn_mob(80351148350)
                
d.spawn_mob(80381151155)
                
d.spawn_mob(80381351149)
            
end
            
if metindv==2 then
                d
.spawn_mob(80351351348)
                
d.spawn_mob(80381148350)
                
d.spawn_mob(80381151155)
                
d.spawn_mob(80381351149)
            
end
            
if metindv==3 then
                d
.spawn_mob(80381351348)
                
d.spawn_mob(80381148350)
                
d.spawn_mob(80381151155)
                
d.spawn_mob(80351351149)
            
end
            
if metindv==4 then
                d
.spawn_mob(80381351348)
                
d.spawn_mob(80381148350)
                
d.spawn_mob(80351151155)
                
d.spawn_mob(80381351149
            
end
        end            
        when 8038.kill with pc
.in_dungeon() begin
            d
.notice("Ein Falscher Metin wurde zerstört")
        
end
        when 8035.kill with pc
.in_dungeon() begin
            d
.notice("Der richtige Metin wurde zerstört")
            
timer("dc2"6000)
            
timer("devils_catacomb_goto_ebene5"5)
        
end    
        when dc2
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end    

        
--Ebene 4 (Labyrinth)
        
when devils_catacomb_goto_ebene4.timer begin
            d
.new_jump_all(101314312657)
            
d.setf("labyrinth"1)
            
timer("dc3"600)
            
d.notice("Findet den Weg aus dem Labyrinth")
            
d.notice("und Liest dann die Inschrift am Runenpfahl")
            if 
game.get_event_flag("dc_is_wartung") == 1 then
                d
.spawn_mob(3010472586)
            
end
        end            
        when 30104.chat
."Inschrift (Labyrinth)" with pc.in_dungeon() begin
            say_title
(".....")
            
timer("dc3"6000)
            
d.notice("~~Ihr habt den richtigen Weg gefunden...")
            
timer("devils_catacomb_goto_ebene5"5)
        
end
        when dc3
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end    
--Ebene 6 (Tartaros)
        
when devils_catacomb_goto_ebene5.timer begin
            d
.new_jump_all(101391712925)
            
d.notice("Findet und Tötet Tartaros um ein Fratzen-Totem zu bekommen!")
            
d.notice("und zieht es dann auf den Stein auf dem Gipfel.")
            
d.spawn_mob(30102848739)
            
timer("dc4"600)
            
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
            
local tartaros number(1,4)
            if 
tartaros==1 then
                d
.spawn_mob(2591991848)
            
end
            
if tartaros==2 then
                d
.spawn_mob(2591999652)
            
end
            
if tartaros==3 then
                d
.spawn_mob(2591848577)
            
end
            
if tartaros==4 then
                d
.spawn_mob(2591703644)
            
end
            
if tartaros==5 then
                d
.spawn_mob(2591692817)
            
end
        end            
        when 2591.kill with pc
.in_dungeon() begin
            d
.notice("Tartaros wurde besiegt, dabei verlor er das Fratzen-Totem!")
            
game.drop_item(303121)
        
end    
        when 30102.take with item
.vnum == 30312 begin
            timer
("dc4"6000)
            
item.remove()
            
npc.purge()
            
say_reward("...")
            
d.notice("Ihr habt es geschafft!")
            
timer("devils_catacomb_goto_ebene6"5)
        
end
        when dc4
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end    
--Ebene 7 (Charon)
        
when devils_catacomb_goto_ebene6.timer begin
            d
.new_jump_all(101441112736)
            
timer("dc5"600)
            
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
            timer
("dc5"6000)
            
d.notice("Ihr habt den tötlichen Charon besiegt.")
            
d.notice("Bereitet euch auf den Kampf mit Azrael vor!")
            
timer("devils_catacomb_goto_ebene7"10)
        
end
        when dc5
.timer begin
            d
.notice("Die Zeit ist Abgelaufen!")
            
warp_all_to_village()
        
end    
--Ebene 8 (Azrael)
        
when devils_catacomb_goto_ebene7.timer begin
            d
.new_jump_all(101314713191)
            
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(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
            
local level pc.get_level()            
            
d.notice("Ihr habt ihn besiegt und habt euch eure Belohnung verdient!")
            
d.kill_all()
            
d.kill_all()
            
notice_all("Der Spieler "..pc.get_name().." hat den Azrael besiegt!")
            
timer("goout_from_dc"60)
            
d.spawn_mob(9012741159)    
        
end
    end
end 
01/27/2015 18:46 Shigatu#2
Wenn du schon die 40250 nutzt kannst du direkt die Gameforge Quests nutzen.

PHP Code:
quest devilcatacomb_zone begin
    state start begin
    
    
function is_closed()
        return (
game.get_event_flag("dc_closed") > 0)    --close dialog
    end
    
    
function setting()
        return
        {

        [
"base"]={["x"] = 3072  , ["y"]= 12032 ,},
        [
"floor1_s"] = { ["x"] = 20, ["y"] = 20, },
        [
"floor1_e"] = { ["x"] = 500, ["y"] = 470,},
        [
"floor2_s"] = { ["x"] = 510, ["y"] = 18, },
        [
"floor2_e"] = { ["x"] = 978, ["y"] = 470,},
        [
"floor1_entry"] = {["x"] = 73, ["y"] = 63,},
        [
"floor2_entry"] = {["x"] = 550, ["y"] = 45,},
        [
"floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
        [
"floor4_entry"] = {["x"] = 70, ["y"] = 592,},
        [
"floor5_entry"] = {["x"] = 846, ["y"] = 898},
        [
"floor6_entry"] = {["x"] = 1362, ["y"] = 666},
        [
"floor7_entry"] = {["x"] = 73, ["y"] = 1156},

        [
"map_idx"] = 216,
        [
"rag"] = 30311,

        [
"devil_king"] = 2591,

        [
"reapers_credit1"] = 30319,
        [
"reapers_credit2"] = 30320,
        [
"reapers_credit3"] = 76002,

        [
"floor3_stone"] = 8038,  
        [
"floor3_stone_pos"] = {
                {
1366,    150},
                {
1366,    351},
                {
1234,    365},
                {
1234,    140},
                {
1150,    135},
                {
1130,    365},
                {
1135,    253}
        },

        [
"mob_regen_file_path"] = "data/dungeon/devilcatacomb/",
        [
"floor4_regen_file"] = {"devilcatacomb_floor4_regen1.txt",
                               
"devilcatacomb_floor4_regen2.txt",
                               
"devilcatacomb_floor4_regen3.txt",
                               
"devilcatacomb_floor4_regen4.txt",
                               
"devilcatacomb_floor4_regen5.txt"} ,

        [
"credit_stone"] = 30101,
        [
"credit_stone_pos"] = {307,323},
        [
"floor2_stone"] = 30103,
        [
"floor2_stone_pos"] = {741,217},
        [
"floor2_merchant_npc"] = 20368,
        [
"floor2_merchant_npc_pos"] = {734,214},
        
        [
"floor4_npc"] = 30104,
        [
"floor4_npc_pos"] = {500717},

        [
"devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},

        [
"unlock_stone"] = 30312,
        [
"floor5_stone"] = 30102,
        [
"floor5_stone_pos"] = {848735},

        [
"devil_great_king"] = 2597 ,
        [
"devil_great_king_pos"] = {1303,704},
        [
"devil_emperor"] = 2598,
        [
"devil_emperor_pos"] = {74,1103},

        [
"dc2_door_set_size"] = {4,2,3,2},
        [
"dc2_door_set1"] = {
                                {{
30111,    566,    117,    5},{30112,  562,    311,    5,},{30118663,    434,    7},{30119,  881,    434,    7}},
                                {{
30116,    743,    390,    3},{30119,  612,    251,    1,}},
                                {{
30113,    654,    211,    5},{30111,  707,    338,    7,},{30112775,    336,    7}},
                                {{
30117,    733,    294,    3},{30113,  694,    271,    1,}}
                            },
        [
"dc2_door_set2"] = {
                                {{
30115,    942,    141,    5},{30116,  942,    245,    5},{30117,  942,    321,    5},{30115,  763,    647}},
                                {{
30118,    643,    116,    3},{30114,  900,    167,    1}},
                                {{
30114,    850,    293,    5},{30113,  715,    164,    7},{30114,  817,    162,    7}},
                                {{
30111,    802,    277,    1},{30112,  800,    241,    1}}
                            },
        }
    
end
        when login begin
            local setting 
devilcatacomb_zone.setting()
            
local idx pc.get_map_index()
            if 
idx >= (setting.map_idx 10000) and idx < ((setting.map_idx 1) * 10000then
--                pc.set_warp_location(655914992)         -----------¾Æ±Íµ¿±¼ ÁÂÇ¥·Î
                local level 
d.getf("level")
                -- 
warp locationÀÌ 0,0 À̸頽ýºÅÛ »óÀ¸·ÎÁ¾·á ½ÃÁ¾·á À§Ä¡¸¦ ½ÃÀÛ À§Ä¡·Î ÀúÀåÇÑ´Ù.
                
d.set_warp_location (000)
                    
                if 
level == 2 then
                    say
(gameforge.devilcatacomb_zone._10_say)
                    
say(string.format(gameforge.devilcatacomb_zone._20_say60))
                elseif 
level == pc.getqf ("level"then
--                    say ("³«¿ÀµÇÁö ¾Ê±â À§ÇØ µ¿·áµé°ú ÇÕ·ùÇϽʽÿÀ.")
                    
say(gameforge.devilcatacomb_zone._30_say)
                else
                    
say(gameforge.devilcatacomb_zone._40_say)
--                    
say ("´ç½ÅÀº ³«¿ÀµÇ¾ú½À´Ï´Ù. ¿ë½ÅÀÇ ÈûÀ» ºô¾î Àá½Ã µÚ µ¿±¼ ¹ÛÀ¸·Î À̵¿ÇÕ´Ï´Ù.")
                    
timer ("devilcatacomb_ban_timer"5)
                
end
            end
            
if idx == setting.map_idx then
                pc
.setf("devilcatacomb_zone","last_exit_time"get_global_time())
                -- 
2ÃþÀÌ»óÀ̸éÂѰܳª
                
if pc.get_x() < setting.floor1_s.setting.base.x
                    
or pc.get_y() < setting.floor1_s.setting.base.y
                    
or pc.get_x() > setting.floor1_e.setting.base.x
                    
or pc.get_y() > setting.floor1_e.setting.base.y
                then
                    
-- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î
--                    if not is_test_server() then
                        say
(gameforge.devilcatacomb_zone._40_say)
                        
timer ("devilcatacomb_ban_timer"5)
--                    
end
                
else 
                    -- 
¾Æ±Íµ¿±¼ ÀÔ±¸·Î
--                    pc.set_warp_location(655914992)
                    
say(gameforge.devilcatacomb_zone._50_say)
                
end
            end
        end

        when logout begin
            local idx 
pc.get_map_index()
            
local setting devilcatacomb_zone.setting()
            if 
idx == setting.map_idx or idx >= (setting.map_idx 10000) and idx < ((setting.map_idx 1) * 10000then
                pc
.setf("devilcatacomb_zone","last_exit_time"get_global_time())
            
end
        end

        when devilcatacomb_ban_timer
.timer begin
            pc
.warp((5914)*100, (992)*10065)
        
end

        when warp_timer
.timer begin
            local level 
d.getf("level")
            
local level_switch = {
                [
3] = gameforge.devilcatacomb_zone._60_say,
                [
4] = gameforge.devilcatacomb_zone._70_say,
                [
5] = gameforge.devilcatacomb_zone._80_say,
                [
6] = gameforge.devilcatacomb_zone._90_say,
            }
            
local t 3600 -(get_global_time() - d.getf("enter_time"))
            
local t_r math.mod (t60)
            
local t_m = (t_r) / 60
            d
.notice level_switch[level] )
            
d.notice(string.format(gameforge.devilcatacomb_zone._20_sayt_m))
            
d.set_warp_location (000)
        
end

        when devilcatacomb_man
.chat.gameforge.devilcatacomb_zone._100_npcChat with not devilcatacomb_zone.is_closed() begin
            local setting 
devilcatacomb_zone.setting()
            if 
pc.get_level() < 75 then
                say
(gameforge.devilcatacomb_zone._110_say)
            elseif 
pc.getf("deviltower_zone","9_done") == 0 then
                say
(gameforge.devilcatacomb_zone._120_say)
            elseif ((
get_global_time() - pc.getf("devilcatacomb_zone","last_exit_time")) < 1800then
                say
(gameforge.devilcatacomb_zone._130_say)
            else
                
say(gameforge.devilcatacomb_zone._140_say)
                
local s select(gameforge.devilcatacomb_zone._150_selectgameforge.devilcatacomb_zone._160_select)
                if 
== 1 then
                    pc
.warp ((setting.floor1_entry.setting.base.)* 100, (setting.floor1_entry.setting.base.y) * 100)
                
end
            end
        end
    
        
-- ¸ó½ºÅͰ¡ Á×À¸¸é ¹ß»ýÇϴ À̺¥Æ®.
        
when kill begin
            local setting 
devilcatacomb_zone.setting()
            -- 
¾Æ±Íµ¿±¼ 1ÃþÀ̸é 1È®·ü·Î ±Ý½Ã°ÇÀ» µå¶øÇÑ´Ù.
            if 
pc.get_x() > setting.floor1_s.setting.base.x
                    
and pc.get_y() > setting.floor1_s.setting.base.y
                    
and pc.get_x() < setting.floor1_e.setting.base.x
                    
and pc.get_y() < setting.floor1_e.setting.base.y then
                local j 
number(1100)
                if 
== 1 then
                    game
.drop_item (setting.rag1)
                
end
            end
        end

    
function spawn_doors ()
        
local setting devilcatacomb_zone.setting()
        for 
1do
            
local mob_set setting.dc2_door_set1[i]
            
local set_size setting.dc2_door_set_size[i]
            for 
1set_size do
                
d.set_unique (i.."_1_"..jd.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
            
end
            mob_set 
setting.dc2_door_set2[i]
            for 
1set_size do
                
d.set_unique (i.."_2_"..jd.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
            
end
        end
    end
        
-- ±Ý½Ã°ÇÀ» ³ªÂûÀÎÁõ¼®¿¡ µå·¡±×Çϸé 2ÃþÀ¸·Î º¸³½´Ù2ÃþºÎÅʹ ´øÀüÀÌ´Ù.
        
when devilcatacomb_credit_stonetake  begin
            local setting 
devilcatacomb_zone.setting()
        
            if 
item.vnum == setting.rag then 
                
if not party.is_party() then
                    say
(gameforge.devilcatacomb_zone._170_say)
                    return
                elseif 
party.is_in_dungeon() then
                    say
(gameforge.devilcatacomb_zone._180_say)
                    return
                
end

                item
.remove()
                
say(gameforge.devilcatacomb_zone._190_say)
                
wait()
                
say(gameforge.devilcatacomb_zone._200_say)
                
wait()
                
d.new_jump_party (setting.map_idxsetting.floor2_entry.setting.base.x  setting.floor2_entry.setting.base.)
                
d.setqf2("devilcatacomb_zone","level"2)
                
d.setf ("level",2)
                
d.regen_file (setting.mob_regen_file_path.."dc_2f_regen.txt")
                
                
d.spawn_mob (setting.floor2_merchant_npcsetting.floor2_merchant_npc_pos[1], setting.floor2_merchant_npc_pos[2])
                
d.spawn_mob (setting.floor2_stonesetting.floor2_stone_pos[1], setting.floor2_stone_pos[2])
                
                
devilcatacomb_zone.spawn_doors ()
                
server_timer('devilcatacomb_45m_left_timer',60 15d.get_map_index())
                
d.setf("enter_time"get_global_time())
            
end    
        end
        
        when devilcatacomb_45m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice(string.format(gameforge.devilcatacomb_zone._20_say45))
                
server_timer('devilcatacomb_30m_left_timer'60 15get_server_timer_arg())
            
end
        end

        when devilcatacomb_30m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice(string.format(gameforge.devilcatacomb_zone._20_say30))
                
server_timer('devilcatacomb_15m_left_timer'60 15get_server_timer_arg())
            
end
        end
    
        when devilcatacomb_15m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice(string.format(gameforge.devilcatacomb_zone._20_say15))
                
server_timer('devilcatacomb_5m_left_timer'60 10get_server_timer_arg())
            
end
        end

        when devilcatacomb_5m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice(string.format(gameforge.devilcatacomb_zone._20_say5))
                
server_timer('devilcatacomb_1m_left_timer'60 4get_server_timer_arg())
            
end
        end
        
        when devilcatacomb_1m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice(string.format(gameforge.devilcatacomb_zone._20_say1))
                
server_timer ("devilcatacomb_0m_left_timer"60 1get_server_timer_arg())
            
end
        end
        
        when devilcatacomb_0m_left_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice (gameforge.devilcatacomb_zone._210_dNotice)
                
d.set_warp_location (655914992)
                
server_timer('devilcatacomb_exit_timer'7get_server_timer_arg())
            
end
        end
    
    
function is_dc2_doors_clear ()
        
local setting devilcatacomb_zone.setting()
        
local clear true
        
for 1do
            
local set_clear true
            local mob_set 
setting.dc2_door_set1[i]
            
local set_size setting.dc2_door_set_size[i]
            for 
1set_size do
                
set_clear set_clear and d.is_unique_dead (i.."_1_"..j)
            
end
            
if not set_clear then
                set_clear 
true
                mob_set 
setting.dc2_door_set2[i]
                for 
1set_size do
                    
set_clear set_clear and d.is_unique_dead (i.."_2_"..j)
                
end
            end
            clear 
clear and set_clear
        end

        
return clear
    end
    
        
-- ÇöȲ¼®À» Å¬¸¯Çϸé 3Ãþ ÁøÀÔ ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°í
        
-- ÁøÀԽà»ç½ÅÀÇÁõÇ¥¸¦ °Ë»çÇÑ´Ù.
        -- 
»ç½ÅÀÇ ÁõÇ¥°¡ ¾ø´Ù¸é ¹ÛÀ¸·Î ¿öÇÁµÈ´Ù.
        
when devilcatacomb_floor2_stone.click begin
            local setting 
devilcatacomb_zone.setting()
            
            if 
d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
                
if not devilcatacomb_zone.is_dc2_doors_clear () then
                    say
(gameforge.devilcatacomb_zone._220_say)
                    
wait ()
                    return
                
end
                say
(gameforge.devilcatacomb_zone._230_say)
                
wait()
                
say(gameforge.devilcatacomb_zone._240_say)
                
wait()
                
local s select(gameforge.devilcatacomb_zone._150_selectgameforge.devilcatacomb_zone._160_select)
                if 
== 1 then
                    
if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
                        d
.setf("devilcatacomb_floor2_stone_clicked"1)
                        
d.setqf2("devilcatacomb_zone","last_exit_time"get_global_time())
                        
d.set_item_group ("reapers_credit"3setting.reapers_credit31setting.reapers_credit21setting.reapers_credit11)
                        
d.say_diff_by_item_group("reapers_credit"gameforge.devilcatacomb_zone._250_saygameforge.devilcatacomb_zone._260_say)
                        
timer ("devilcatacomb_floor3_enter_timer"7)
                    
end
                end
            
else
                
say(gameforge.devilcatacomb_zone._270_say)
            
end
        end
        
        when devilcatacomb_floor3_enter_timer
.timer begin
            local setting 
devilcatacomb_zone.setting()
            
d.set_warp_location (655914992)
            
d.exit_all_by_item_group ("reapers_credit")
            
d.delete_item_in_item_group_from_all ("reapers_credit")
            
d.purge ()
            
d.jump_all (setting.floor3_entry.setting.base.setting.floor3_entry.setting.base.y)
            
d.setf("level",3)
            
d.setqf2("devilcatacomb_zone","level"3)
            
d.regen_file (setting.mob_regen_file_path.."dc_3f_regen.txt")
            
timer("warp_timer",3)
            
            
local position setting.floor3_stone_pos
        
            local n 
number(1,7)
            for 
1do
                if (
!= n)
                
then
                    d
.set_unique("fake"..id.spawn_mobsetting.floor3_stoneposition[i][1], position[i][2]))
                
end
            end
        
            local vid 
d.spawn_mobsetting.floor3_stoneposition[n][1], position[n][2])
            
d.set_unique ("real",vid)
            if (
is_test_server()) then
                
-- real stone pos
                chat 
(position[n][1],position[n][2])
            
end
    
        end

        when devilcatacomb3_stone
.kill begin
            local setting 
devilcatacomb_zone.setting()
            -- 
µ¹ÀÌ ÆÄ±«µÇ¸é ÁøÂ¥°¡ Á×¾ú´ÂÁö È®ÀÎÇØº»´Ù.
            -- 
ÁøÂ¥°¡ Á×¾úÀ¸¸é 4ÃþÀ¸·Î À̵¿ÇÑ´Ù.
            if 
d.is_unique_dead("real"then
                d
.notice(gameforge.devilcatacomb_zone._280_dNotice)
                
                
d.setf ("level",4)
                
d.setqf2("devilcatacomb_zone","level"4)
                
timer ("devilcatacomb_floor4_enter_timer"3)
            else
                
d.notice(gameforge.devilcatacomb_zone._290_dNotice)
            
end
        end

        when devilcatacomb_floor4_enter_timer
.timer begin
            local setting 
devilcatacomb_zone.setting()
            
local i number (15)
            
timer("warp_timer",3)
            
d.purge ()
            
d.jump_all (setting.floor4_entry.setting.base.setting.floor4_entry.setting.base.y)
            
d.regen_file (setting.mob_regen_file_path.."dc_4f_regen.txt")
            
d.regen_file (setting.mob_regen_file_path..setting.floor4_regen_file[i])
            if (
is_test_server()) then
                d
.notice (setting.floor4_regen_file[i])
            
end
            d
.spawn_mob (setting.floor4_npcsetting.floor4_npc_pos[1], setting.floor4_npc_pos[2])
        
end

        
-- devilcatacomb_floor4_stone´Â Å¬¸¯ ½Ã 4Ãþ¿¡¼5ÃþÀ¸·Î À̵¿½Ã۴ npcÀÌ´Ù.
        
when devilcatacomb_floor4_stone.click begin
            local setting 
devilcatacomb_zone.setting()
            
local n number (1,5)
            
say(gameforge.devilcatacomb_zone._300_say)
            
wait()
            if (
is_test_server()) then
                
-- devil_king pos
                chat 
(setting.devil_king_pos[n][1], setting.devil_king_pos[n][2])
            
end
            d
.purge ()
            
d.jump_all (setting.floor5_entry.setting.base.xsetting.floor5_entry.setting.base.)
            
d.setf ("level",5)
            
d.setqf2("devilcatacomb_zone","level"5)
            
timer("warp_timer",3)
            
d.regen_file (setting.mob_regen_file_path.."dc_5f_regen.txt")
            
d.spawn_mob (setting.devil_kingsetting.devil_king_pos[n][1], setting.devil_king_pos[n][2])
            
d.spawn_mob (setting.floor5_stonesetting.floor5_stone_pos[1], setting.floor5_stone_pos[2])
        
end
        
        
-- ¾Æ±Í¿Õ(2591)ÀÌ Á×À¸¸é ºÀÀÎÇØÃ¼¼® µå¶ø
        when devilcatacomb_devil_king
.kill begin
            local setting 
devilcatacomb_zone.setting()
            
game.drop_item (setting.unlock_stone1)
        
end

        
-- »ç½Å±ÝÁ¦ºñ(30102)¿¡ ±ÝÁ¦ÇØÃ¼¼®ºÀÀ» µå·¡±×Çϸ頸ðµç ¸ó½ºÅ͸¦ Á×À̰í
        
-- 6ÃþÀ¸·Î À̵¿Çϴ ŸÀ̸Ӹ¦ µ¿ÀÛ½ÃŲ´Ù.
        
when devilcatacomb_floor5_stone.take begin
            local setting 
devilcatacomb_zone.setting()
            if 
item.vnum == setting.unlock_stone then
                item
.remove ()
                
d.notice(gameforge.devilcatacomb_zone._310_dNotice)
                -- 
6ÃþÀ¸·Î À̵¿
                d
.clear_regen()
                
d.purge()
                
timer("devilcatacomb_floor6_timer",2)
            
end
        end

        when devilcatacomb_floor6_timer
.timer begin
            local setting 
devilcatacomb_zone.setting()
            
d.setf("level",6)
            
d.setqf2("devilcatacomb_zone","level"6)
            
d.jump_all (setting.floor6_entry.setting.base.xsetting.floor6_entry.setting.base.)
            
d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt")
            
d.spawn_mob (setting.devil_great_kingsetting.devil_great_king_pos[1], setting.devil_great_king_pos[2])
            
timer("warp_timer",3)
        
end
        
        
-- ¾Æ°É(2597)ÀÌ Á×À¸¸é6ÃþÀǠŸÀ̸Ó1ÀÌ µ¿ÀÛÇÑ´Ù.
        
when devilcatacomb_devil_great_king.kill begin
            server_timer 
("floor6_eli_check_timer_1"5,d.get_map_index())
        
end

        
-- 6ÃþÀǠŸÀ̸Ó1Àº ´øÀüÀÇ ¸ðµç ¸ó½ºÅÍ ¼ýÀÚ¸¦ º¸°í,
        -- 
0À̸é 7ÃþÀ¸·Î ¿öÇÁÇϴ ŸÀ̸Ӹ¦ µ¿ÀÛÇÑ´Ù.
        -- 
¹Ù·Î 7ÃþÀ¸·Î °¡Áö ¾Ê´Â ÀÌÀ¯´ÂÀ¯Àú¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ*ÀÌ´Ù.
        -- 
1À̸é Å¸À̸Ó2¸¦ µ¿ÀÛ½ÃŲ´Ù.
        -- 
ŸÀ̸Ó1À» recursiveÇϰԠµ¿ÀÛ½ÃŰÁö ¾ÊÀº °ÍÀº,
        -- 
±×·² °æ¿ì resetÇѠŸÀ̸Ó1ÀÌ µ¿ÀÛÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
        
when floor6_eli_check_timer_1.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if d.count_monster() == 0 then
                    say_in_map 
(get_server_timer_arg(), gameforge.devilcatacomb_zone._320_say)
                    
server_timer ("devilcatacomb_floor7_timer"3get_server_timer_arg())
                else
                    
server_timer ("floor6_eli_check_timer_2"5get_server_timer_arg())
                
end
            end
        end

        when floor6_eli_check_timer_2
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if d.count_monster() == 0 then
                    say_in_map 
(get_server_timer_arg(), gameforge.devilcatacomb_zone._320_say)
                    
server_timer("devilcatacomb_floor7_timer"3get_server_timer_arg())
                else
                    
server_timer ("floor6_eli_check_timer_1"5get_server_timer_arg())
                
end
            end
        end
        
        when devilcatacomb_floor7_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                local setting 
devilcatacomb_zone.setting()

                
d.setf("level",7)
                
d.setqf2("devilcatacomb_zone","level"7)
                
d.jump_all (setting.floor7_entry.setting.base.xsetting.floor7_entry.setting.base.)
                
d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt")
                
d.spawn_mob (setting.devil_emperorsetting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
                
server_timer ("devilcatacomb_floor7_say_timer"2get_server_timer_arg())
            
end    
        end

        when devilcatacomb_floor7_say_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then

                local t 
3600 -(get_global_time() - d.getf("enter_time"))
                
local t_r math.mod (t60)
                
local t_m = (t_r) / 60
                d
.notice(gameforge.devilcatacomb_zone._330_dNotice)
                
d.notice(string.format(gameforge.devilcatacomb_zone._20_sayt_m))
                
d.set_warp_location (000)
            
end
        end

        
-- 6Ãþ°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(2598)ÀÌ Á×À¸¸é
        
-- 7ÃþÀǠŸÀ̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
        
when devilcatacomb_devil_emperor.kill begin
            server_timer 
("floor7_eli_check_timer_1"5d.get_map_index())
        
end
        
        
-- 7ÃþÀǠŸÀ̸Ӵ 6Ãþ Å¸À̸ӿ͠ºñ½ÁÇϸç,
        -- 
¸ó½ºÅÍ ¼ýÀÚ°¡ 0À̸é exit Å¸À̸Ӹ¦ ¹ß»ý½ÃŲ´Ù.
        -- 
¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´ÂÀ¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ*ÀÌ´Ù.
        
when floor7_eli_check_timer_1.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if d.count_monster() == 0 then
                    d
.set_warp_location (655914992)
                    
d.setqf2("devilcatacomb_zone","done"1)
                    
say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._340_say)
                    
clear_server_timer ("devilcatacomb_0m_left_timer"get_server_timer_arg())
                    
server_timer("devilcatacomb_exit_timer"60get_server_timer_arg())
                else
                    
server_timer ("floor7_eli_check_timer_2"5get_server_timer_arg())
                
end
            end
        end

        when floor7_eli_check_timer_2
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if d.count_monster() == 0 then
                    d
.set_warp_location (655914992)
                    
d.setqf2("devilcatacomb_zone","done"1)
                    
say_in_map (get_server_timer_arg(), gameforge.devilcatacomb_zone._340_say)
                    
clear_server_timer ("devilcatacomb_0m_left_timer"get_server_timer_arg())
                    
server_timer("devilcatacomb_exit_timer"60get_server_timer_arg())
                else
                    
server_timer ("floor7_eli_check_timer_1"5get_server_timer_arg())
                
end
            end
        end

        when devilcatacomb_exit_timer
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setqf2("devilcatacomb_zone","level"0)
                
d.setqf2("devilcatacomb_zone","last_exit_time"get_global_time())
                
clear_server_timer("devilcatacomb_5m_left_timer"get_server_timer_arg())
                
clear_server_timer("devilcatacomb_1m_left_timer"get_server_timer_arg())
                
clear_server_timer("devilcatacomb_0m_left_timer"get_server_timer_arg())
                
clear_server_timer("floor6_eli_check_timer_1"get_server_timer_arg())
                
clear_server_timer("floor6_eli_check_timer_2"get_server_timer_arg())
                
clear_server_timer("floor7_eli_check_timer_1"get_server_timer_arg())
                
clear_server_timer("floor7_eli_check_timer_2"get_server_timer_arg())
                
clear_server_timer("devilcatacomb_floor7_say_timer"get_server_timer_arg())
                
clear_server_timer("devilcatacomb_floor7_timer"3get_server_timer_arg())
                
d.clear_regen()
                
d.exit_all()
            
end
        end
    end  
--state
end   
--quest 
01/27/2015 19:12 .SonGohan#3
Quote:
Originally Posted by revo​ View Post
Wenn du schon die 40250 nutzt kannst du direkt die Gameforge Quests nutzen
Da Steht nirgendwo 40k .. Habs trotzdem versucht klappt nicht.
01/27/2015 20:17 Shigatu#4
Quote:
Originally Posted by .SonGohan View Post
Da Steht nirgendwo 40k .. Habs trotzdem versucht klappt nicht.
Es gibt keine 67K Game, das ist eine eigene Erfindung von Vanilla. Die Game ist eine Modifizierte 40250 Game. Hast du auch die translate.lua?
01/27/2015 20:27 .SonGohan#5
Nein hab keine translate.lua
01/30/2015 12:39 .SonGohan#6
Problem besteht weiter hin