Ir para conteúdo
  • 0

[Resolvido] [Pedido] Script Para Pda


Morigan1

Pergunta

Ola Xtibianos Hoje Queria Pedir Ajuda em um breve Script Que eu não faço a minima ideia de como faze-lo Segue a gif.

kfj.gif

 

No Caso Pra ficar Animado são usadas 3 outfits e elas ficam trocando constantemente

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Um amigo me pediu este sisteminha alguns dias atrás. Como poderá ver, é algo bem simples. Entretanto, ele pode conflitar com outras mudanças de outfit que o pokémon venha sofrer. Para evitar isso, você terá de fazer algumas mudanças adicionais, explicadas adiante.

Primeiramente, em algum arquivo da lib:

outfits_order = {
    --["nome_do_pokemon"] = {outfit1, outfit2, outfit3, ...},
}
        
function doTradeOutfit(cid, index)             
    if not isSummon(cid) then return true end
    local outfit = outfits_order[getCreatureName(cid)]
    if not outfit[index] then index = 1 end
    doSetCreatureOutfit(cid, {lookType = outfit[index]}, -1)
    addEvent(doTradeOutfit, 200, cid, index + 1)
end
As outfits devem ser configuradas na ordem em que serão trocadas.
O resto dependerá de onde a função será chamada. Se a animação do pokémon começar logo após ele ter sido chamado da pokébola, então, em goback.lua (data/actions/scripts):
Abaixo de:
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
Coloque:
if outfits_order[getCreatureName(pk)] then
    doTradeOutfit(pk, 1)
end
Se formos seguir a lógica da gif demonstrada, a função deveria ser chamada após a mega evolução, o que dependeria de como o sistema usado por você foi escrito. Usando o meu, o processo seria o seguinte:
Em pokemon moves.lua (data/lib), no código da spell Mega Evolution:
Abaixo de:
adjustStatus(newPoke, ball, true, false)
coloque:
if outfits_order[getCreatureName(newPoke)] then
    doTradeOutfit(newPoke, 1)
end
Caso os pokémons que façam parte do sistema de mudança constante de outfit possam ter sua looktype alterada de alguma maneira durante o jogo (por exemplo, um Mega Charizard X usando Outrage ou uma Rapidash usando Blue Flames), você deverá fazer algumas pequenas mudanças.
Troque a função que passei anteriormente por essa:
function doTradeOutfit(cid, index)             
    if not isSummon(cid) then return true end
    local outfit = outfits_order[getCreatureName(cid)]
    if not getCreatureCondition(cid, CONDITION_OUTFIT) or isInArray(outfit, getCreatureOutfit(cid).lookType) then
        if not outfit[index] then index = 1 end
        doSetCreatureOutfit(cid, {lookType = outfit[index]}, -1)
    end
    addEvent(doTradeOutfit, 200, cid, index + 1)
end
Depois, no código de todos os possíveis fatores que possam mudar a outfit dos pokémons participantes do sistema, acima da linha responsável pela alteração na looktype:
doSetCreatureOutfit(...)
Coloque isso:
if getCreatureCondition(cid, CONDITION_OUTFIT) then doRemoveCondition(cid, CONDITION_OUTFIT) end
Sinceramente, acho que você só terá de fazer isso em pouquíssimos códigos.

Por gentileza, poste um feedback do sistema. Assim, saberei se devo ou não mover o tópico.

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0
  • Administrador
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...