System de addon, funciona da seguinte maneira:
- O item deve ser usado diretamente na pokebola, caso o player deseje colocar um novo addon no pokemon, evoluir ou transformar em shiny, devera ser utilizado o comando: !removeAddon
Instruções:
Insira na pasta datapack/actions/script/
Addon.lua
addonbox.lua
Insira na pasta datapack/lib/
Addon System.lua
Agora, em datapack/actions/actions.xml :
<action itemid="13103;13114;13107" event="script" value="Addon.lua"/> <!-- Aqui estarão os id dos addons que vão ser utilizados na pokebola -->
<action itemid="2183" event="script" value="addonbox.lua"/> <!-- Id da addon box -->
Agora, em datapack/actions/scripts/goback.lua, abaixo de :
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
Insira :
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local addon = getItemAttribute(slot.uid, "pokeaddon")
addonTransformOutfit(cid, addon, pokemon)
Agora, em datapack/actions/scripts/order.lua, abaixo de :
doSummonMonster(cid, pokemon)
local pk = getCreatureSummons(cid)[1]
Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local addon = getItemAttribute(slot.uid, "pokeaddon")
addonTransformOutfit(cid, addon, pokemon)
Agora, em datapack/actions/scripts/evolution.lua, abaixo de :
if not isMonster(item2.uid) or not isSummon(item2.uid) then
return true
end
if #getCreatureSummons(cid) > 1 then
return true --alterado v1.9
end
Insira :
local poke_addon = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "pokeaddon")
if(poke_addon)then
return doPlayerSendCancel(cid, "Please remove addon before evolution, Command: !removeAddon")
end
Agora, em datapack/actions/scripts/sh stone.lua, abaixo de :
if getPlayerSlotItem(cid, 8).uid == itemEx.uid then
if #getCreatureSummons(cid) <= 0 then
Insira :
local poke_addon = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "pokeaddon")
if(poke_addon)then return doPlayerSendCancel(cid, "Please remove addon before evolution, Command: !removeAddon") end
Agora, em datapack/creaturescripts/scripts/look.lua, abaixo de :
if getItemAttribute(thing.uid, "gender") == SEX_MALE then
table.insert(str, "It is male.")
elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then
table.insert(str, "It is female.")
else
table.insert(str, "It is genderless.")
end
Insira :
if(getItemAttribute(thing.uid, "pokeaddon"))then
local table_addon = ADDON_CONFIG[getItemAttribute(thing.uid, "pokeaddon")]
if not table_addon then return true end
table.insert(str, "\n" .. "Addon : " .. table_addon.name_addon .. ".")
end
Agora, em datapack/lib/order.lua, abaixo de :
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
setPlayerStorageValue(cid, 17000, 1)
Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local addon = getItemAttribute(slot.uid, "pokeaddon")
addonTransformOutfitAbility(cid, addon)
Continuando em datapack/lib/order.lua, abaixo de :
elseif skill == "ride" then
local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])]
doChangeSpeed(cid, -getCreatureSpeed(cid))
local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate
doChangeSpeed(cid, speed)
setPlayerStorageValue(cid, 54844, speed)
doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
setPlayerStorageValue(cid, 17001, 1)
Insira :
addonTransformOutfitAbility(cid)
Agora, em datapack/movements/scripts/surf.lua, abaixo de:
doSetCreatureOutfit(cid, {lookType = surfs[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1)
doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
Insira :
addonTransformOutfitAbility(cid)
Continuando, em datapack/movements/script/surf.lua, abaixo de:
doSummonMonster(cid, pokemon)
local pk = getCreatureSummons(cid)[1]
Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local addon = getItemAttribute(slot.uid, "pokeaddon")
addonTransformOutfit(cid, addon, pokemon)
Agora, em datapack/talkactions/scripts/ crie um arquivo .lua, coloque dentro :
function onSay(cid, words, param, channel)
if(#getCreatureSummons(cid) >=1)then return false end
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET)
if not slot then return false end
local addon_ball = getItemAttribute(slot.uid, "pokeaddon")
if(addon_ball)then
removeAddon(cid,slot,addon_ball)
return true
end
end
Agora, em datapack/talkactions/talkactions.xml registre :
<talkaction words="!removeAddon" hide="yes" event="script" value="nome do arquivo.lua"/>
Configurações :
ADDON_CONFIG ={
[1] = { -- Type do attribute do addon
addon1 = 2079, -- Id da outfit
pokemon = "Blastoise", -- O pokemon
name_addon = "Red ninja pack", -- Nome do addon
habilidade = 2089, -- Id da outfit correspondente com sua habilidade
},
}
local addon_type = {
[13114] = { -- Id do item
pokemon_use = "Blastoise", -- O pokemon
type = 1, -- Valor do attribute
},
}
Return_addon_table = {
[1] = { -- Type do attribute
retu = 13114, -- o id do item que o player vai ganhar
},
}
Creditos :
Sr. Naja
20210725_201402.mp4