@Malborus eu lembro de editar o configurations para configurar catch de lendas e adicionar uma nova ball (não segui nenhum tutorial para adicionar só que não deu nenhum erro)
\/\/\/\/\/\/ \/\/ Servidor\datapack\creaturescripts\scripts\goback.lua \/\/\/\/\/\/\/\/
function onLogout(cid)
if #getCreatureSummons(cid) >= 1 then
doPlayerSendCancel(cid, "Você não pode deslogar com o pokémon fora da ball.")
return false
end
if not isCreature(cid) then return true end
local thisitem = getPlayerSlotItem(cid, 8)
if thisitem.uid <= 0 then return true end
local ballName = getItemAttribute(thisitem.uid, "poke")
local btype = getPokeballType(thisitem.itemid)
---------------------------------------------------------------
if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v1.6
if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
BackTeam(cid)
end
end
--////////////////////////////////////////////////////////////////////////////////////////--
if getPlayerStorageValue(cid, 52480) >= 1 and getPlayerStorageValue(cid, 52481) >= 0 then
doEndDuel(cid)
end
--////////////////////////////////////////////////////////////////////////////////////////--
if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
local cmed2 = getCreatureSummons(cid)[1]
local poscmed = getThingPos(cmed2)
local cmeddir = getCreatureLookDir(cmed2)
local namecmed = getCreatureName(cmed2)
local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
local gender = getPokemonGender(cmed2)
doRemoveCreature(getCreatureSummons(cid)[1])
local back = doCreateMonster(namecmed, poscmed)
addEvent(doCreatureSetSkullType, 150, back, gender)
doCreatureSetLookDir(back, cmeddir)
addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
-- pokemon controlador
local ball2 = getPlayerSlotItem(cid, 8)
local mynewpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos)
doConvinceCreature(cid, pk2)
addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)
setPlayerStorageValue(cid, 888, -1)
cleanCMcds(ball2.uid)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
registerCreatureEvent(pk2, "SummonDeath")
end
----------------------------------------------------------------------
local summon = getCreatureSummons(cid)[1]
if #getCreatureSummons(cid) >= 1 and thisitem.uid > 1 then
if getPlayerStorageValue(cid, 212124) <= 0 then
doItemSetAttribute(thisitem.uid, "hp", (getCreatureHealth(summon) / getCreatureMaxHealth(summon)))
end
setPlayerStorageValue(cid, 212124, 0)
doTransformItem(thisitem.uid, pokeballs[btype].on)
doSendMagicEffect(getThingPos(summon), pokeballs[btype].effect)
doRemoveCreature(summon)
end
if getCreatureOutfit(cid).lookType == 814 then
doPlayerStopWatching(cid)
end
if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then
markFlyingPos(cid, getThingPos(cid))
end
if getPlayerStorageValue(cid, 22545) == 1 then
setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)
if getGlobalStorageValue(22550) <= 0 then
endGoldenArena()
end
end
return TRUE
end
local deathtexts = {"Oh no! POKENAME, come back!", "Come back, POKENAME!", "That's enough, POKENAME!", "You did well, POKENAME!",
"You need to rest, POKENAME!", "Nice job, POKENAME!", "POKENAME, you are too hurt!"}
function onDeath(cid, deathList)
local owner = getCreatureMaster(cid)
if getPlayerStorageValue(cid, 637500) >= 1 then
doSendMagicEffect(getThingPos(cid), 211)
doRemoveCreature(cid)
return true
end
if getPlayerStorageValue(cid, 212123) >= 1 then
return true
end
--////////////////////////////////////////////////////////////////////////////////////////--
checkDuel(owner)
--////////////////////////////////////////////////////////////////////////////////////////--
local thisball = getPlayerSlotItem(owner, 8)
local ballName = getItemAttribute(thisball.uid, "poke")
btype = getPokeballType(thisball.itemid)
if #getCreatureSummons(owner) > 1 then
BackTeam(owner, getCreatureSummons(owner))
end
doSendMagicEffect(getThingPos(cid), pokeballs[btype].effect)
doTransformItem(thisball.uid, pokeballs[btype].off)
doPlayerSendTextMessage(owner, 22, "Your pokemon dead.")
local say = deathtexts[math.random(#deathtexts)]
-- say = string.gsub(say, "POKENAME", getCreatureName(cid))
-- if getPlayerStorageValue(cid, 33) <= 0 then
-- doCreatureSay(owner, say, TALKTYPE_SAY)
-- end
doItemSetAttribute(thisball.uid, "hp", 0)
if ehMonstro(deathList[1]) then
doItemSetAttribute(thisball.uid, "happy", getPlayerStorageValue(cid, 1008) - happyLostOnDeath)
end
doItemSetAttribute(thisball.uid, "hunger", getPlayerStorageValue(cid, 1009))
if useOTClient then
doPlayerSendCancel(owner, '12//,hide') --alterado v1.7
end
doRemoveCreature(cid)
return false
end
\/\/\/\/\/\/ \/\/ Servidor\datapack\actions\scripts\goback.lua \/\/\/\/\/\/\/\/
local EFFECTS = {
--[OutfitID] = {Effect}
["Magmar"] = 35,
["Jynx"] = 17, --alterado v1.5
["Shiny Jynx"] = 17,
["Piloswine"] = 205, --alterado v1.8
["Swinub"] = 205,
}
function onUse(cid, item, frompos, item2, topos)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9 <<
return true
end
local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use
local effect = pokeballs[btype].effect
if not effect then
effect = 21
end
unLock(item.uid) --alterado v1.8
if item.itemid == usando then
if getPlayerStorageValue(cid, 990) == 1 then -- GYM
doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
return true
end
if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v1.6
if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
BackTeam(cid)
end
end
if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
doPlayerSendCancel(cid, "You can't do that while is controling a mind")
return true --alterado v1.5
end
if #getCreatureSummons(cid) <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "This pokemon is fainted.")
return true
end
end
local cd = getCD(item.uid, "blink", 30)
if cd > 0 then
setCD(item.uid, "blink", 0)
end
local z = getCreatureSummons(cid)[1]
if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
return true
end
doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
return TRUE
end
local thishp = getItemAttribute(item.uid, "hp")
if getItemAttribute(item.uid, "hp") == 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "This pokemon is fainted.")
return true
end
end
local pokemon = getItemAttribute(item.uid, "poke")
if not pokes[pokemon] then
return true
end
local x = pokes[pokemon]
local boost = getItemAttribute(item.uid, "boost") or 0
if getPlayerLevel(cid) < (x.level) then
doPlayerSendCancel(cid, "You need level "..(x.level).." to use this pokemon.")
return true
end
local pk = getCreatureSummons(cid)[1]
doSummonMonster(cid, pokemon)
doItemSetAttribute(item.uid, "pokeballusada", 0)
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited
local left = getItemAttribute(item.uid, "transLeft")
local name = getItemAttribute(item.uid, "transName")
if left and left > 0 then
setPlayerStorageValue(pk, 1010, name)
doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
doItemSetAttribute(item.uid, "transBegin", os.clock())
else
setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto") --edited
end
end
if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
doCreatureSetLookDir(pk, 2)
doCreatureSetNick(pk, nick)
adjustStatus(pk, item.uid, true, true, true)
doAddPokemonInOwnList(cid, pokemon)
doTransformItem(item.uid, item.itemid+1)
local pokename = getPokeName(pk) --alterado v1.7
local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename)
local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename)
if getPlayerLanguage(cid) == 2 then
doCreatureSay(cid, mgoen, 19)
end
if getPlayerLanguage(cid) == 0 then
doCreatureSay(cid, mgo, 19)
end
if getPlayerLanguage(cid) == 1 then
doCreatureSay(cid, mgoes, 19)
end
-- doItemSetAttribute(item.uid, "gender", math.random(3, 4))
doSendMagicEffect(getCreaturePosition(pk), effect)
if useOTClient then
doPlayerSendCancel(cid, '12//,show') --alterado v1.7
end
local pk = getCreatureSummons(cid)[1]
local pb = getPlayerSlotItem(cid, 8).uid
local look = getItemAttribute(pb,"addon")
if not getItemAttribute(pb,"addon") then
doSetItemAttribute(pb,"addon",0)
end
if getItemAttribute(pb,"addon") > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
end
else
doPlayerSendCancel(cid, "This pokemon is fainted.")
end
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end
OBS: SE PRECISAR DO CONFIGURATIONS.LUA SÓ FALAR