Jump to content
Sign in to follow this  
ChuchoGamer

Quien me corrige esta quest de mazmorras

Recommended Posts

Hola quiero pedirles si me ayudan a editar esta quest de mazmorra catacumbra que no pida grupo para entrar 

quest devilcatacomb_zone begin
    state start begin
        function setting()
            return
            {
    
            ["base"]={["x"] = 3072  , ["y"]= 12032 ,},
            ["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
            ["floor7_entry"] = {["x"] = 73, ["y"] = 1156},
            ["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
            ["map_idx"] = 216,
            ["level"] = 75,
            ["PartyMinCount"] = 1,
            ["reapers_credit1"] = 30319,
            
            
            ["mob_regen_file_path"] = "data/dungeon/devilcatacomb/",
            ["devil_great_king"] = 2597,
            ["devil_great_king_pos"] = {1303,704},
            ["devil_emperor"] = 2598,
            ["devil_emperor_pos"] = {74,1103},
    
            
            }
        end
    
        function InDungeon()
            local setting = devilcatacomb_zone.setting()
            return pc.get_map_index() >= setting.map_idx*10000 and pc.get_map_index() < (setting.map_idx+1)*10000
        end
    
        when login with devilcatacomb_zone.InDungeon() begin
    
            local setting = devilcatacomb_zone.setting()
            
            pc.remove_item(setting.reapers_credit1, 1)
            if pc.getqf("devilcatacomb_zone") == 1 then 
                server_timer("floor6_eli_check_timer_1", 5, d.get_map_index())
                server_timer("devilcatacomb_5m_left_timer", 10*60, d.get_map_index())
                d.setf("level",6)
                d.setqf2("devilcatacomb_zone","level", 6)
                d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt")
                d.spawn_mob (setting.devil_great_king, setting.devil_great_king_pos[1], setting.devil_great_king_pos[2])
                d.notice("Elimina Caronte y las fuerzas demoniaca, y accede a la siguiente sala.")
                pc.setqf("devilcatacomb_zone", 0)
            end
            
            
        end
    
        when 20367.chat."Catacumbas del diablo" with not devilcatacomb_zone.InDungeon() begin
            
            local s = devilcatacomb_zone.setting()
            raw_script("[TEXT_HORIZONTAL_ALIGN_CENTER]")
            say_title(string.format("Guardian de las Catacumbas", mob_name(npc.get_race())))
            say("")
            say("Adentrate a la catacumba y sal como vencedor. ")
            say("")
            if pc.get_level() < s.level then
                say("Acceso denegado.[ENTER] No tienes la experiencia necesaria para[ENTER]sobrevivir en las Catacumbas del Diablo.[ENTER]Regresa cuando tengas el nivel 75.")
                return
            elseif not party.is_party() or party.get_near_count() < s.PartyMinCount then
                say("Necesito estar en un grupo máximo de: "..s.PartyMinCount.."")
                return
            elseif not party.is_leader() then
                say("Debes ser el lider del grupo.")
                return
            end
            
            if select("Ingresar","Cancelar") == 1 then
                local cantEnterMembersItem = {{},{}}
                local cantEnterMembersLvls = {{},{}}
                local pids = {party.get_member_pids()}
                local s = devilcatacomb_zone.setting()
                for _, pid in ipairs(pids) do
                    q.begin_other_pc_block(pid)
                    if pc.count_item (s.reapers_credit1) < 1 then
                        table.insert(cantEnterMembersItem[1], pc.get_name())
                    end
                    if pc.get_level() < s.level then
                        table.insert(cantEnterMembersLvls[1], pc.get_name())
                    end
                    q.end_other_pc_block(pid)
                end
                
                if table.getn(cantEnterMembersItem[1]) > 0 then
                    raw_script("[TEXT_HORIZONTAL_ALIGN_CENTER]")
                    say_title(string.format("~%s~", mob_name(npc.get_race())))
                    say("Los siguientes parcitipantes no tiene el item: ")
                    for i = 1, table.getn(cantEnterMembersItem[1]) do
                        say(color(1,1,0), "  "..cantEnterMembersItem[1])
                    end
                    say("")
                    return
                end
                if table.getn(cantEnterMembersLvls[1]) > 0 then
                    raw_script("[TEXT_HORIZONTAL_ALIGN_CENTER]")
                    say_title(string.format("~%s~", mob_name(npc.get_race())))
                    say("Los siguientes participantes no tienen el nivel necesario.")
                    for i = 1, table.getn(cantEnterMembersLvls[1]) do
                        say(color(1,1,0), "  "..cantEnterMembersLvls[1])
                    end
                    say("")
                    return
                end
                pc.setqf("devilcatacomb_zone", 1)
                d.new_jump_party(216, 4434, 12698)
                
            end
    
    
        end
        
        
        
        
        when kill with devilcatacomb_zone.InDungeon() begin
            local setting = devilcatacomb_zone.setting()
    
            if npc.get_race() == setting.devil_emperor then
                --party_set_last_ranking_and_dmg(1)
                notice_all("[Catacumbas del Demonio] El grupo de "..pc.get_name().." a matado a Azrael.")
                d.notice("Todos los guerreros seran teletransportados en un minuto.")
                server_timer("devilcatacomb_0m_left_timer", 60, d.get_map_index())
            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_say, 5))
                server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_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_say, 1))
                server_timer ("devilcatacomb_0m_left_timer", 60 * 1, get_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 (65, 5914, 992)
                server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg())
            end
        end
        
        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", 3, get_server_timer_arg())
                else
                    server_timer ("floor6_eli_check_timer_2", 5, get_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", 3, get_server_timer_arg())
                else
                    server_timer ("floor6_eli_check_timer_1", 5, get_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.x + setting.base.x, setting.floor7_entry.y + setting.base.y )
                d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt")
                d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
                server_timer ("devilcatacomb_floor7_say_timer", 2, get_server_timer_arg())
            end    
        end
    
        when devilcatacomb_floor7_say_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Entraste a la sala de Azrael")
            end
        end
    
        
        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 (65, 5914, 992)
                    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", 60, get_server_timer_arg())
                else
                    server_timer ("floor7_eli_check_timer_2", 5, get_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 (65, 5914, 992)
                    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", 60, get_server_timer_arg())
                else
                    server_timer ("floor7_eli_check_timer_1", 5, get_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("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", 3, get_server_timer_arg())
                d.clear_regen()
                d.exit_all()
            end
        end
    end
end   --quest
 

Share this post


Link to post
Share on other sites
quest devilcatacomb_zone begin
    state start begin
        function setting()
            return
            {
    
            ["base"]={["x"] = 3072  , ["y"]= 12032 ,},
            ["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
            ["floor7_entry"] = {["x"] = 73, ["y"] = 1156},
            ["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
            ["map_idx"] = 216,
            ["level"] = 75,
            ["PartyMinCount"] = 1,
            ["reapers_credit1"] = 30319,
            
            
            ["mob_regen_file_path"] = "data/dungeon/devilcatacomb/",
            ["devil_great_king"] = 2597,
            ["devil_great_king_pos"] = {1303,704},
            ["devil_emperor"] = 2598,
            ["devil_emperor_pos"] = {74,1103},
    
            
            }
        end
    
        function InDungeon()
            local setting = devilcatacomb_zone.setting()
            return pc.get_map_index() >= setting.map_idx*10000 and pc.get_map_index() < (setting.map_idx+1)*10000
        end
    
        when login with devilcatacomb_zone.InDungeon() begin
    
            local setting = devilcatacomb_zone.setting()
            
            pc.remove_item(setting.reapers_credit1, 1)
            if pc.getqf("devilcatacomb_zone") == 1 then 
                server_timer("floor6_eli_check_timer_1", 5, d.get_map_index())
                server_timer("devilcatacomb_5m_left_timer", 10*60, d.get_map_index())
                d.setf("level",6)
                d.setqf2("devilcatacomb_zone","level", 6)
                d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt")
                d.spawn_mob (setting.devil_great_king, setting.devil_great_king_pos[1], setting.devil_great_king_pos[2])
                d.notice("Elimina Caronte y las fuerzas demoniaca, y accede a la siguiente sala.")
                pc.setqf("devilcatacomb_zone", 0)
            end
            
            
        end
    
        when 20367.chat."Catacumbas del diablo" with not devilcatacomb_zone.InDungeon() begin
            
            local s = devilcatacomb_zone.setting()
            raw_script("[TEXT_HORIZONTAL_ALIGN_CENTER]")
            say_title(string.format("Guardian de las Catacumbas", mob_name(npc.get_race())))
            say("")
            say("Adentrate a la catacumba y sal como vencedor. ")
            say("")
            if pc.get_level() < s.level then
              say("Acceso denegado.[ENTER] No tienes la experiencia necesaria para[ENTER]sobrevivir en las Catacumbas del Diablo.[ENTER]Regresa cuando tengas el nivel 75.")
                return
            end
            
            if select("Ingresar","Cancelar") == 1 then                
                pc.setqf("devilcatacomb_zone", 1)
                d.new_jump_all(216, 4434, 12698) 
            end
        end
        
        
        
        
        when kill with devilcatacomb_zone.InDungeon() begin
            local setting = devilcatacomb_zone.setting()
    
            if npc.get_race() == setting.devil_emperor then
                --party_set_last_ranking_and_dmg(1)
                notice_all("[Catacumbas del Demonio] El grupo de "..pc.get_name().." a matado a Azrael.")
                d.notice("Todos los guerreros seran teletransportados en un minuto.")
                server_timer("devilcatacomb_0m_left_timer", 60, d.get_map_index())
            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_say, 5))
                server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_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_say, 1))
                server_timer ("devilcatacomb_0m_left_timer", 60 * 1, get_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 (65, 5914, 992)
                server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg())
            end
        end
        
        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", 3, get_server_timer_arg())
                else
                    server_timer ("floor6_eli_check_timer_2", 5, get_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", 3, get_server_timer_arg())
                else
                    server_timer ("floor6_eli_check_timer_1", 5, get_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.x + setting.base.x, setting.floor7_entry.y + setting.base.y )
                d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt")
                d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
                server_timer ("devilcatacomb_floor7_say_timer", 2, get_server_timer_arg())
            end    
        end
    
        when devilcatacomb_floor7_say_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Entraste a la sala de Azrael")
            end
        end
    
        
        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 (65, 5914, 992)
                    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", 60, get_server_timer_arg())
                else
                    server_timer ("floor7_eli_check_timer_2", 5, get_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 (65, 5914, 992)
                    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", 60, get_server_timer_arg())
                else
                    server_timer ("floor7_eli_check_timer_1", 5, get_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("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", 3, get_server_timer_arg())
                d.clear_regen()
                d.exit_all()
            end
        end
    end
end   --quest

For the love of a better community with fewer lazy people, read: 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...