Jump to content

Pedido Torre Sakita


LuizFernando
 Share

Recommended Posts

Boas galera,

Gostaria de saber se alguém consegue fazer essa seguinte função na torre sakita.

Bom, a torre sakita está normal subindo matando a pedra metin do 50, mas eu gostaria de colocar uma nova opção no Guarda da Torre, quem estiver em grupo de 4 pessoas consegue subir direto pro 2 andar sem precisar esperar quebrar a metin do 50, alguém consegue fazer essa função?

Link to comment
Share on other sites

Simples ....

Vamos lá, primeiro você precisa ir na quest deviltower_zone e adicionar essa nova função e a nova opção no Guarda da Torre:

-- Nova ação na torre
    function party_member_count()
        local pids = {party.get_member_pids()}
        local count = 0
            
        for i = 1, table.getn(pids) do
            count = i
        end
        return count
    end
    
    when deviltower_man.chat."Quero subir" with party.is_leader() and deviltower_zone.party_member_count() >= 4 begin
        say_title(mob_name(npc.get_race()))
        say("")
        say("Olá "..pc.get_name()..", quer subir torre ?")
        say("")
        local s=select("Sim","Não")
        if s==2 then
            return
        end
        notice_all("O grupo de "..pc.get_name().." está subindo torre agora.")
        timer("devil_is_party1_1", 3)
    end
	    when devil_is_party1_1.timer begin
        d.new_jump_party(66, special.devil_tower[1][1], special.devil_tower[1][2])
        d.regen_file("data/dungeon/deviltower2_regen.txt")
        d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
    end
    -- Fim da nova ação na torre

Depois é só instalar a quest novamente e dar /reload q ou reiniciar o servidor ....

Bem, isso é tudo qualquer dúvida ou bug é só comentar ......

Link to comment
Share on other sites

3 horas atrás, juniorsilva disse:

Simples ....

Vamos lá, primeiro você precisa ir na quest deviltower_zone e adicionar essa nova função e a nova opção no Guarda da Torre:

 


-- Nova ação na torre
    function party_member_count()
        local pids = {party.get_member_pids()}
        local count = 0
            
        for i = 1, table.getn(pids) do
            count = i
        end
        return count
    end
    
    when deviltower_man.chat."Quero subir" with party.is_leader() and deviltower_zone.party_member_count() >= 4 begin
        say_title(mob_name(npc.get_race()))
        say("")
        say("Olá "..pc.get_name()..", quer subir torre ?")
        say("")
        local s=select("Sim","Não")
        if s==2 then
            return
        end
        notice_all("O grupo de "..pc.get_name().." está subindo torre agora.")
        timer("devil_is_party1_1", 3)
    end
	    when devil_is_party1_1.timer begin
        d.new_jump_party(66, special.devil_tower[1][1], special.devil_tower[1][2])
        d.regen_file("data/dungeon/deviltower2_regen.txt")
        d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
    end
    -- Fim da nova ação na torre

 

Depois é só instalar a quest novamente e dar /reload q ou reiniciar o servidor ....

Bem, isso é tudo qualquer dúvida ou bug é só comentar ......

Me deu esse erro!

SYSERR: Dec  9 01:11:53 :: CreatePrivateMap: Cannot find map index 66
SYSERR: Dec  9 01:11:53 :: dungeon_new_jump_party: cannot create dungeon 66
SYSERR: Dec  9 01:11:53 :: dungeon_get_map_index: no dungeon !!!
SYSERR: Dec  9 01:11:53 :: dungeon_set_warp_at_eliminate: cannot find dungeon

Link to comment
Share on other sites

39 minutos atrás, LuizFernando disse:

Me deu esse erro!

SYSERR: Dec  9 01:11:53 :: CreatePrivateMap: Cannot find map index 66
SYSERR: Dec  9 01:11:53 :: dungeon_new_jump_party: cannot create dungeon 66
SYSERR: Dec  9 01:11:53 :: dungeon_get_map_index: no dungeon !!!
SYSERR: Dec  9 01:11:53 :: dungeon_set_warp_at_eliminate: cannot find dungeon

Possivelmente você adicionou em um local incorreto faz o teste com essa e se continuar execute a quest com o npc dentro da torre, porém aqui funciona normalmente, não precisei por o npc dentro da torre....

 

 

deviltower_zone.lua

Link to comment
Share on other sites

14 horas atrás, juniorsilva disse:

Possivelmente você adicionou em um local incorreto faz o teste com essa e se continuar execute a quest com o npc dentro da torre, porém aqui funciona normalmente, não precisei por o npc dentro da torre....

 

 

deviltower_zone.lua

Será porque o index da torre está em core diferente?

Link to comment
Share on other sites

Em 09/12/2017 em 20:37, L2P disse:

usas no game99? 

Não não...

 

12 horas atrás, juniorsilva disse:

Hmmm.....

A função d.new_jump_party() cria um salto do grupo porém não funciona se o mapa entre um e outro estiver em núcleos diferente......

Adicione ambos no mesmo núcleo (65,66) ch1.....

Beleza irei fazer isso.

Link to comment
Share on other sites

Junior, tem alguma forma de colocar essa função dessa seguinte maneira...

A opção para entrar sempre vai está visivel, porém quando clica se não tiver em grupo o npc informa que não tem grupo  e não pode entrar.

A opção de ser nível 40+ para entrar e se tiver alguém do grupo nível 40- não entrar.

Se tiver e puder me ajudar, fico grato!

Link to comment
Share on other sites

-- Colocar no chat-trigger
if not party.is_party() then
    say("sem grupo")
    return
elseif not party.is_leader() then
    say("não és o líder")
    return
end

local canEnter = true
local pids = {party.get_member_pids()}

if table.getn(pids) < 4 then
    say("necessários 4 membros")
    return
end

for _, pid in ipairs(pids) do
    q.begin_other_pc_block(pid)

    if pc.get_level() < 40 then
        canEnter = false
    end

    q.end_other_pc_block()
end

if not canEnter then
    say("existem jogadores com nivel < 40")
    return
end

Entretanto, a função d.new_jump_party() cria uma nova dungeon instance do mapa escolhido (pelo index) e transporta todos os membros do grupo do jogador para as posições selecionadas.
Dito isto, todas as funções dungeon colocadas depois desta, não irão funcionar. Isto porque nesse momento não existe nenhuma dungeon.
Colocá-las num login-trigger (when login ... begin), faz com que corram perfeitamente.

Edited by PACI
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...