Ошибка Ини КФГ ЛУА

Мемори

Участник
Автор темы
84
10
Версия SA-MP
  1. 0.3.7 (R1)
Выходит ошибка при сохранении конфига [ML] (exception) FBI Asistent 4.lua: error saving ini file: D:\dristazona\bin\arizona\moonloader\config\FBI Asistent.ini: duplicate key
Подскажите что делать
 

pewpewpewpew

Известный
536
144
Что именно не так
видать ошибка липовая т.к не увидел дублей, но у тебя сохраняется конфиг сразу после загрузки, тем самым скрипт моменатльно делает save, даже если загрузка прошла криво. плюсом у тебя в конфиге есть nil-поля, а для inicfg такое часто вызывает траблы. лучше не nil, а пустые строки.

из локал нейма советую убрать .ini, потому что inicfg обычно сам работает с именем конфига без расширения.

Lua:
local name = 'FBI Asistent'

меняй весь блок инициализации конфига. локал нейм подправил тоже
старый .ini удаляешь, меняешь блок конфига, заходишь в игру

Lua:
local ini = require 'inicfg'
local name = 'FBI Asistent'

local defaultCfg = {
    dus = {
        mim = false,
        dia = false
    },
    inf = {
        name = '',
        rusname = '',
        dolg = '',
        autoz = false,
        frac = ''
    }
}

local cfg = ini.load(defaultCfg, name)
if cfg == nil then
    cfg = defaultCfg
    ini.save(cfg, name)
end
 

Мемори

Участник
Автор темы
84
10
видать ошибка липовая т.к не увидел дублей, но у тебя сохраняется конфиг сразу после загрузки, тем самым скрипт моменатльно делает save, даже если загрузка прошла криво. плюсом у тебя в конфиге есть nil-поля, а для inicfg такое часто вызывает траблы. лучше не nil, а пустые строки.

из локал нейма советую убрать .ini, потому что inicfg обычно сам работает с именем конфига без расширения.

Lua:
local name = 'FBI Asistent'

меняй весь блок инициализации конфига. локал нейм подправил тоже
старый .ini удаляешь, меняешь блок конфига, заходишь в игру

Lua:
local ini = require 'inicfg'
local name = 'FBI Asistent'

local defaultCfg = {
    dus = {
        mim = false,
        dia = false
    },
    inf = {
        name = '',
        rusname = '',
        dolg = '',
        autoz = false,
        frac = ''
    }
}

local cfg = ini.load(defaultCfg, name)
if cfg == nil then
    cfg = defaultCfg
    ini.save(cfg, name)
end
Спасибо, завтра утром проверю