LO
pedido

[PEDIDO]Script que muda outfit de pokemon

Por Loouis, 01 de mar. de 2016 em Scripts

15
2.2k
LoouisL
04 de março de 2016 às 11:12

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 Março 1 por Caronte

zipter98Z
04 de março de 2016 às 19:19

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
LoouisL
05 de março de 2016 às 15:52

 

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?

zipter98Z
05 de março de 2016 às 22:39

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

LoouisL
06 de março de 2016 às 20:22

 

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 Março 6 por Loouis

LoouisL
09 de março de 2016 às 19:55

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

Up, qual a tag? 0
DanihcvD
09 de março de 2016 às 20:26

@@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.

LoouisL
10 de março de 2016 às 23:27

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)

BluesterB
11 de março de 2016 às 06:30

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.
LoouisL
11 de março de 2016 às 08:48

Como assim na ball? Como disse minha base é CYAN e é icon system... (tentei usar no ícone da Gardevoir r não foi)

DrakopoulosD
11 de março de 2016 às 09:48

Já tentou usar no icon sem puxar o poke?

LoouisL
11 de março de 2016 às 10:14

Já tentou usar no icon sem puxar o poke?

 

sim, ja tentei usar com o poke dentro e fora... não da certo :x

3 semanas depois...
LoouisL
25 de março de 2016 às 17:17

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?

zipter98Z
26 de março de 2016 às 20:08

Use o item na portrait do pokémon.

LoouisL
27 de março de 2016 às 15:35

Use o item na portrait do pokémon.

hj testei na portrait e tbm ñ funfou