antiblock
https://i.imgur.com/aJ17bf7.gif
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
ᗩᘉǤᑌᔕ

Quest Purgatório !

3 posts in this topic

Alguém poderia corrigir essa Quest do Purgatório Ardente Do tópico

http://cyber-gamers.org/index.php?/topic/18633-purgatorio-ardente-dungeon-cliente-servidor/

Estou usando files/cliente Rancoroso

 

Quest 


 

-----------------------

--- Script in web   ---
-- Trad. by Lollozzo --
-----------------------
 
quest purgatorio begin 
    state start begin 
         
        when 20351.chat."Le Porte dell'Inferno" with pc.get_map_index() == 205 begin 
            say_title("Guardiano dell'Inferno") 
            say("Il Dio di tutti i demoni, Sung Mahi, si è risvegliato,") 
            say("la fine dell'umanità è vicina!") 
            say("Combatti, valoroso guerriero, con") 
            say("il tuo gruppo affinchè liberiate") 
            say("il mondo dalla distruzione del nuovo Male!") 
            say("") 
            say("") 
            say("") 
            wait() 
            say_title("Guardiano dell'Inferno") 
            say("Per poter accedere alla mappa") 
            say("dove essere minimo livello 100") 
            say("ed avere con voi "NOME ITEM".") 
            say("Sei pronto ad affrontare la sfida?") 
            say("") 
            say("") 
            wait() 
            say_title("Guardiano dell'Inferno") 
            if pc.get_level() >= 100 or pc.is_gm() then 
                if party.is_party() or pc.is_gm()  then 
                    if party.is_leader() or pc.is_gm() then 
                        if pc.count_item(30189) > 0 or pc.is_gm() then 
                            say_reward("Vuoi iniziare la sfida con il tuo gruppo?")
                            if select("Sì","No, grazie.") == 1 then 
                                pc.remove_item(30189,1) 
                                d.join(235) 
                            end 
                        else 
                            say_reward("Non puoi passare!")
                            say_item_vnum(30189) 
                        end 
                    else 
                        say_reward("Per poter accedere devi essere il leader del gruppo!")
                    end 
                else 
                    say_reward("Devi appartenere ad un gruppo!")
                end 
            else 
                say_reward("Devi essere livello superiore a 100 per poter entrare!")
            end 
        end 
 
        when login with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin 
            say("Vai, il dungeon è cominciato!") 
            say("Combattete!") 
            say("") 
            if party.is_party() then 
                if party.is_leader() then 
                    blazingpurgatory.start() 
                end 
            else 
                if pc.is_gm() then 
                    blazingpurgatory.start() 
                end 
            end 
        end 
         
        function start() 
            d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt") 
            d.setf("purgatory_gate_sequence",number(1,7)) 
            local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}} 
            for i = 1, 6 do 
                d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt") 
            end 
            d.setf("acutal_round",0) 
            d.setf("time", get_time()+60*60*1) 
            server_timer("purgatorytime",3600,pc.get_map_index()) 
            server_loop_timer("purgatorytimenotice",300,pc.get_map_index()) 
            blazingpurgatory.NoticeTime() 
        end          
         
        when purgatorytimenotice.server_timer begin 
            if d.select(get_server_timer_arg()) then 
                blazingpurgatory.NoticeTime() 
            end 
        end 
 
        when purgatorytime.server_timer begin 
            if d.select(get_server_timer_arg()) then 
                d.notice("Il tempo è scaduto!") 
                d.exit_all() 
            end 
        end 
         
        when 20385.click with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 and d.getf("block_altar") == 0 begin 
            if d.getf("purgatory_level") == 7 then 
                d.setf("block_altar",1) 
                d.setf("actual_round",7) 
                d.notice("Pensavate di aver finito? No!") 
                d.notice("Ora vi aspetta Razador!") 
                timer("warp_to_boss",5) 
            else 
                     
                d.setf("purgatory_level",d.getf("purgatory_level")+1) 
                blazingpurgatory.purge() 
                blazingpurgatory.LoadStage() 
                d.setf("block_altar",1) 
                 
                blazingpurgatory.NoticeTime() 
                d.notice("Si è aperta una stanza!") 
            end 
        end 
 
        when warp_to_boss.timer begin 
            d.jump_all(8111,6864) 
            d.notice("Razador:") 
            d.notice("La resistenza è inutile! Sung Mahi resusciterà!") 
            d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_7.txt") 
            blazingpurgatory.NoticeTime() 
        end  
         
        when kill with pc.get_map_inde1x() >= 2350000 and pc.get_map_index() <= 2355000 begin 
            if d.getf("actual_round") == 1 or d.getf("actual_round") == 3 then 
                d.setf("kill_count_bp1",d.getf("kill_count_bp1") +1) 
                if d.getf("kill_count_bp1") == d.getf("bp_kill_to_next") then 
                    d.notice("Ritorna al "NOME NPC CENTRO MAPPA"!") 
                    blazingpurgatory.purge() 
                end 
            elseif d.getf("actual_round") == 2 or d.getf("actual_round") == 5 then 
                d.setf("kill_count_bp",d.getf("kill_count_bp") +1) 
                if d.getf("kill_count_bp") == d.getf("kill_to_drop_key") then 
                    game.drop_item_with_ownership(50084,1) 
                    d.setf("kill_count_bp",0) 
                end 
            elseif d.getf("actual_round") == 4 and npc.get_race() == 6009 then 
                if number(1,5) == 1 then 
                    d.notice("Ritorna al "NOME NPC CENTRO MAPPA"!") 
                    blazingpurgatory.purge() 
                end 
            elseif d.getf("actual_round") == 6 and npc.get_race() == 8034 then 
                d.notice("Ritorna al "NOME NPC CENTRO MAPPA"!") 
                blazingpurgatory.purge()  
            elseif d.getf("actual_round") == 7 and npc.get_race() == 6091 then 
                d.notice("Razador è morto!") 
                d.clear_regen() 
                d.kill_all() 
            end 
        end 
 
        when 20081.take with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin 
            if item.get_vnum() == 50084 then 
                if d.getf("actual_round") == 2 then 
                    pc.remove_item(item.get_vnum(),1) 
                    if number(1,8) == 1 then 
                        npc.purge() 
                        d.notice("Ritorna al "NOME NPC CENTRO MAPPA"!") 
                        blazingpurgatory.purge() 
                    else 
                        syschat("Questa Pietra Maat è sbagliata!") 
                    end 
                elseif d.getf("actual_round") == 5 then 
                    local sequence = {{1,2,3,4,5,5},{4,3,2,1,5,5},{4,5,3,1,2,2},{5,3,4,2,1,1},{5,1,3,4,2,2}} 
                    if blazingpurgatory.GetPillarID() == sequence[d.getf("sequence")][d.getf("pillarcount")] then 
                        pc.remove_item(item.get_vnum(),1) 
                        npc.purge() 
                        d.setf("pillarcount", d.getf("pillarcount")+1) 
                        if d.getf("pillarcount") == 6 then 
                            d.notice("Ritorna al "NOME NPC CENTRO MAPPA"!") 
                            blazingpurgatory.purge() 
                        else 
                            d.notice("Usted debe continuar "..6-d.getf("pillarcount").." sellos abiertos!") 
                        end 
                    elseif blazingpurgatory.GetPillarID() == false then 
                        syschat("Embárcate que un zoom más cerca del sello!") 
                    elseif blazingpurgatory.GetPillarID() != sequence[d.getf("sequence")][d.getf("pillarcount")] then 
                        pc.remove_item(item.get_vnum(),1) 
                        syschat("Questo Ingranaggio non è quello giusto giusto!") 
                    end 
                end 
            end 
        end 
                     
        function LoadStage() 
            if d.getf("actual_round") == 1 then -- Alle Monster tötenw 
                d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_1.txt") 
                d.setf("bp_kill_to_next",241) 
                d.setf("kill_count_bp1",0) 
            elseif d.getf("actual_round") == 2 then 
                d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_2.txt") 
                d.setf("kill_to_drop_key",50) 
                d.spawn_mob(20081,195,352) 
            elseif d.getf("actual_round") == 3 then 
                d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_3.txt") 
                d.setf("bp_kill_to_next",240) 
                d.setf("kill_count_bp1",0) 
            elseif d.getf("actual_round") == 4 then 
                d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_4.txt") 
            elseif d.getf("actual_round") == 5 then 
                d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_5.txt") 
                local sequence = {{1,2,3,4,5},{4,3,2,1,5},{4,5,3,1,2},{5,3,4,2,1},{5,1,3,4,2}} 
                local n = number(1,5) 
                local coords = {{502,354},{517,354},{487,354},{502,339},{502,369}} 
                for i = 1, 5 do 
                    d.spawn_mob(20081, coords[1],coords[2]) 
                end 
                d.setf("pillarcount", 1) 
                d.setf("sequence",n) 
                d.setf("kill_to_drop_key",100) 
            elseif d.getf("actual_round") == 6 then 
                d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_6.txt") 
                d.spawn_mob(8034,507,489) 
            end 
        end  
 
        function purge() 
            d.setf("block_altar",0) 
            d.clear_regen() 
            d.kill_all() 
            blazingpurgatory.LoadGates() 
            d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt") 
            if d.getf("purgatory_level") == 6 then 
                d.setf("purgatory_level",7) 
            end 
        end      
 
        function LoadGates() 
            local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}} 
            for i = 1, 6-d.getf("purgatory_level") do 
                d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt") 
            end 
            d.setf("actual_round",sequence[d.getf("purgatory_gate_sequence")][7-d.getf("purgatory_level")]) 
        end      
         
        function NoticeTime() 
            local secondsLeft = (d.getf("time") - get_time()) 
            local minutesLeft = math.ceil(secondsLeft / 60) 
            d.notice("Tempo rimanente: "..minutesLeft.." minuti!") 
        end 
 
        function GetPillarID() 
            if pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then 
                return 1 
            elseif pc.get_local_x() >= 517 - 5 and pc.get_local_x() <= 517 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then 
                return 2 
            elseif pc.get_local_x() >= 487 - 5 and pc.get_local_x() <= 487 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then 
                return 3 
            elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 339 - 5 and pc.get_local_y() <= 339 + 5 then 
                return 4 
            elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 369 - 5 and pc.get_local_y() <= 369 + 5 then 
                return 5 
            else 
                return false 
            end 
        end    
    end 
end

 

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega

#MoveRequest or Closerequest

Share this post


Link to post
Share on other sites

Tópico colocado em Área Incorreta
 
Movido de Metin2 - Recursos para Metin2 - Pedidos

Share this post


Link to post
Share on other sites
Sign in to follow this