Ir para conteúdo
  • 0

O que pode estar acontecendo?


betownage

Pergunta

for cds = 1, 12 do
    local summon = getCreatureSummons(cid)[1]
    if summon and getPlayerStorageValue(summon, 212123) >= 1 then
       cdzin = "cm_move"..cds
    else                       --alterado v2.5
       cdzin = "move"..cds 
    end
    if (movestable[getCreatureName(summon)].cdzin.level) == nil then -- ERRO AQUI
        skillLevel = 0
    else
        skillLevel = movestable[getCreatureName(summon)].cdzin.level
    end
    if getCD(a.uid, cdzin) > 0 then
       ret = ret..""..(getCD(a.uid, cdzin))..","
    else
       ret = ret.."0,"
    end
end

Pelo que chequei, quando o cds chega em 5, a linha na qual marquei, emite erro.

5 porque o pokemon não possui nada mais na tabela movestable, digamos que ele teria apenas 4 skills.

Alguém poderia me dar uma luz de como passar por isso?

 

Sei que quando chega em 5 ele emitirá nil, como posso fazer para impedir que ela emita erro?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Poderia ser um pouco mais específico ?

O que o script faz?

Vamos lá!

 

12 loops determinado pelo "for"

 

local summon = Pega as criaturas sumonadas pelo player

se retornar true entao

cdzin = move .. "nmr do loop", no caso vai gerar, move1, move2, move3 ...

Aí, ele vai buscar no movestable o level para usar esse move, POREM, a criatura q estou buscando tem apenas 4 moves. Logo, quando chegar em move5, vai retornar NIL pq n existe na tabela.

O problema eh q eu coloquei:

-> se funcao == nil, entao retornar skillLevel = 0

Mas nao funciona dessa maneira.

Preciso saber como fazer o script ignorar esse nil q vai retornar e DÁ-LO como nil mesmo e continuar o script.

 

Segue o erro da Distro:

[19/03/2014 06:38:50] [Error - Action Interface] 
[19/03/2014 06:38:50] In a timer event called from: 
[19/03/2014 06:38:50] data/actions/scripts/goback.lua:onUse
[19/03/2014 06:38:50] Description: 
[19/03/2014 06:38:50] data/lib/cooldown bar.lua:88: attempt to index field 'cdzin' (a nil value)
[19/03/2014 06:38:50] stack traceback:
[19/03/2014 06:38:50] 	data/lib/cooldown bar.lua:88: in function <data/lib/cooldown bar.lua:62>

--Edit 2, ja tentei ateh verificar oq pode estar ocorrendo com o a linha q verifica,

coloquei a seguinte condicao

if cds > 4 then

skillLvl = 0

else

skillLevel = movestable[getCreatureName(summon)].cdzin.level

end

 

Ele continua tentando ler a segunda linha, mesmo se cds for 5

 

Resolvido!

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

×
×
  • Criar Novo...