Ir para conteúdo
  • Cadastre-se

(Resolvido)[ERROR] Goback.lua


Ir para solução Resolvido por Wend,

Posts Recomendados

 Olá Galera do Tibiaking Beleza ?

To precisando de uma ajuda urgentemente para meu servidor de Poketibia 
O erro que da e o Seguinte :
 
[14/10/2014 16:43:47] [Error - Action Interface] 
[14/10/2014 16:43:47] data/actions/scripts/goback.lua:onUse
[14/10/2014 16:43:47] Description: 
[14/10/2014 16:43:47] data/actions/scripts/goback.lua:25: attempt to call global 'getPokeballType' (a nil value)
[14/10/2014 16:43:47] stack traceback:
[14/10/2014 16:43:47]  data/actions/scripts/goback.lua:25: in function <data/actions/scripts/goback.lua:15>
 
 
Meu Script e o Seguinte 
 
function onLogout(cid)
    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.cid, "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 fainted.")
 
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
 

goback.lua

Link para o post
Compartilhar em outros sites

A base é PokeXCyan 3,0 ,  poderia me passar está função ?

vá na pasta data\actions\scripts e abra o goback.lua apague tudo e cole esse;

 

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 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, "Desculpe, mas voce nao pode carregar dois pokemons iguais!")
          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)
 
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
 
local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0)
                return false
                end
                if look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)
                return true
                end
else
 
    doPlayerSendCancel(cid, "Esse pokemon desmaiou.")
 
end
 
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end

Editado por Wend (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Wend , obrigado por ajuda , mas eu testei , e o erro continua :(

você alterou algum outro arquivo antes de começa esse erro? 

Link para o post
Compartilhar em outros sites

Ocorreu o Seguinte , os megas tinham um erro que não ia para o Slot , então eu arrumei eles de boa , ai os mlk tava pendindo para colcoar Fly no Mega Chariard X , então fiz igual você colocou em um Topico , dizendo que eu pegava a Looktype é Diminuia por 351 , Depois que fiz isso é salvei , o servidor começa a dar alguns bugs , como no Login.lua (Mas já arrumei) é no Goback.lua , que já tentei de tudo


Que no caso então mexi no Arquivo data/lib/cofiguration.lua

Link para o post
Compartilhar em outros sites

Ocorreu o Seguinte , os megas tinham um erro que não ia para o Slot , então eu arrumei eles de boa , ai os mlk tava pendindo para colcoar Fly no Mega Chariard X , então fiz igual você colocou em um Topico , dizendo que eu pegava a Looktype é Diminuia por 351 , Depois que fiz isso é salvei , o servidor começa a dar alguns bugs , como no Login.lua (Mas já arrumei) é no Goback.lua , que já tentei de tudo

ai esse erro começou depois disso? 

como você concertou o problema do slot?

Link para o post
Compartilhar em outros sites

Sim , ocorreu após eu fazer isso , bom , eles não tava adicionado na parte das Pokebollas , então , eu copiei o do Charizard normal é troquei , Charizard Para Mega Charizard X , e assim fiz me todos eles ! 

 

["charizard"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard y"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard x"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
Link para o post
Compartilhar em outros sites

 

Sim , ocorreu após eu fazer isso , bom , eles não tava adicionado na parte das Pokebollas , então , eu copiei o do Charizard normal é troquei , Charizard Para Mega Charizard X , e assim fiz me todos eles ! 

 

["charizard"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard y"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard x"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},

 

 o erro da função "getPokeballType"  está ai :P

Link para o post
Compartilhar em outros sites

Pode me ajudar a Resolver ?

só para ter certeza, faça um backup e depois exclua as linhas dos pokemons que não estavam indo para o slot 

e veja se o erro pesiste ^^

Link para o post
Compartilhar em outros sites

Wend , fiz o que você mandou , funcionou certinho , mas como posso arruma-lós sem que dê esse BUG ?

Link para o post
Compartilhar em outros sites

Wend , fiz o que você mandou , funcionou certinho , mas como posso arruma-lós sem que dê esse BUG ?

mão mexo com servidores de icon system mais irei tentar ajuda, Pode postar esse arquivo que estavam essas linhas? 

Link para o post
Compartilhar em outros sites

 

Sim , ocorreu após eu fazer isso , bom , eles não tava adicionado na parte das Pokebollas , então , eu copiei o do Charizard normal é troquei , Charizard Para Mega Charizard X , e assim fiz me todos eles ! 

 

["charizard"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard y"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},
["mega charizard x"] =      {effect = 188, on = 12921, use = 12922, off = 12923, all = {12921, 12922, 12923}},

 

 

O erro esta acontecendo porque você esta usando o mesmo ID de icon para três Pokémons. Tente criar um novo icon para os Mega!

Link para o post
Compartilhar em outros sites

Agradeço ao  Wend é ao Krowyn !

Wend , como nosso amigo ai em cima disse que o Erro está nos Icon's , acho que dou um jeitinho de arrumar ,colocando o Icon do Zard 3 Vezes no Dat , ai 1 Para o X , 1 Para o Y é , 1 é claro para o Zard Normal 

Link para o post
Compartilhar em outros sites
  • Solução

Então dúvida sanada? 

se sim clique em melhor resposta ^^

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por klipstyle
      Fala galera vim pedir ajuda com um pequeno problema que me deparei agora.
      Problema: quando usa pokemon ou volta pra ball sempre manda uma mensagem, (ex:"Well done, Alakazam!" ) eu mudei o tipo da mensagem para falar em laranja assim não floodando o default chanel, porem somente quando invoca ele fala em laranja, quando chama pra ball a mensagem e amarela ainda.
       



       
      deis de ja agradeço Obrigado!
    • Por Lucas Barreto
      Meu servidor de poketibia esta acusando esse erro, constantemente:
       
      E esse tambem: (quando coloco com ip na VPS da isso, quando uso no meu PC com 127.0.0.1 fica sem esse erro)
      Se puderem me ajudar, fico grato.
      Segue os arquivos citados nos erros
      Goback.lua
      Catch System.lua
       
    • Por samlecter
      Olá queria que ao sair do fly, ride e surf, o pokemon volte para dentro da ball.
       
      Eu tentei fazer, consegui, está funcionando, ele volta para a ball, a ball fica como on(pronta para ser usada) e atualiza a cd bar, o único problema é que está dando um erro na distro quando saio do fly,ride ou surf, esse erro não impede nada, mas com muitos onlines saindo do fly toda hora irá aparecer o erro na distro toda hora e pode dar lag
       
      Preciso que refaçam o que pedi, ou concertem o que eu fiz, vou deixar o order.lua das actions (único lugar onde mexi) antes de eu mexer, e depois que eu mexi, vou deixar também um print do erro mais abaixo. Caso precisem de mais algum arquivo, é só pedir.
      OBS: Uso PDA com cd bar e icon system
       
       
      Order de antes de eu mexer: 
       
      data\actions\scripts\order.lua
       
       
       
      Order depois que eu mexi (funciona mas da um erro na distro quando desço do fly/ride/surf) :
       
      data\actions\scripts\order.lua
       
       
      Print do erro que aparece quando desço do fly/ride/surf usando o arquivo que modifiquei:

       
       
       
       
       
       
       
      @Up
      @xWhiteWolf  uma força ?
      @Up
    • Por yangaldino
      Gostaria de saber se é possível colocar o Ditto pra voltar pra ball após se transformar, e se alguém pode me dar uma ideia de como fazer isso?
       
      Agradeço toda e qualquer ajuda !!
       
       
      obs: O Ditto System é o mais atual do tibia king, o do servidor PokexCyan v3.0.
       
       
    • Por Wiserxd
      Tentei ja fazer varias coisas e n deu certo,ja arrumei tudo no shiny scizor - o goback q ta dando erro e o catch dele q qnd eu capturo ele vira scizor normal se alguem ajudar do REP+
      [spoiler*]
      [13/07/2014 14:07:38] [Error - CreatureScript Interface] 
      [13/07/2014 14:07:38] data/creaturescripts/scripts/goback.lua:onLogout [13/07/2014 14:07:38] Description:  [13/07/2014 14:07:38] data/creaturescripts/scripts/goback.lua:55: attempt to index field '?' (a nil value) [13/07/2014 14:07:38] stack traceback: [13/07/2014 14:07:38] data/creaturescripts/scripts/goback.lua:55: in function <data/creaturescripts/scripts/goback.lua:1> [13/07/2014 14:05:18] [Error - Action Interface]  [13/07/2014 14:05:18] data/actions/scripts/goback.lua:onUse [13/07/2014 14:05:18] Description:  [13/07/2014 14:05:18] data/actions/scripts/goback.lua:22: attempt to index field '?' (a nil value) [13/07/2014 14:05:18] stack traceback: [13/07/2014 14:05:18] data/actions/scripts/goback.lua:22: in function <data/actions/scripts/goback.lua:11> [/spoiler*]   
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo