AB
erro

[Encerrado] Erro GoBack

Por Aberos, 11 de dez. de 2013 em Tópicos Sem Resposta

resolvido
script
7
1k
AberosA
11 de dezembro de 2013 às 21:55

galera to com esse erro no goback queria saber se alguem pode me ajudar ?

desde ja obrigado a todos

 

 

 

[11/12/2013 21:49:19] [Error - Action Interface]
[11/12/2013 21:49:19] data/actions/scripts/goback.lua:onUse
[11/12/2013 21:49:19] Description:
[11/12/2013 21:49:19] data/actions/scripts/goback.lua:42: attempt to index field '?' (a nil value)
[11/12/2013 21:49:19] stack traceback:
[11/12/2013 21:49:19] data/actions/scripts/goback.lua:42: in function <data/actions/scripts/goback.lua:12>

aki meu goback

local EFFECTS = {
--[OutfitID] = {Effect}
["Magmar"] = 35,
["Jynx"] = 17, --alterado v1.5
["Shiny Jynx"] = 17,
["Piloswine"] = 205, --alterado v1.8
["Swinub"] = 205,
["Shiny Magmar"] = 35,
["Shiny Onix"] = 175,
}
function onUse(cid, item, frompos, item2, topos)
sendAllPokemonsBarPoke(cid)
if item.itemid >= 12606 then
if not getItemAttribute(item.uid, "ball") or not isInArray({"normal", "great", "super", "ultra", "shinynormal", "shinygreat", "shinysuper", "shinyultra"}, getItemAttribute(item.uid, "ball")) then
doItemSetAttribute(item.uid, "ball", ballsTypes[math.random(1, 4)])
end
typeUse = icons[getItemAttribute(item.uid, "poke")].use
typeOn = icons[getItemAttribute(item.uid, "poke")].on
typeOff = icons[getItemAttribute(item.uid, "poke")].off
typeAll = {typeOn, typeUse, typeOff}
distanceEffect = pokeballs[getItemAttribute(item.uid, "ball")].disteffect
effect = pokeballs[getItemAttribute(item.uid, "ball")].effect
else
typeUse = pokeballs[getPokeballType(item.itemid)].use
typeOn = pokeballs[getPokeballType(item.itemid)].on
typeOff = pokeballs[getPokeballType(item.itemid)].off
typeAll = pokeballs[getPokeballType(item.itemid)].all
distanceEffect = pokeballs[getPokeballType(item.itemid)].disteffect
effect = pokeballs[getPokeballType(item.itemid)].effect
end
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 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 balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
local low = {}
local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
if #balls >= 1 then
for _, uid in ipairs(balls) do
local nome = getItemAttribute(uid, "poke")
if not isInArray(lowPokes, pokemon) and nome == pokemon then
return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
else
if nome == pokemon then
table.insert(low, nome)
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 boost = getItemAttribute(item.uid, "boost") or 0
if getPlayerLevel(cid) < (x.level+boost) then
doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
return true
end
---------------------------- Sistema pokes de clan --------------------------------------
local 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 v1.4
}
if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) then --alterado v1.9 \/
if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
return true
elseif getPlayerClanRank(cid) ~= 5 then
doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
return true
end
end
--------------------------------------------------------------------------------------
doSummonMonster(cid, pokemon)
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
------------------------passiva hitmonchan------------------------------
if isSummon(pk) then --alterado v1.8 \/
if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
if not getItemAttribute(item.uid, "hands") then
doSetItemAttribute(item.uid, "hands", 0)
end
local hands = getItemAttribute(item.uid, "hands")
doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
end
end
-------------------------------------------------------------------------
---------movement magmar, jynx-------------
if EFFECTS[getCreatureName(pk)] then
markPosEff(pk, getThingPos(pk))
sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))
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)
adjustStatus(pk, item.uid, true, true, true)
doAddPokemonInOwnList(cid, pokemon)
doTransformItem(item.uid, item.itemid+1)
if icons[pokemon] then
doTransformItem(item.uid, icons[pokemon].use)
end
local pokename = getPokeName(pk) --alterado v1.7
local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
doCreatureSay(cid, mgo, TALKTYPE_SAY)
doSendMagicEffect(getCreaturePosition(pk), effect)
if useOTClient then
doPlayerSendCancel(cid, '12//,show') --alterado v1.7
end
else
doPlayerSendCancel(cid, "This pokemon is fainted.")
end
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end

Editado Dezembro 11 por Aberos

zipter98Z
11 de dezembro de 2013 às 22:42

Opa, como seu erro é relacionado à pokémon, a área mais adequada é Pedidos e dúvidas - Servidores derivados. Quando quiser fazer pedidos/dúvidas relacionados à servidores derivados (Pokémon, Naruto, etc), opte por postar nessa área.

Tenta assim:

Depois de

local usando = pokeballs[btype].use

Coloque:

if not usando then
        usando = 11827
    end
Ficando:
local usando = pokeballs[btype].use
    if not usando then
        usando = 11827
    end

Editado Dezembro 11 por zipter98

AberosA
11 de dezembro de 2013 às 23:57

vlw zipter98 , vc poderia me arrumar a function getDirectionToWalk

zipter98Z
12 de dezembro de 2013 às 00:03

O bug foi corrigido? Já posso mover o tópico?

E, sobre a função, se não se importar, poderia fazer um tópico em outra área pedindo-a? Esse é direcionado ao erro que você postou, sobre o goback.

AberosA
12 de dezembro de 2013 às 00:11

zipter meu problema foi resolvido muito obrigado

zipter98Z
12 de dezembro de 2013 às 00:40

Tópico movido para a seção de dúvidas e pedidos resolvidos.

4 anos depois...
StigalS
21 de abril de 2018 às 03:15
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.