Boa noite galera.. Estou mexendo em um servidor.. Porem, fui tentar usar um pokémon e deu o seguinte erro na distro:
[08/10/2015 22:03:13] [Error - Action Interface]
[08/10/2015 22:03:13] data/actions/scripts/goback.lua:onUse
[08/10/2015 22:03:13] Description:
[08/10/2015 22:03:13] data/lib/newSystemsLib.lua:1267: attempt to index field '?' (a nil value)
[08/10/2015 22:03:13] stack traceback:
[08/10/2015 22:03:13] data/lib/newSystemsLib.lua:1267: in function 'doGoPokemon'
[08/10/2015 22:03:13] data/actions/scripts/goback.lua:27: in function <data/actions/scripts/goback.lua:1>
Então, eu fui na lib, e encontrei essa parte:
function doGoPokemon(cid)
local item = getPlayerSlotItem(cid, 8)
--------
msgunicaback = backMSG[math.random(#backMSG)]
msgunicago = goMSG[math.random(#goMSG)]
btype = getPokeballType(item.itemid)
usando = pokeballs[btype].use
online = pokeballs[btype].on
morto = pokeballs[btype].off
if isIconeSystem(cid) then
effect = getItemAttribute(item.uid, "effect")
else
effect = getItemAttribute(item.uid, "effect")
end
--------
if isZumbie(cid) or isHuman(cid) then
return doPlayerSendCancel(cid, "Sorry, is not possible.")
end
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
return TRUE
end
if not canSummon(cid) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
end
if getPlayerStorageValue(cid, 63215) >= 1 then
return doPlayerSendCancel(cid, "You can't use pokeball while surfing.")
end
if getPlayerStorageValue(cid, 62314) >= 1 then
return doPlayerSendCancel(cid, "You can't use pokeball while flying.")
end
if #getCreatureSummons(cid) >= 1 then
return doPlayerSendCancel(cid, "You have already summoned a pokemon.")
end
for i,x in pairs(pokes) do
if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then
if getPlayerLevel(cid) < x.level+getPokemonBoostt(item.uid) then
doPlayerSendCancel(cid, "You need level "..x.level+getPokemonBoostt(item.uid).." or higher to use this pokemon.")
return true
end
local removed = doCreateItem(1285, 1, getThingPos(cid))
local monster = doSummonCreature(i, farAwayPos, false)
--/////////////////////////////////////// Nick system
if string.find(tostring(getCreatureName(monster)), "Shiny") then
local newName = tostring(getCreatureName(monster)):match("Shiny (.*)")
setCreatureName(monster, newName, "a "..newName..".")
end
if getItemAttribute(item.uid, "nick") then
setCreatureName(monster, getItemAttribute(item.uid, "nick"), "a "..getItemAttribute(item.uid, "nick")..".")
end
--/////////////////////////////////////// Nick system
local pk = monster
doConvinceCreature(cid, pk)
setPlayerStorageValue(pk, storages.pokeName, i)
local pokemonName = getPlayerStorageValue(pk, storages.pokeName)
doTeleportThing(pk, {x = getThingPos(cid).x, y = getThingPos(cid).y+8, z = getThingPos(cid).z})
doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false)
doRemoveItem(removed, 1)
doCreatureSetLookDir(pk, 2)
local maxh = pokes[pokemonName].vida
if getItemAttribute(item.uid, "ballId") < 0 then
doItemSetAttribute(item.uid, "boost", 0)
end
local levellife = ((getPlayerLevel(cid)) * 2 + configBoostSystem[getItemAttribute(item.uid, "boost")].hp)
if pokeballStatus[getItemAttribute(item.uid, "ballId")] then
tabela = {} -- Status das novas pokebolas
tabela.status = pokeballStatus[getItemAttribute(item.uid, "ballId")].status
tabela.count = pokeballStatus[getItemAttribute(item.uid, "ballId")].count
tabela.type = pokeballStatus[getItemAttribute(item.uid, "ballId")].type
tabela.type2 = pokeballStatus[getItemAttribute(item.uid, "ballId")].type2
tabela.type3 = pokeballStatus[getItemAttribute(item.uid, "ballId")].type3
levellife = levellife + doChangeStatusBall(pk, tabela)
end
local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/"))
doCreatureAddHealth(pk, health-maxh)
local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk)))
local vidis = (getCreatureHealth(pk))
setCreatureMaxHealth(pk, ((maxh) + (levellife)))
doCreatureAddHealth(pk, 2)
doCreatureAddHealth(pk, -vidis)
doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2)
doTransformItem(item.uid, item.itemid+1)
--doPlayerSendTextMessage(cid, 27, getPokemonMin(getCreatureName(pk)))
local pokename = pokemonName
local mgo = msgunicago:gsub("doka", getCreatureName(pk))
doCreatureSay(cid, mgo, TALKTYPE_SAY)
if math.random(1,100) <= 35 then
setPokemonFeed(cid, getPokemonFeed(cid)-5) -- Food system
end
doSendFeedEffect(cid)
if getItemAttribute(item.uid, "nome") ~= "Ditto" then
for i = 1, 12 do
if not getMoveNamee(cid, i) then
addEvent(doGoBackSetCooldown, 200, cid)
end
end
else
for a = 1, 12 do
setPokemonCooldown(cid, a, "Don't have this move.")
end
end
doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")))
doItemSetAttribute(item.uid, "pokes", ""..pokename.."")
doSendMagicEffect(getCreaturePosition(pk), effect)
setPlayerStorageValue(cid, 61204, 1)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
doPlayerSendTextMessage(cid, 27, getItemAttribute(item.uid, "task"))
adjustWildPoke(pk, item.uid)
doSendFeedEffect(cid)
--------
------------------------passiva hitmonchan------------------------------
if isSummon(pk) then --alterado v1.8 \/
if pokemonName == "Elite Hitmonchan" or pokemonName == "Hitmonchan" then
if not getItemAttribute(item.uid, "hands") then
doItemSetAttribute(item.uid, "hands", 0)
end
local hands = getItemAttribute(item.uid, "hands")
doSetCreatureOutfit(pk, {lookType = hitmonchans[getCreatureName(pk)][hands].out}, -1)
end
end
-------------------------------------------------------------------------
---------movement magmar, jynx-------------
if EFFECTS[pokemonName] then
markPosEff(pk, getThingPos(pk))
sendMovementEffect(pk, EFFECTS[pokemonName], getThingPos(pk))
end
if getItemAttribute(item.uid, "boost") >= 20 and getItemAttribute(item.uid, "auras") then
sendAuraEffect(getCreatureSummons(cid)[1], auras[getItemAttribute(item.uid, "auras")])
end
--------------------------------------------------------------------------
------------- addon system ----------------------
if getItemAttribute(item.uid, "addonNow") then
if getItemAttribute(item.uid, "color1") then
local color1, color2, color3, color4 = getItemAttribute(item.uid, "color1"), getItemAttribute(item.uid, "color2"), getItemAttribute(item.uid, "color3"), getItemAttribute(item.uid, "color4")
doCreatureChangeOutfit(pk, {lookType = getItemAttribute(item.uid, "addonNow"), lookBody = color1, lookHead = color2, lookLegs = color3, lookFeet = color4})
else
doCreatureChangeOutfit(pk, {lookType = getItemAttribute(item.uid, "addonNow")})
end
end
------------- addon system ---------------------
if getPlayerStorageValue(cid, 6598754) >= 1 then
doCreatureSetSkullType(pk, 3) -- Identificador de times, time vermelho
elseif getPlayerStorageValue(cid, 6598755) >= 1 then
doCreatureSetSkullType(pk, 4) -- Identificador de times, time azull
end
if getPlayerStorageValue(cid, 991) >= 1 then --- Ginasios
doSendAnimatedText(getThingPos(cid), "POKEIN", COLOR_ICE)
end
------------- ditto system ----------------------
if pokemonName == "Ditto" then
if getItemAttribute(item.uid, "dittoName") then
doCreatureChangeOutfit(pk, {lookType = getItemAttribute(item.uid, "dittoOut")})
setPlayerStorageValue(pk, storages.pokeName, getItemAttribute(item.uid, "dittoName"))
end
elseif pokemonName == "Shiny Ditto" then
if not getItemAttribute(item.uid, "dittoName") or tonumber(getItemAttribute(item.uid, "dittoName")) and getItemAttribute(item.uid, "dittoName") <= 0 then
local out, out1 = getCreatureOutfit(pk), getCreatureOutfit(cid)
doCreatureChangeOutfit(pk, {lookType = out.lookType, lookLegs = out1.lookBody})
else
doCreatureChangeOutfit(pk, {lookType = getItemAttribute(item.uid, "dittoOut"), lookLegs = getCreatureOutfit(cid).lookBody})
setPlayerStorageValue(pk, storages.pokeName, getItemAttribute(item.uid, "dittoName"))
end
end
if getItemAttribute(item.uid, "nome") == "Smeargle" then
setPlayerStorageValue(pk, storages.pokeName, getItemAttribute(item.uid, "smeargleName"))
end
------------- ditto system ----------------------
------------- uknown system ----------------------
if pokemonName == "Uknown" then
local roupas = {721, 722, 723, 724}
doCreatureChangeOutfit(pk, {lookType = roupas[math.random(#roupas)]})
doSendMagicEffect(getThingPos(pk), 211)
end
break
end
end
end
Ai logo vi, que essa linha(que está dando o erro na distro):
local maxh = pokes[pokemonName].vida
Que fica na LIB, chamava essa tabela(vou mostrar só o começo):
Pergunta
Deadpool 862
Boa noite galera.. Estou mexendo em um servidor.. Porem, fui tentar usar um pokémon e deu o seguinte erro na distro:
Então, eu fui na lib, e encontrei essa parte:
Ai logo vi, que essa linha(que está dando o erro na distro):
Que fica na LIB, chamava essa tabela(vou mostrar só o começo):
Então.. eu resolvi mudar essa linha:
Para essa:
Porem, continua dando erro.. Alguem poderia me ajudar?
Link para o comentário
https://xtibia.com/forum/topic/237238-resolvido-goback-poketibia/Compartilhar em outros sites
19 respostass a esta questão
Posts Recomendados