Não consigo por o pokemon para fora, quando do use, da erro.
Se eu uso esse Goback (do Dash v6)
local EFFECTS = {
--[OutfitID] = {Effect}
["Magmar"] = 35,
["Jynx"] = 17, --alterado v2.5
["Shiny Jynx"] = 17,
}
function onUse(cid, item, frompos, item2, topos)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end
--alterado v2.6 sistema de firstpoke retirado
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then
return true
end
-------------------------------------------------------
ballName = getItemAttribute(item.uid, "poke")
btype = getPokeballType(item.itemid)
usando = pokeballs[btype].use
local effect = pokeballs[btype].effect
if not effect then
effect = 21
end
----------------------------------------------------------
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 v2.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 v2.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
--doPlayerSendCancel(cid, '12//,hide')
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 status = {}
status.poke = getItemAttribute(item.uid,"poke")
status.offense = getItemAttribute(item.uid,"offense")
status.defense = getItemAttribute(item.uid,"defense")
status.specialattack = getItemAttribute(item.uid,"specialattack")
status.speed = getItemAttribute(item.uid,"speed")
status.vitality = getItemAttribute(item.uid,"vitality")
setPlayerStorageValue(cid,8866,status) --status do pokemon
setPlayerStorageValue(cid,8867,15) --points
local thishp = getItemAttribute(item.uid, "hp")
if thishp <= 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
----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) then
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
local low = {}
local lw = 1
for e, f in pairs(pokeballs) do
for times = 1, 3 do
local items = getItemsInContainerById(bp.uid, pokeballs[e].all[times])
if #items >= 1 then --alterado v2.6
for _, uid in pairs(items) do
local nome1 = getItemAttribute(uid, "poke")
if not isInArray(lowPokes, pokemon) and nome1 == pokemon then
return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
elseif isInArray(lowPokes, pokemon) then
if nome1 == pokemon then
table.insert(low, lw, nome1)
lw = lw +1
end
end
end
end
end
end
if #low >= 3 then
return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end
end
---------------------------------------------------------------------------------------------------------------------------------------------------
local x = pokes[pokemon]
local boosts = getItemAttribute(item.uid, "boost") or 0
if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
return true
end
--------------------------------------------------------------------------------------
shinysClan = {
["Shiny Fearow"] = {4, "Wingeon"},
["Shiny Flareon"] = {1, "Volcanic"},
["Shiny Vaporeon"] = {2, "Seavel"},
["Shiny Jolteon"] = {9, "Raibolt"},
["Shiny Hypno"] = {7, "Psycraft"},
["Shiny Golem"] = {3, "Orebound"},
["Shiny Vileplume"] = {8, "Naturia"},
["Shiny Nidoking"] = {5, "Malefic"},
["Shiny Hitmontop"] = {6, "Gardestrike"}, --alterado v2.4
}
if shinysClan[pokemon] and (getPlayerGroupId(cid) < 3 or getPlayerGroupId(cid) > 6) then
if getPlayerStorageValue(cid, 86228) ~= shinysClan[pokemon][1] then
doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
return true
elseif getPlayerStorageValue(cid, 862281) ~= 5 then
doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
return true
end
end
--------------------------------------------------------------------------------------
--doPlayerSendCancel(cid, '12//,show')
doSummonMonster(cid, pokemon)
setPlayerStorageValue(cid,8868,10)
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
------------------------passiva hitmonchan------------------------------
if isSummon(pk) then
local nameHIT = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
local hands = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands")
if nameHIT == "Shiny Hitmonchan" or nameHIT == "Hitmonchan" then
if getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands") then
doSetCreatureOutfit(pk, {lookType = hitmonchans[nameHIT][hands].out}, -1)
else
doPlayerSendTextMessage(cid, 27, "Contact a GameMaster! Error in passive system! Attribute \"hands\" missing")
end
end
end
-------------------------------------------------------------------------
---------movement magmar, jynx-------------
if EFFECTS[getCreatureName(pk)] then
markPosEff(pk, getThingPos(pk))
sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
end
--------------------------------------------------------------------------
if getCreatureName(pk) == "Ditto" then
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, "Ditto")
end
end
if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
doCreatureSetLookDir(pk, 2)
adjustStatus(pk, item.uid, true, false, true)
doAddPokemonInOwnList(cid, pokemon)
doTransformItem(item.uid, item.itemid+1)
local pokename = getItemAttribute(item.uid, "nick") or getCreatureName(pk)
local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
doCreatureSay(cid, mgo, TALKTYPE_SAY)
doSendMagicEffect(getCreaturePosition(pk), effect)
else
doPlayerSendCancel(cid, "This pokemon is fainted.")
end
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end
Da esse erro
[14/04/2014 21:13:02] [Error - Action Interface]
[14/04/2014 21:13:02] data/actions/scripts/goback.lua:onUse
[14/04/2014 21:13:02] Description:
[14/04/2014 21:13:02] data/actions/scripts/goback.lua:90: attempt to compare nil with number
[14/04/2014 21:13:02] stack traceback:
[14/04/2014 21:13:02] data/actions/scripts/goback.lua:90: in function
Se eu uso esse Goback (Original do Ot)
function onUse(cid, item, frompos, item2, topos)
if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then
return true
end
----
btype = getPokeballType(item.itemid)
usando = pokeballs[btype].use
online = pokeballs[btype].on
morto = pokeballs[btype].off
----
if item.itemid == usando then
doPlayerSendCancel(cid, '12//,hide')
doReturnPokemon(cid) -- Editei aqui
elseif item.itemid == morto then
return doPlayerSendCancel(cid, "This pokemon is fainted.")
elseif item.itemid == online then
doPlayerSendCancel(cid, '12//,show')
addEvent(doUpdateMoves, 50, cid)
doGoPokemon(cid)
end
return TRUE
end
-----------
Dá Isso...
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:14] Description:
[14/04/2014 22:15:14] (luaGetCreatureName) Creature not found
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:14] Description:
[14/04/2014 22:15:14] (luaDoConvinceCreature) Creature not found
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:14] Description:
[14/04/2014 22:15:14] (luaDoCreatureSetStorage) Creature not found
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:14] Description:
[14/04/2014 22:15:14] (luaGetCreatureStorage) Creature not found
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:14] Description:
[14/04/2014 22:15:14] (luaDoTeleportThing) Thing not found
[14/04/2014 22:15:14] [Error - Action Interface]
[14/04/2014 22:15:14] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:15] Description:
[14/04/2014 22:15:15] (luaGetClosestFreeTile) Creature not found
[14/04/2014 22:15:15] [Error - Action Interface]
[14/04/2014 22:15:15] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:15] Description:
[14/04/2014 22:15:15] (luaDoTeleportThing) Thing not found
[14/04/2014 22:15:15] [Error - Action Interface]
[14/04/2014 22:15:15] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:15] Description:
[14/04/2014 22:15:15] (luaDoCreatureSetLookDir) Creature not found
[14/04/2014 22:15:15] [Error - Action Interface]
[14/04/2014 22:15:15] data/actions/scripts/goback.lua:onUse
[14/04/2014 22:15:15] Description:
[14/04/2014 22:15:15] data/lib/newSystemsLib.lua:1266: attempt to index field '?' (a nil value)
[14/04/2014 22:15:15] stack traceback:
[14/04/2014 22:15:15] data/lib/newSystemsLib.lua:1266: in function 'doGoPokemon'
[14/04/2014 22:15:15] data/actions/scripts/goback.lua:27: in function <data/actions/scripts/goback.lua:1>
Ja consegui... é só pegar o Goback do Erondino.