Ir para conteúdo

[Encerrado] (Bug) Pokedex


BrunooMaciell

Posts Recomendados

Estou com um bug chatinho na minha pokedex quem puder mi ajudar ^^

 

BUG

 

[18/10/2013 13:57:11] [Error - Action Interface]
[18/10/2013 13:57:11] data/actions/scripts/pokedex.lua:onUse
[18/10/2013 13:57:11] Description:
[18/10/2013 13:57:11] data/actions/scripts/pokedex.lua:38: attempt to index a boolean value
[18/10/2013 13:57:11] stack traceback:
[18/10/2013 13:57:11] data/actions/scripts/pokedex.lua:38: in function

 

 

SCRIPT

 

local rate = 20

function onUse(cid, item, fromPos, item2, toPos)

if not isCreature(item2.uid) then
return true
end

local poke = getCreatureName(item2.uid)

if isMonster(item2.uid) then
local this = newpokedex[getCreatureName(item2.uid)]
local myball = 0
if isSummon(item2.uid) then
myball = getPlayerSlotItem(getCreatureMaster(item2.uid), 8)
end
if not getPlayerInfoAboutPokemon(cid, poke).dex then
local exp = this.level * rate
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked ".. getCreatureName(item2.uid).." in your pokedex!")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.")
doSendMagicEffect(getThingPos(cid), 210)
doPlayerAddExperience(cid, exp)
doAddPokemonInDexList(cid, poke)
else
doShowPokedexRegistration(cid, item2, myball)
end
return true
end

if not isPlayer(item2.uid) then return true end

local kanto = 0
local johto = 0
local hoen = 0
local sinooh = 0

for i = 1, #oldpokedex do
if getPlayerInfoAboutPokemon(item2.uid, oldpokedex[1]).dex then
if i <= 151 then
kanto = kanto+1
elseif i >= 209 then
johto = johto+1
end
end
end --alterado v1.6

local player = getRecorderPlayer(toPos, cid)

if cid == player then
doPlayerSendTextMessage(cid, 27, "You has unlocked "..kanto.." kanto's and "..johto.." johto's pokémons until now and "..hoen.." hoen's pokémons until now and "..sinooh.." sinooh's pokémons until now.")
doPlayerSetVocation(cid, 9) --alterado v1.6
openChannelDialog(cid)
end

return true
end

 

 

Curti++

Link para o comentário
Compartilhar em outros sites

Tava pensando aqui, se é por que numa parte ali perto da função q dá tando erro não está 'configurado' o valor dos pokémons de hoenn e sinooh, digamos assim, 'direito'. Tipo, nessa parte

if i <= 151 then
kanto = kanto+1
elseif i >= 209 then
johto = johto+1
end

Tem só pokes de kanto e johto, porém seu servidor contém kanto, johto, hoenn e sinooh. Tentei corrigir essa parte seguindo como base a pokedex OFICIAL. Por exemplo, no de hoenn, os pokémons vão de 252 à 386. Então "adicionei" nessa parte os pkms de hoenn/sinooh. Não tenho certeza se é essa a causa do bug, mas se quiser tentar...

if i <= 151 then
kanto = kanto+1
elseif i >= 152 and i <= 251 then
johto = johto+1
elseif i >= 252 and i <= 386 then
hoen = hoen+1
elseif i >= 387 then
sinooh = sinooh+1
end

RELEMBRANDO: Eu configurei seguindo como base a pokedex oficial, então talvez não seja igual ao seu server... TALVEZ.

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

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