161996 3 Postado Abril 12, 2014 Share Postado Abril 12, 2014 Este erro aconteceu em 2 servidores meus : Lunus e Centurion V8... [Error - CreatureScript Interface] [12/04/2014 13:21:00] data/creaturescripts/scripts/exp.lua:onStatsChange [12/04/2014 13:21:01] Description: [12/04/2014 13:21:01] data/lib/level system.lua:659: attempt to perform arithmetic on a nil value [12/04/2014 13:21:01] stack traceback: [12/04/2014 13:21:01] data/lib/level system.lua:659: in function 'getSpecialDefense' [12/04/2014 13:21:02] data/creaturescripts/scripts/exp.lua:451: in function <data/creaturescripts/scripts/exp.lua:129> Acredito que alguém consiga arrumar isso, tal que outros servidores sem bugs ja passaram por esse com certeza. No aguardo, obrigado. Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/ Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Abril 12, 2014 Share Postado Abril 12, 2014 (editado) Substitua sua função getSpecialDefense por essa: function getSpecialDefense(cid) if not isCreature(cid) then return 0 end local spatk = getSpecialAttack(cid) local defense = getDefense(cid) local str = "" if not spatk then str = "A criatura "..getCreatureName(cid).." possui valor nulo para a função getSpecialAttack. Valor da storage 1005: "..getPlayerStorageValue(cid, 1005) and getPlayerStorageValue(cid, 1005) or "NIL" if not pokes[getCreatureName(cid)] then str = str..". Esta criatura não se encontra na tabela pokes, de configuration.lua." end print(str) spatk = 0 elseif not defense then str = "A criatura "..getCreatureName(cid).." possui valor nulo para a função getDefense. Valor da storage 1002: "..getPlayerStorageValue(cid, 1002) and getPlayerStorageValue(cid, 1002) or "NIL" if not pokes[getCreatureName(cid)] then str = str..". Esta criatura não se encontra na tabela pokes, de configuration.lua." end print(str) defense = 0 end return spatk * 0.85 + defense * 0.2 end Editado Abril 12, 2014 por zipter98 Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1636524 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Abril 12, 2014 Share Postado Abril 12, 2014 Movido para pedidos e dúvidas de derivados. Sobre seu problema, poderia nos enviar o quê se encontra na linha 659 de level system.lua (lib)? Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1636486 Compartilhar em outros sites More sharing options...
0 161996 3 Postado Abril 12, 2014 Autor Share Postado Abril 12, 2014 (editado) Desculpe pelo local errado. Aqui está o exp.lua linha: 451 block = 1 - (getSpecialDefense(cid) / (getSpecialAttack(attacker) + getSpecialDefense(cid))) Aqui o level system.lua linha: 659 return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2 Editado Abril 12, 2014 por walquer Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1636493 Compartilhar em outros sites More sharing options...
0 161996 3 Postado Abril 14, 2014 Autor Share Postado Abril 14, 2014 Achei que tinha resolvido mas ta dando este outro erro agora: [14/04/2014 15:00:56] [Error - CreatureScript Interface] [14/04/2014 15:00:57] data/creaturescripts/scripts/exp.lua:onStatsChange [14/04/2014 15:00:57] Description: [14/04/2014 15:00:58] data/creaturescripts/scripts/exp.lua:352: attempt to perform arithmetic on a nil value [14/04/2014 15:00:58] stack traceback: [14/04/2014 15:00:59] data/creaturescripts/scripts/exp.lua:352: in function <data/creaturescripts/scripts/exp.lua:129> linha 352 do exp.lua local miss = (getSpeed(cid) - getSpeed(attacker)) * 0.26 linha 129 function onStatsChange(cid, attacker, type, combat, value) Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1637274 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Abril 15, 2014 Share Postado Abril 15, 2014 (editado) Agora, substitua sua função getSpeed(cid) por esta: function getSpeed(cid) if not isCreature(cid) then return 0 end local speed = tonumber(getPlayerStorageValue(cid, 1003)) if not speed then speed = 1 local str = getCreatureName(cid).." possui valor nulo para a função getSpeed (storage 1003)." if not pokes[getCreatureName(cid)] then str = str.." Esta criatura não se encontra na tabela pokes, de configuration.lua." end print(str) end return speed end PS: Parece que o erro está sendo causado devido à criaturas que possuem valor nulo das storages de status, como defense, offense, speed, etc. Se for imprimido em seu console alguma das mensagens que deixei programadas no código, peço-lhe que envie-a. Editado Abril 15, 2014 por zipter98 Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1637675 Compartilhar em outros sites More sharing options...
0 161996 3 Postado Abril 15, 2014 Autor Share Postado Abril 15, 2014 Não existe essa function no exp.lua, eu poderia adicionar em qualquer lugar? Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1637777 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Abril 16, 2014 Share Postado Abril 16, 2014 Não, essa função fica em level system.lua. Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1637891 Compartilhar em outros sites More sharing options...
0 Administrador Frenvius 205 Postado Novembro 29, 2017 Administrador Share Postado Novembro 29, 2017 A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico. Link para o comentário https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/#findComment-1724319 Compartilhar em outros sites More sharing options...
Pergunta
161996 3
Link para o comentário
https://xtibia.com/forum/topic/231736-resolvido-comum-em-pokemons/Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados