Ir para conteúdo
  • Cadastre-se

(Resolvido)Runa ou item que copia outfit


Ir para solução Resolvido por Wakon,

Posts Recomendados

MMHUCMQ.png  Esta é uma mensagem automática, este tópico foi movido para a área correta.
  Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680

Este tópico foi movido:
De: Scripting OTServ > OTServ > Actions e TalkActions
Para: Suporte OTServ > OTServ > Suporte de Scripts

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Criei um aqui pra você com várias opções, se der algum problema, avise.

Em "Data/actions/scripts", copie e cole um arquivo.lua e renomeie para copyOutfit.lua, apague tudo e cole:

local t = {
    remove = true,      -- Remover o item ao usar? [True/False]
    copyAddons = true,  -- Copiar addons ao usar? [True/False]
    storage = 34005,    -- Não altere!
    exaust = 5,         -- Delay para usar novamente em segundos.
    level = 70,         -- Level mínimo para usar.
    notify = true       -- Avisar ao jogador alvo que ele teve sua outfit copiada?
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if not isPlayer(itemEx.uid) then
	return doPlayerSendCancel(cid, 'Você só pode usar em outros jogadores!') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    elseif getPlayerLevel(cid) < t.level then
        return doPlayerSendCancel(cid, 'Você precisa ser level '.. t.level ..' para copiar outfits.')
    elseif itemEx.uid == cid then
	return doPlayerSendCancel(cid, 'Você não pode usar em si mesmo.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    elseif getPlayerAccess(itemEx.uid) > 3 then
	return doPlayerSendCancel(cid, 'Você não pode copiar o outfit de membros da staff.')  and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    end
	
    if getPlayerStorageValue(cid, t.storage) < os.time() then
        local o = getCreatureOutfit(itemEx.uid)
        if t.copyAddons then
	    outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = o.lookAddons}
	else
	    outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet}
	end
		
	doCreatureChangeOutfit(cid, outfit)
	doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_RED)
	doPlayerSendTextMessage(cid, 22, 'Você copiou o outfit do jogador '.. getPlayerName(itemEx.uid) ..'.')
        if t.notify then
	    doPlayerSendTextMessage(itemEx.uid, 22, 'O jogador '.. getPlayerName(cid) ..' copiou seu outfit.')
	end
	setPlayerStorageValue(cid, t.storage, t.exaust + os.time())
    else
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	return doPlayerSendTextMessage(cid, 22, 'Aguarde '.. getPlayerStorageValue(cid, t.storage) - os.time() ..' segundo(s) para usar novamente!')
    end
	
    if t.remove then
        doRemoveItem(item.uid, 1)
    end
   return true
end

Em "Data/actions", abra o arquivo actions.xml e adicione:

<action itemid="XXXX" script="copyOutfit.lua"/>

Em XXXX coloque o ID do item desejado.

Link para o post
Compartilhar em outros sites

man muito obrigado funcionou exatamente como eu queria so tem um probleminha, eu marquei la Remove = True, mas o item nao sai

e seria interessante tambem colocar uma condição Premium

 

Alias acho que nao remove pq coloquei item na runa e botei runa pra nao remover no config lua.

Editado por CoyoteStark (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

É que eu coloquei o exemplo errado, você deve colocar true/false em letra minúscula.

Adicionei a opção de Premium, troque pelo atual:

local t = {
    remove = true,      -- Remover o item ao usar? [true/false]
    copyAddons = true,  -- Copiar addons ao usar? [true/false]
    storage = 34005,    -- Não altere!
    exaust = 5,         -- Delay para usar novamente em segundos.
    level = 70,         -- Level mínimo para usar.
    notify = true,      -- Avisar ao jogador alvo que ele teve sua outfit copiada? [true/false]
    premium = true      -- Só jogadores premium podem utilizar o item? [true/false]
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if not isPlayer(itemEx.uid) then
	return doPlayerSendCancel(cid, 'Você só pode usar em outros jogadores!') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    elseif t.premium and not isPremium(cid) then
	return doPlayerSendCancel(cid, 'Você não é premium account.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    elseif getPlayerLevel(cid) < t.level then
        return doPlayerSendCancel(cid, 'Você precisa ser level '.. t.level ..' para copiar outfits.')
    elseif itemEx.uid == cid then
	return doPlayerSendCancel(cid, 'Você não pode usar em si mesmo.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    elseif getPlayerAccess(itemEx.uid) > 3 then
	return doPlayerSendCancel(cid, 'Você não pode copiar o outfit de membros da staff.')  and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    end
	
    if getPlayerStorageValue(cid, t.storage) < os.time() then
        local o = getCreatureOutfit(itemEx.uid)
        if t.copyAddons then
	    outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = o.lookAddons}
	else
	    outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet}
	end
		
	doCreatureChangeOutfit(cid, outfit)
	doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_RED)
	doPlayerSendTextMessage(cid, 22, 'Você copiou o outfit do jogador '.. getPlayerName(itemEx.uid) ..'.')
        if t.notify then
	    doPlayerSendTextMessage(itemEx.uid, 22, 'O jogador '.. getPlayerName(cid) ..' copiou seu outfit.')
	end
	setPlayerStorageValue(cid, t.storage, t.exaust + os.time())
    else
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	return doPlayerSendTextMessage(cid, 22, 'Aguarde '.. getPlayerStorageValue(cid, t.storage) - os.time() ..' segundo(s) para usar novamente!')
    end
	
    if t.remove then
        doRemoveItem(item.uid, 1)
    end
   return true
end

 

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.


  • Conteúdo Similar

    • Por RankerS
      Hoje estarei disponibilizando um outfit criado por mim para vocês do TK .
      sakuraskin_1915.obd
    • Por CoachLord
      Opa, tudo bom? 
      Eu estou adicionando novas outfit no servidor aqui, elas sao maiores e necessitam de deslocamento, porem quando eu edito o deslocamento no Object Builder, ele nao funciona no game.
      Versão 12.64 
    • Por yBarney
      Opa! Eu to com uma duvida aqui sobre a mudança de outfit dentro do jogo.
      Vou explicar melhor a duvida.
       
      E o seguinte. Eu quero saber se tem como eu travar (desabilitar), a opçao em que o player clica em set outfit (depois de ter criando o character, já jogando com ele), e muda mesmo não sendo a opçao q ele escolheo ao criar o character. 
       
      Exemplo: Ao criar meu character eu escolho o naruto como vocação, mas depois q entro no jogo eu clico em set outfit e mudo pro sasuke ou qualquer outro.
       
      Quero saber como posso desativar essa troca de outfit.
       
      Plis, +Rep
       
    • Por Regullus
      Boa noite galera !
      Eu baixei o Styller Yourots original e apesar de achá-lo perfeito, veio com uma coisinha que me irrita demais.
      Quando adiciona os addons 1 e 2 de alguns outfits, eles ficam com um efeito especial que ativa a cada passo do char.
      O ot tem um sistema de atributos, ex: a outfit de mage dá +2 de ml pro char etc.
      Eu encontrei o script dos atributos mas não vi opção de tirar o efeito visual nele.
       
      Alguém pode me ajudar a desativá-lo ?
       
      aqui uma imagem desse sistema em ação:
       

       
      Desde já agradeço.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo