Starliks 2 Postado Janeiro 4, 2021 Share Postado Janeiro 4, 2021 Boa tarde, estou precisando de ajuda sobre esse erro no console, se alguém puder me ajudar ;s o erro do console sempre acontece quando apanho de alguma criatura. Link para o comentário Compartilhar em outros sites More sharing options...
1 Yan Oliveira 211 Postado Janeiro 10, 2021 Share Postado Janeiro 10, 2021 2 horas atrás, Starliks disse: com a correção voltou a dar erro. Eu estava dando uma olhada na fonte de onde você pegou esse script, e parece que estava faltando uma verificação. Substitui o código por esse: function Creature:onChangeOutfit(outfit) return true end function Creature:onAreaCombat(tile, isAggressive) return RETURNVALUE_NOERROR end function Creature:onTargetCombat(target) target:registerEvent("ItemSetsHealth") target:registerEvent("UpgradeSystemHealth") target:registerEvent("UpgradeSystemDeath") --[[if (self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == nil) or (self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == nil) then print("There was an error, please verify the value of the storage [STORAGEVALUE_WAR_GREENPLAYER_BOOL] or [STORAGEVALUE_WAR_REDPLAYER_BOOL] because it them are nil.") return false end]]-- if self:isPlayer() then if self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end elseif self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end end end end Testa e fala se deu problema. Starliks reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Poccnn 385 Postado Janeiro 5, 2021 Share Postado Janeiro 5, 2021 está dizendo que a chave ou variável "getStorageValue" tem valor nulo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 5, 2021 Autor Share Postado Janeiro 5, 2021 58 minutos atrás, Poccnn disse: está dizendo que a chave ou variável "getStorageValue" tem valor nulo. sim, só que não achei o erro, já fiz a troca do "self" instancia da criatura pelo método do player porem n obtive sucesso. Link para o comentário Compartilhar em outros sites More sharing options...
0 nociam 90 Postado Janeiro 6, 2021 Share Postado Janeiro 6, 2021 como esta o seu código? Link para o comentário Compartilhar em outros sites More sharing options...
0 Poccnn 385 Postado Janeiro 7, 2021 Share Postado Janeiro 7, 2021 Em 05/01/2021 em 12:24, Starliks disse: sim, só que não achei o erro, já fiz a troca do "self" instancia da criatura pelo método do player porem n obtive sucesso. Eu não entendo como funciona o sistema 1.0+, mas pelo o que eu saiba tem que ser chamado o objeto para poder ter acesso a sua funções. No caso o metodo self deva ser uma referencia generica que requer uma chamada de metodo mais objetiva. player = Player(self) monstro = Monster(self) npc = Npc(self) Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 7, 2021 Autor Share Postado Janeiro 7, 2021 (editado) 18 horas atrás, nociam disse: como esta o seu código? function Creature:onChangeOutfit(outfit) return true end function Creature:onAreaCombat(tile, isAggressive) return RETURNVALUE_NOERROR end function Creature:onTargetCombat(target) target:registerEvent("ItemSetsHealth") target:registerEvent("UpgradeSystemHealth") target:registerEvent("UpgradeSystemDeath") if self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end elseif self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end end end Editado Janeiro 7, 2021 por Starliks Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Janeiro 9, 2021 Share Postado Janeiro 9, 2021 Vamos fazer um teste e descobrir o valor dessa storage, pois parece ser global, então só fazendo testa para saber o valor dela. Para ficar mais rápido e simples o teste, vai em Data/Creaturescripts/Scripts e abre o arquivo login.lua, e embaixo de: function onLogin(player) Adicione a linha: print("Storage STORAGEVALUE_WAR_GREENPLAYER_BOOL = " .. Game.getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) .. "\n Storage STORAGEVALUE_WAR_REDPLAYER_BOOL = " .. Game.getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL)) Após isso, inicie o servidor e me manda print da distro assim que fizer login com o player, pois essa linha que falei para adicionar vai mostrar os valores dessas duas storages na distro. Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 10, 2021 Autor Share Postado Janeiro 10, 2021 23 horas atrás, Yan18 disse: Vamos fazer um teste e descobrir o valor dessa storage, pois parece ser global, então só fazendo testa para saber o valor dela. Para ficar mais rápido e simples o teste, vai em Data/Creaturescripts/Scripts e abre o arquivo login.lua, e embaixo de: function onLogin(player) Adicione a linha: print("Storage STORAGEVALUE_WAR_GREENPLAYER_BOOL = " .. Game.getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) .. "\n Storage STORAGEVALUE_WAR_REDPLAYER_BOOL = " .. Game.getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL)) Após isso, inicie o servidor e me manda print da distro assim que fizer login com o player, pois essa linha que falei para adicionar vai mostrar os valores dessas duas storages na distro. Seria isso ? Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Janeiro 10, 2021 Share Postado Janeiro 10, 2021 (editado) 2 horas atrás, Starliks disse: Seria isso ? Isso exatamente, e o erro que deu ali é porque alguma ou as duas storages estão sem valor, ou seja, estão como nil, o que significa que os valores estão zerados. E como estão sem valores, vai dar erro no arquivo creature.lua, que é justamente o erro que aponta, o valor da storage está nil. Tem que ver onde e qual arquivo que seta o valor dessas storages globais e ver o porque não está setando, se tem alguma condição específica para isso. Mas, vamos fazer um tratamento para caso seja valor nil. Substitua o código por esse: function Creature:onChangeOutfit(outfit) return true end function Creature:onAreaCombat(tile, isAggressive) return RETURNVALUE_NOERROR end function Creature:onTargetCombat(target) target:registerEvent("ItemSetsHealth") target:registerEvent("UpgradeSystemHealth") target:registerEvent("UpgradeSystemDeath") if (self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == nil or self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == nil) or (target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == nil or target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == nil) then --print("There was an error, please verify the value of the storage [STORAGEVALUE_WAR_GREENPLAYER_BOOL] or [STORAGEVALUE_WAR_REDPLAYER_BOOL] because it them are nil.") return false end if self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end elseif self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end end end Fiz uma verificação que se alguma dessas storages forem estiverem nil, vai retornar falso e informar o erro para você na distro. Editado Janeiro 10, 2021 por Yan18 Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 10, 2021 Autor Share Postado Janeiro 10, 2021 19 minutos atrás, Yan18 disse: Isso exatamente, e o erro que deu ali é porque alguma ou as duas storages estão sem valor, ou seja, estão como nil, o que significa que os valores estão zerados. E como estão sem valores, vai dar erro no arquivo creature.lua, que é justamente o erro que aponta, o valor da storage está nil. Tem que ver onde e qual arquivo que seta o valor dessas storages globais e ver o porque não está setando, se tem alguma condição específica para isso. Mas, vamos fazer um tratamento para caso seja valor nil. Substitua o código por esse: function Creature:onChangeOutfit(outfit) return true end function Creature:onAreaCombat(tile, isAggressive) return RETURNVALUE_NOERROR end function Creature:onTargetCombat(target) target:registerEvent("ItemSetsHealth") target:registerEvent("UpgradeSystemHealth") target:registerEvent("UpgradeSystemDeath") if (Game.getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == nil) or (Game.getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == nil) then print("There was an error, please verify the value of the storage [STORAGEVALUE_WAR_GREENPLAYER_BOOL] or [STORAGEVALUE_WAR_REDPLAYER_BOOL] because it them are nil.") return false end if self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end elseif self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end end end Fiz uma verificação que se alguma dessas storages forem estiverem nil, vai retornar falso e informar o erro para você na distro. Agora o personagem esta apanhando dos mobs, porém cada ataque q ele sofre acontece esse erro. Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Janeiro 10, 2021 Share Postado Janeiro 10, 2021 5 minutos atrás, Starliks disse: Agora o personagem esta apanhando dos mobs, porém cada ataque q ele sofre acontece esse erro. Eu editei depois, mas você pegou a primeira versão que testei kk. E isso não é erro, é uma mensagem do tratamento que eu fiz. Substitua o código pela minha correção no meu post acima. Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 10, 2021 Autor Share Postado Janeiro 10, 2021 51 minutos atrás, Yan18 disse: Eu editei depois, mas você pegou a primeira versão que testei kk. E isso não é erro, é uma mensagem do tratamento que eu fiz. Substitua o código pela minha correção no meu post acima. com a correção voltou a dar erro. Link para o comentário Compartilhar em outros sites More sharing options...
0 Starliks 2 Postado Janeiro 11, 2021 Autor Share Postado Janeiro 11, 2021 2 horas atrás, Yan18 disse: Eu estava dando uma olhada na fonte de onde você pegou esse script, e parece que estava faltando uma verificação. Substitui o código por esse: function Creature:onChangeOutfit(outfit) return true end function Creature:onAreaCombat(tile, isAggressive) return RETURNVALUE_NOERROR end function Creature:onTargetCombat(target) target:registerEvent("ItemSetsHealth") target:registerEvent("UpgradeSystemHealth") target:registerEvent("UpgradeSystemDeath") --[[if (self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == nil) or (self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == nil) then print("There was an error, please verify the value of the storage [STORAGEVALUE_WAR_GREENPLAYER_BOOL] or [STORAGEVALUE_WAR_REDPLAYER_BOOL] because it them are nil.") return false end]]-- if self:isPlayer() then if self:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end elseif self:getStorageValue(STORAGEVALUE_WAR_REDPLAYER_BOOL) == 1 then if target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 1 then return RETURNVALUE_NOERROR elseif target:getStorageValue(STORAGEVALUE_WAR_GREENPLAYER_BOOL) == 0 then self:sendCancelMessage("You cannot attack someone that is on your team.") return false end end end end Testa e fala se deu problema. Muito obg , deu certo s2, me ajudou d+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Janeiro 11, 2021 Share Postado Janeiro 11, 2021 28 minutos atrás, Starliks disse: Muito obg , deu certo s2, me ajudou d+ De nada, que bom que deu certo ?. Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Janeiro 11, 2021 Diretor Share Postado Janeiro 11, 2021 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 Compartilhar em outros sites More sharing options...
Pergunta
Starliks 2
Boa tarde, estou precisando de ajuda sobre esse erro no console, se alguém puder me ajudar ;s
o erro do console sempre acontece quando apanho de alguma criatura.
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados