json

Neil_

Активный
Автор темы
196
27
Версия MoonLoader
Другое
Как блять вывести эту хрень
Lua:
local ev = require('lib.samp.events')

local json_file = getWorkingDirectory()..'\\config\\krp.json'
local list = {}

function main()
    repeat wait(0) until isSampAvailable()
    if not doesFileExist(json_file) then jsonSave(json_file, {}) end
    sampRegisterChatCommand('gg',function()
        list = jsonRead(json_file)
        print(list["item"]) -- ЭТУ ХУЕТУ ИЗ JSON
    end)

    while true do
        wait(0)
    end
end

function ev.onShowDialog(id,style,title,b1,b2,text)
    if title:find('Покупка предмета') then
        if text:find('Предмет: {%x-}(.-){%x-}\n') then
            local item = text:match('Предмет: {%x-}(.-){%x-}\n')
            if text:find('Стоимость: $(.+) за %d+ шт%.') then
                local price = text:match('Стоимость: $(.+) за %d+ шт%.')
                table.insert(list,{
                    item = item,
                    price = price,
                })
                jsonSave(json_file,list)
            end
        end
    end
end

function jsonSave(jsonFilePath, t)
    file = io.open(jsonFilePath, "w")
    file:write(encodeJson(t))
    file:flush()
    file:close()
end
 
function jsonRead(jsonFilePath)
    local file = io.open(jsonFilePath, "r+")
    local jsonInString = file:read("*a")
    file:close()
    local jsonTable = decodeJson(jsonInString)
    return jsonTable
end

JSON:
[{"item":"Ларец пилота","price":"1.000.000"},{"item":"Эффект x4 пополнение счёта (24 часа)","price":"150.000"},{"item":"Рваная футболка Ballas","price":"50.000"},{"item":"Рваная бандана Ballas","price":"50.000"},{"price":"450.000","item":"Платиновая рулетка"}]



и как сохранять с добавлением нового содержимого к старому, а не добавление нового и удаление старого после перезагрузки скрипта
function jsonSave(jsonFilePath, t)
file = io.open(jsonFilePath, "w") - В этой строчке
file:write(encodeJson(t))
file:flush()
file:close()
end
 
Последнее редактирование: