Вопрос по ини

SomaGnoma

Известный
Автор темы
442
152
Версия MoonLoader
.026-beta
Как в ини сохранить таблицу....?
Не выходит чета через
Lua:
anus["govno"]["chlen"] = {"mudila", "ssanina"}
А если так незя то подскажите замену пожалуйста друзья любимые
 
Решение
в иникфг нельзя сохранять таблицы, юзай json
Lua:
local json_file = getWorkingDirectory()..'\\config\\YourJSON_File.json' -- путь к твоему джсону, можно и без переменной, но так проще
local list = {} -- массив который ты будешь читать и сохранять

function jsonSave(jsonFilePath, t) -- функция для сохранения массива в файл, вызывать так: jsonSave(путь к файлу, массив), например jsonSave(json_file, list)
    file = io.open(jsonFilePath, "w")
    file:write(encodeJson(t))
    file:flush()
    file:close()
end
    
function jsonRead(jsonFilePath) -- функция для чтения массива, вызывать так: list = jsonRead(json_file) !!!БЕЗ local!!!
    local file = io.open(jsonFilePath, "r+")
    local jsonInString = file:read("*a")
    file:close()...

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,776
11,226
в иникфг нельзя сохранять таблицы, юзай json
Lua:
local json_file = getWorkingDirectory()..'\\config\\YourJSON_File.json' -- путь к твоему джсону, можно и без переменной, но так проще
local list = {} -- массив который ты будешь читать и сохранять

function jsonSave(jsonFilePath, t) -- функция для сохранения массива в файл, вызывать так: jsonSave(путь к файлу, массив), например jsonSave(json_file, list)
    file = io.open(jsonFilePath, "w")
    file:write(encodeJson(t))
    file:flush()
    file:close()
end
    
function jsonRead(jsonFilePath) -- функция для чтения массива, вызывать так: list = jsonRead(json_file) !!!БЕЗ local!!!
    local file = io.open(jsonFilePath, "r+")
    local jsonInString = file:read("*a")
    file:close()
    local jsonTable = decodeJson(jsonInString)
    return jsonTable
end

-- добавить значение в массив:
table.insert(list, 'TEXT')
jsonSave(json_file, list)

-- убрать значение из массива по индексу (по номеру "ячейки")
table.remove(list, 1) -- 1 - индекс, то есть уберет первое значение из таблицы
jsonSave(json_file, list)

function main()
    while not isSampAvailable() do wait(0) end
    if not doesFileExist(json_file) then jsonSave(json_file, {}) end -- если нет файла, то создаем его и записываем в него пустой массив, бех этого ничего работать не будет!
    list = jsonRead(json_file) -- получаем сохраненный массив после загрузки скрипта
    while true do
        wait(0)
        
    end
end
 
  • Нравится
Реакции: Tango

SomaGnoma

Известный
Автор темы
442
152
в иникфг нельзя сохранять таблицы, юзай json
Lua:
local json_file = getWorkingDirectory()..'\\config\\YourJSON_File.json' -- путь к твоему джсону, можно и без переменной, но так проще
local list = {} -- массив который ты будешь читать и сохранять

function jsonSave(jsonFilePath, t) -- функция для сохранения массива в файл, вызывать так: jsonSave(путь к файлу, массив), например jsonSave(json_file, list)
    file = io.open(jsonFilePath, "w")
    file:write(encodeJson(t))
    file:flush()
    file:close()
end
   
function jsonRead(jsonFilePath) -- функция для чтения массива, вызывать так: list = jsonRead(json_file) !!!БЕЗ local!!!
    local file = io.open(jsonFilePath, "r+")
    local jsonInString = file:read("*a")
    file:close()
    local jsonTable = decodeJson(jsonInString)
    return jsonTable
end

-- добавить значение в массив:
table.insert(list, 'TEXT')
jsonSave(json_file, list)

-- убрать значение из массива по индексу (по номеру "ячейки")
table.remove(list, 1) -- 1 - индекс, то есть уберет первое значение из таблицы
jsonSave(json_file, list)

function main()
    while not isSampAvailable() do wait(0) end
    if not doesFileExist(json_file) then jsonSave(json_file, {}) end -- если нет файла, то создаем его и записываем в него пустой массив, бех этого ничего работать не будет!
    list = jsonRead(json_file) -- получаем сохраненный массив после загрузки скрипта
    while true do
        wait(0)
       
    end
end
спасиба величайший, что пояснил каждое действие