Ir para conteúdo
  • Cadastre-se

(Resolvido)Mudar outfit de 1 em 1 segundo


Ir para solução Resolvido por Lyu,

Posts Recomendados

Boa tarde pessoal, eu estou testando o BestBaiak e estou tentando criar um script que ao colocar um anel qualquer em um player ele mude a outfit.

Eu já consegui essa parte, porem gostaria de acrescentar que ao usar o ring ele:

Mude de 1 em 1 segundo da outfit A para outfit B e assim fique se repetindo, até, quando, o anel seja removido.

Estou tentando algo simples assim, porém não estou conseguindo acrescentar essas linhas para a mudança.

Alguém saberia como criar esse script?

Obrigado!

Link para o post
Compartilhar em outros sites

Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

Here in TibiaKing messages like UP and BUMP are prohibited, use the button raise this topic. This is an automated message!
Please read the forum rules.

 

Link para o post
Compartilhar em outros sites
  • Solução

Fiz aqui rapidinho, utilizei onThink por ser um método mais seguro e permitir reLogin sem interferir na troca de outfits.

 

data/creaturescripts/scripts/outfitring.lua

local config = {
    
    ring = 2205,
    
    outfits = {

        {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 3},
        {lookType = 129, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 3}
    }
}

function onThink(cid, interval)    
    if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == config.ring then
        doSetCreatureOutfit(cid, config.outfits[os.time() % 2 == 0 and 1 or 2])
    end
    
    return true
end

 

data/creaturescripts/creaturescripts.xml

<event type="think" name="OutfitRing" event="script" value="outfitring.lua"/>

 

adicionar no final de data/creaturescripts/scripts/login.lua

registerCreatureEvent(cid, "OutfitRing")

 

a configuração é na tabela config, onde você pode configurar o id do ring e as duas outfits. Abraços.

Link para o post
Compartilhar em outros sites
2 minutos atrás, neontiger disse:

Muito obrigado @Lyu , deu certo aqui!

Só gostaria de saber uma coisa desse teu script. Aonde eu posso alterar ali, o tempo em que altera a outfit, é ali no %2 == 0?

 

 

o tempo é padrão do próprio evento onThink. Esse evento é executado a cada 1 segundo, no caso, o script.

Link para o post
Compartilhar em outros sites

Ah, entendi!. 

Neste caso é padrão o 1 segundo, o onThink . 
Eu, na verdade, estou tentando criar uma animação para um personagem com asas, aonde com o anel ele ganha as "asas" e mesmo parado, haja uma animação em 2 sprites com elas se movendo, por isso, da troca de outfit que pedi, para que um esteja em uma determinada posição e outra, em outra, criando a animação.

Não sei se esse é o melhor caminho para esse tipo de idéia @Lyu ? Tem alguma ideia de algum caminho melhor. 
Agradeço muito pela tua ajuda.

Obrigado!

Link para o post
Compartilhar em outros sites
2 minutos atrás, neontiger disse:

Ah, entendi!. 

Neste caso é padrão o 1 segundo, o onThink . 
Eu, na verdade, estou tentando criar uma animação para um personagem com asas, aonde com o anel ele ganha as "asas" e mesmo parado, haja uma animação em 2 sprites com elas se movendo, por isso, da troca de outfit que pedi, para que um esteja em uma determinada posição e outra, em outra, criando a animação.

Não sei se esse é o melhor caminho para esse tipo de idéia @Lyu ? Tem alguma ideia de algum caminho melhor. 
Agradeço muito pela tua ajuda.

Obrigado!

 

Bom, se o intuito principal for apenas criar essa animação a partir da troca de outfits A e B, acho que esse caminho é suficiente xD

Escolhi esse caminho por ser mais seguro, onde o personagem poderá deslogar e logar tranquilamente que já logará com a animação. Só remove a animação se remover o anel mesmo.

Link para o post
Compartilhar em outros sites

Certo então!
Obrigado @Lyu , eu ate adicionei uma linha ali de 

   else
	   doRemoveCondition(cid, CONDITION_OUTFIT)

para que ele volte ao normal quando retirado o anel, e funcionou. 

Muito obrigado mesmo!

Abraço!

Link para o post
Compartilhar em outros sites
2 minutos atrás, neontiger disse:

Certo então!
Obrigado @Lyu , eu ate adicionei uma linha ali de 


   else
	   doRemoveCondition(cid, CONDITION_OUTFIT)

para que ele volte ao normal quando retirado o anel, e funcionou. 

Muito obrigado mesmo!

Abraço!

 

haha boa observação! Valeu brother, abraços!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo