- Версия MoonLoader
- .027.0-preview
здравствуйте. у меня есть следующий код:
Это просто шаблон конфига. Дело в том, что добавление новых таблиц в default_cfg и local_cfg скрипт крашит из-за того, что default_cfg возвращает nil. Решение - удалить файл конфига и 2 раза перезагрузить скрипт. Данное решение мне кажется костылём. Естественно, можно написать функцию, проверяющую каждое значение конфига из файла на nil, но я не умею. Как исправить мою проблему? Есть ли в json готовые методы, исправляющую мою проблему?
Lua:
local config = {}
local local_cfg = {}
local default_cfg = {
["skip_x4_dialog"] = false,
["auto_enter"] = false,
["anti_freeze"] = false,
["auto_name"] = {
["status"] = false,
["value"] = "Лавка",
["wait"] = 1000
}
}
if not doesDirectoryExist(getWorkingDirectory()..'\\config') then
createDirectory(getWorkingDirectory()..'\\config')
end
if not doesFileExist(config_path) then
saveConfig(config_path, default_cfg)
else
config = readConfig(config_path)
end
function create_local_cfg()
local_cfg = {
skip_x4_dialog = imgui.new.bool(config["skip_x4_dialog"]),
auto_name = {
status = imgui.new.bool(config["auto_name"]["status"]),
value = imgui.new.char[256](u8:encode(ffi.string(config["auto_name"]["value"]))),
wait = imgui.new.int(config["auto_name"]["wait"])
}
}
create_local_cfg()
Это просто шаблон конфига. Дело в том, что добавление новых таблиц в default_cfg и local_cfg скрипт крашит из-за того, что default_cfg возвращает nil. Решение - удалить файл конфига и 2 раза перезагрузить скрипт. Данное решение мне кажется костылём. Естественно, можно написать функцию, проверяющую каждое значение конфига из файла на nil, но я не умею. Как исправить мою проблему? Есть ли в json готовые методы, исправляющую мою проблему?