Ir para conteúdo
  • 0

[PEDIDO]Script que muda outfit de pokemon


Loouis

Pergunta

Oi galera do ekz, como no título eu queria um script que muda a outfit do pokemon se ele for +50, exemplo: eu tenho uma gardevoir +50 e tenho um item id: 15000 aí eu uso esse item em cima do ícone da Gardevoir, e quando eu solto o pokemon pra fora ele sai com outra outfit... Mais queria que mudasse a outfit para sempre,ou seja numca mais saísse aquela outfit do pokemon, e tbm queria que não alterasse o Nickname que foi dado ao pokemon pelo npc namer que serve pra alterar o nome dos pokemons, queria que só alterasse a outfit dele msm, uso base cyan (8.54)


up

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

14 respostass a esta questão

Posts Recomendados

  • 0

Action:

local config = {
    --[itemid] = {name = "pokemon_name", looktype = x},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local main_poke, poke_icon = getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid
    
    if not config[item.itemid] then return true end
    
    if main_poke == 0 or poke_icon == 0 then
        doPlayerSendCancel(cid, "Put a pokeball in your pokeball slot.")
        return true
    elseif itemEx.uid ~= poke_icon then
        doPlayerSendCancel(cid, "Use your item on your pokemon icon.")
        return true
    elseif config[item.itemid].name ~= getItemAttribute(main_poke, "poke") then
        doPlayerSendCancel(cid, "This item can only be used on "..config[item.itemid].name..".")
        return true
    elseif getItemAttribute(main_poke, "outfit_boost") then
        doPlayerSendCancel(cid, "Your pokemon already has a special outfit.")
        return true
    elseif #getCreatureSummons(cid) > 0 then
        doPlayerSendCancel(cid, "Return your pokemon to the pokeball.")
        return true
    elseif not getItemAttribute(main_poke, "boost") or getItemAttribute(main_poke, "boost") < 50 then
        doPlayerSendCancel(cid, "Your pokemon boost must be 50.")
        return true
    end
    
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..config[item.itemid].name.." will use a special outfit. :)")
    doItemSetAttribute(main_poke, "outfit_boost", config[item.itemid].looktype)
    doRemoveItem(item.uid, 1)
    return true
end

Em goback.lua (data/actions/scripts), abaixo da linha contendo a função:

adjustStatus

Coloque:

if getItemAttribute(item.uid, "outfit_boost") then
    doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "outfit_boost")}, -1)
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

Action:

local config = {
    --[itemid] = {name = "pokemon_name", looktype = x},
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local main_poke, poke_icon = getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid
    
    if not config[item.itemid] then return true end
    
    if main_poke == 0 or poke_icon == 0 then
        doPlayerSendCancel(cid, "Put a pokeball in your pokeball slot.")
        return true
    elseif itemEx.uid ~= poke_icon then
        doPlayerSendCancel(cid, "Use your item on your pokemon icon.")
        return true
    elseif config[item.itemid].name ~= getItemAttribute(main_poke, "poke") then
        doPlayerSendCancel(cid, "This item can only be used on "..config[item.itemid].name..".")
        return true
    elseif getItemAttribute(main_poke, "outfit_boost") then
        doPlayerSendCancel(cid, "Your pokemon already has a special outfit.")
        return true
    elseif #getCreatureSummons(cid) > 0 then
        doPlayerSendCancel(cid, "Return your pokemon to the pokeball.")
        return true
    elseif not getItemAttribute(main_poke, "boost") or getItemAttribute(main_poke, "boost") < 50 then
        doPlayerSendCancel(cid, "Your pokemon boost must be 50.")
        return true
    end
    
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..config[item.itemid].name.." will use a special outfit. :)")
    doItemSetAttribute(main_poke, "outfit_boost", config[item.itemid].looktype)
    doRemoveItem(item.uid, 1)
    return true
end
Em goback.lua (data/actions/scripts), abaixo da linha contendo a função:
adjustStatus
Coloque:
if getItemAttribute(item.uid, "outfit_boost") then
    doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "outfit_boost")}, -1)
end

Zípter se não for pedir mt pode me dizer aonde adiciono o script?

Link para o comentário
Compartilhar em outros sites

  • 0

 

data/actions/scripts. Caso tenha dúvidas quanto à TAG, avise.

 

 

kk agr é sobre a tar :s porque eu fui tentar colocar e tem umas unique id, action id e item id qual devo colocar?

Qual a tag?

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

  • 0

@@Loouis, a tag seria de item id, acredito eu.
Não sei qual distro vc usa, mas tente botar a seguinte tag no seu arquivo actions.xml:

<action itemid="ID DO ITEM" event="script" value="SCRIPT.lua"/>

*não esqueça de colocar o id do item e o nome do script nos locais corretos, na tag acima.

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo :c, não dá nenhum erro na distro, porém quando eu uso o item no pokemon a outfit não muda "só aparece a mensagem" too for away" e quando eu uso o item no chão do server o player vai até a coordenada que eu usei o item... Obs: minha base é cyan.(tentei usar o item no ícone e tbm não deu crt)

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo :c, não dá nenhum erro na distro, porém quando eu uso o item no pokemon a outfit não muda "só aparece a mensagem" too for away" e quando eu uso o item no chão do server o player vai até a coordenada que eu usei o item... Obs: minha base é cyan.(tentei usar o item no ícone e tbm não deu crt)

Use o item na ball.
Link para o comentário
Compartilhar em outros sites

  • 0

data/actions/scripts. Caso tenha dúvidas quanto à tag, avise.

 

goback.lua

adjustStatus(pk, item.uid, true, true, true)

if getItemAttribute(item.uid, "outfit_boost") then

doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "outfit_boost")}, -1)

end

 

Data//Actions//Script/Particle.lua

local config = {

--[14369] = {name = "Gardevoir", looktype = 1669},

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local main_poke, poke_icon = getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid

 

if not config[item.itemid] then return true end

 

if main_poke == 0 or poke_icon == 0 then

doPlayerSendCancel(cid, "Put a pokeball in your pokeball slot.")

return true

elseif itemEx.uid ~= poke_icon then

doPlayerSendCancel(cid, "Use your item on your pokemon icon.")

return true

elseif config[item.itemid].name ~= getItemAttribute(main_poke, "poke") then

doPlayerSendCancel(cid, "This item can only be used on "..config[item.itemid].name..".")

return true

elseif getItemAttribute(main_poke, "outfit_boost") then

doPlayerSendCancel(cid, "Your pokemon already has a special outfit.")

return true

elseif #getCreatureSummons(cid) > 0 then

doPlayerSendCancel(cid, "Return your pokemon to the pokeball.")

return true

elseif not getItemAttribute(main_poke, "boost") or getItemAttribute(main_poke, "boost") < 50 then

doPlayerSendCancel(cid, "Your pokemon boost must be 50.")

return true

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..config[item.itemid].name.." will use a special outfit. :)")

doItemSetAttribute(main_poke, "outfit_boost", config[item.itemid].looktype)

doRemoveItem(item.uid, 1)

return true

end

 

TAG:

<action itemid="14369" event="script" value="particle.lua"/>

 

 

Fiz algo errado?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...