Ir para conteúdo

[Encerrado] Erro em Goback do Actions Poketibia Ajuda a editalo


kaleudd

Posts Recomendados

Estau add uma nova ball,adicionei ela tudo certinho,porem quando vo tacar ball em um corpo de qualquer pokemon morto com a nova ball da esse erro na distro

 

[29/08/2015 10:14:39] [Error - Action Interface]
[29/08/2015 10:14:39] data/actions/scripts/goback.lua:onUse
[29/08/2015 10:14:39] Description:
[29/08/2015 10:14:39] data/actions/scripts/goback.lua:24: attempt to index field '?' (a nil value)
[29/08/2015 10:14:39] stack traceback:
[29/08/2015 10:14:39] data/actions/scripts/goback.lua:24: in function <data/actions/scripts/goback.lua:11>

 

Meu Goback do Actions:

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35, 
	["Magby"] = 35,   
	["Smoochum"] = 17,
	["Jynx"] = 17,
	["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 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 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 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
	if isLegendaryPokemon(pokemon) and not isInArray({5, 6}, getPlayerGroupId(cid)) then
		doPlayerSendTextMessage(cid, 27, "You can't use a legendary pokemon.")
		doRemoveItem(item.uid)
	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 pokes[pokemon].level > 10 and nome1 == pokemon then
                  return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
               elseif pokes[pokemon].level <= 10 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
	
	--------------------------------------------------------------------------------------
	shinysClan = {
	["Shiny Flareon"] = {1, "Volcanic"},
	["Shiny Vaporeon"] = {2, "Seavel"},          
	["Shiny Golem"] = {3, "Orebound"},
	["Shiny Fearow"] = {4, "Wingeon"},
	["Shiny Nidoking"] = {5, "Malefic"},
	["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
	["Shiny Hypno"] = {7, "Psycraft"},  
	["Shiny Vileplume"] = {8, "Naturia"},
	["Shiny Jolteon"] = {9, "Raibolt"},
	}
	
	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
    --------------------------------------------------------------------------------------

	doSummonMonster(cid, pokemon)
	

	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")  
			  doSetItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands", 0)
          end
       end
    end
	-------------------------------------------------------------------------

    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then             --edited efeito magmar/jynx
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))  --alterado v1.5
    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
		
		if name == "Smeargle" then
			doPlayerSendCancel(cid, "Your ditto can't copy a smeargle.")
			return true
		end
		if isLegendaryPokemon(name) or name == "Smeargle" or isInArray(dittoShinyCopy, name) then
			deTransform(pk, getItemAttribute(item.uid, "transTurn"))
			markPos(pk, {x = 1, y = 1, z = 1})
			doPlayerSay(cid, ""..getPokeName(pk)..", stop transformation!", 1)
		return true
		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_MONSTER)
    
	doSendMagicEffect(getCreaturePosition(pk), effect)
	if haveFirstTM(item) then
		if tmChange[getFirstTMName(item)] then
			doItemSetAttribute(item.uid, "tm1", tmChange[getFirstTMName(item)].new)
		end
	end
	if haveSecondTM(item) then
		if tmChange[getSecondTMName(item)] then
			doItemSetAttribute(item.uid, "tm2", tmChange[getSecondTMName(item)].new)
		end
	end
	if haveThirdTM(item) then
		if tmChange[getThirdTMName(item)] then
			doItemSetAttribute(item.uid, "tm3", tmChange[getThirdTMName(item)].new)
		end
	end
	
	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, "This pokemon is fainted.")

end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end
Link para o comentário
Compartilhar em outros sites

Ainda continua zipter:


[29/08/2015 14:26:00] [Error - Action Interface] 
[29/08/2015 14:26:00] data/actions/scripts/goback.lua:onUse
[29/08/2015 14:26:00] Description: 
[29/08/2015 14:26:00] data/actions/scripts/goback.lua:117: attempt to index field '?' (a nil value)
[29/08/2015 14:26:00] stack traceback:
[29/08/2015 14:26:00] 	data/actions/scripts/goback.lua:117: in function <data/actions/scripts/goback.lua:12>
Link para o comentário
Compartilhar em outros sites

  • 2 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...