[résolu][bug or not bug ?] Probleme avec une variable locale

Started by PhoenixII54, June 25, 2018, 09:41:27 PM

Previous topic - Next topic
Bonjour,

j'ai un problème avec une varible de mon script de game manager maison :

Code ( lua) Select
--[[
The game utilities

This file manages low-level operations such as save management
and manages game handling operations such as getting/setting hero's parameters
(life, money, position) or initializing the game parameters

Include it in your scripts if you need some function that couldn't get in other ways,
especially in menus or for debug purpose.
--]]

local gu={}
--[[
+---------------+
| GAME HANDLING |
+---------------+
--]]

local file_utils=require("scripts/utilities/files")
--print("[game manager] INFO : Preloading file")
local game=nil

local debug={   <---la variable fautive
    enabled=true,
    show_grid_marker=true,
    show_debug_hud=true,
}

function gu:is_debug_enabled()
  return debug.enabled
end

function gu:show_debug_hud()
  return debug.show_debug_hud
end

function gu:show_grid_marker()
  return debug.show_grid_marker
end


--<plein de fonctions de management de quete>

return gu


Quand je lance la quete, j'ai ce message d'erreur :
Error: In on_started: scripts/system/game_utils.lua:30: attempt to index upvalue 'debug' (a nil value)
stack traceback:
[C]: in function '__index'
scripts/system/game_utils.lua:30: in function 'is_debug_enabled'
menus/hud.lua:50: in function <menus/hud.lua:41>
[C]: in function 'start'
scripts/system/quest_initializer.lua:28: in function <scripts/system/quest_initializer.lua:27>

quand j'essaye d'appeler la fonction gu:is_debug_enabled() depuis un autre fichier.

Hors, dans le même fichier, j'ai une reference a game qui, elle, fonctionne parfaitement alors qu'elle est déclarée dans le même principe (en local dans la racine du fichier donc).

La question est donc : y a t-il un bug du moteur ou ai-je fait une erreur quelque part ?
Merci de m'aider à éclairer ma lanterne :p


UPDATE : ne surtout PAS appaler une variable locale debug, sinon y a conflit avec une classe debug de Lua. Problème résolu !