Ir para conteúdo
  • Cadastre-se

(Resolvido)Runa ou item que copia outfit


Ir para solução Resolvido por Wakon,

Posts Recomendados

Ola eu gostaria de colocar em meu otserv uma runa ou um item que quando um player clica no item, e em outro player, o individuo que usou o item fica com a outfit copiada.

 

Link para o post
Compartilhar em outros sites

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