Ir para conteúdo

[Encerrado] Erro no goback lua


Posts Recomendados

Não sei se é local correto então se não for peço que movam

 

[21/05/2013 22:54:42] [Error - Action Interface]

[21/05/2013 22:54:42] data/actions/scripts/goback.lua:onUse

[21/05/2013 22:54:42] Description:

[21/05/2013 22:54:42] data/actions/scripts/goback.lua:134: attempt to call global 'getPlayerClanNum' (a nil value)

[21/05/2013 22:54:42] stack traceback:

[21/05/2013 22:54:42] data/actions/scripts/goback.lua:134: in function <data/actions/scripts/goback.lua:10>

estou com erro ai no goback lua parece que é algo do clã system quando tento soltar um pokémon pelo clã system um Malefic Master não consegue soltar o shiny nidoking pq da esse erro ai alguém pode me ajudar?

 

 

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, "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, "Você precisa de ser rank 5 no seu clã!")

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

 

else

 

doPlayerSendCancel(cid, "This pokemon is fainted.")

 

end

 

if useKpdoDlls then

doUpdateMoves(cid)

end

return true

end

Link para o comentário
Compartilhar em outros sites

Tenta Esse Aki

 

 

local pokeball = getPlayerSlotItem(cid, 8) 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
--alterado v1.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 getItemAttribute(item.uid, "ball") == "pokeball" or getItemAttribute(item.uid, "ball") == "spokeball" then
  effect = 188
elseif getItemAttribute(item.uid, "ball") == "ultraball" or getItemAttribute(item.uid, "ball") == "sultraball" then
  effect = 191
elseif getItemAttribute(item.uid, "ball") == "superball" or getItemAttribute(item.uid, "ball") == "ssuperball" then
  effect = 190
elseif getItemAttribute(item.uid, "ball") == "greatball" or getItemAttribute(item.uid, "ball") == "sgreatball" then
  effect = 189
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 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 v1.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 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

--------------------------------------------------------------------------------------
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) < 3 or getPlayerGroupId(cid) > 6) then  --alterado v1.8 \/
   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

else
   doPlayerSendCancel(cid, "This pokemon is fainted.")
end

if useKpdoDlls then
 doUpdateMoves(cid)
end
return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 4 years later...
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.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...