Ir para conteúdo
  • 0

Está dando esse error , desde quando eu criei essa funçao.


Tony Araujo

Pergunta

Fala ai galera, está dando esse error filho da puta,

que está dando desde quando eu criei essa funçao.

Isso checa a soul do player e adiciona mana e life ao player.

 

Error

 

[23/03/2013 16:45:01] [Error - CreatureScript Interface]
[23/03/2013 16:45:01] In a timer event called from:
[23/03/2013 16:45:01] data/creaturescripts/scripts/login.lua:onLogin
[23/03/2013 16:45:01] Description:
[23/03/2013 16:45:01] (internalGetPlayerInfo) Player not found when requesting player info #9

[23/03/2013 16:45:01] [Error - CreatureScript Interface]
[23/03/2013 16:45:01] In a timer event called from:
[23/03/2013 16:45:01] data/creaturescripts/scripts/login.lua:onLogin
[23/03/2013 16:45:01] Description:
[23/03/2013 16:45:01] data/creaturescripts/scripts/login.lua:99: attempt to compare number with boolean
[23/03/2013 16:45:01] stack traceback:
[23/03/2013 16:45:01]  data/creaturescripts/scripts/login.lua:99: in function <data/creaturescripts/scripts/login.lua:98>

 

Funçao


function setFoodLife(cid)
if getPlayerSoul(cid) > 0 then
doCreatureAddHealth(cid, 2)
doCreatureAddMana(cid, 2)
end
addEvent(setFoodLife, 1*1000, cid)
end

 

Alguem me ajuda a resolver?

[/code]

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

(internalGetPlayerInfo) Player not found when requesting player info #9

esse erro normalmente ocorre quando tu tenta pegar um informaçao sobre um player, de uma criatura q n eh player..

tente fazer isso...

function setFoodLife(cid)
if not isPlayer(cid) then return true end
if getPlayerSoul(cid) > 0 then
doCreatureAddHealth(cid, 2)
doCreatureAddMana(cid, 2)
end
addEvent(setFoodLife, 1*1000, cid)
end

Link para o comentário
Compartilhar em outros sites

  • 0

(internalGetPlayerInfo) Player not found when requesting player info #9

esse erro normalmente ocorre quando tu tenta pegar um informaçao sobre um player, de uma criatura q n eh player..

tente fazer isso...

function setFoodLife(cid)
if not isPlayer(cid) then return true end
if getPlayerSoul(cid) > 0 then
doCreatureAddHealth(cid, 2)
doCreatureAddMana(cid, 2)
end
addEvent(setFoodLife, 1*1000, cid)
end

 

Mais e login.lua não existe outra criatura a não ser o player o.O

 

Mais este erro e normal no login.lua quando vc usa addEvent.

Parece que otserv se atrapalha na hora de executar o código e o cid do player e dado com nil.

 

Tenta colocar.

if not cid then
return true
end

 

Na verdade nem recomendo usar esta função no evento login.

Bem foi isto que observei quando eu usei.

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

  • 0

Na vdd esse erro acontece quando o a função que o addEvent chamou é executada e a informação do "cid" é perdida. Ou seja, se eu chamar a função "addEvent(setFoodLife, 60000, cid)", ela vai ser executada no meu personagem após 1 minuto através do "cid" do me personagem que foi passado, mas se por acaso nesse meio tempo meu personagem morrer ou for deslogado ao executar a função não vai ser encontrado o personagem no qual o "cid" foi passado e vai ocorrer esse erro. Espero ter dado uma clareada legal kkk.

 

Aconselho em sempre que for usado um "addEvent" para executar alguma função que é passada o "cid", verificar se o player existe no momento usando a função "isPlayer(cid)", isso previne possíveis bugs.

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

×
×
  • Criar Novo...