- Версия MoonLoader
- .027.0-preview
У меня есть такой кусок кода
Как сделать так, чтобы после добавление нового предмета сразу не писалась его цена? Если уже повторно открыть этот же предмет, то цена уже отправиться в чат
И как ещё пофиксить json запись, если использовать "режим записи в файл с добавлением к содержимому файла " в сохранения json, то после запись идёт так
[{"price":"500","item":"Краситель"}][{"price":"500","item":"Краситель"},{"price":"1.000","item":"Ключ для ларца"}]" и всё к чертям багается
Lua:
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+ шт%.')
add = true
items = {item = item, price = price}
for k,v in ipairs(list) do
if v.item == items.item then
add = false
end
end
if add then
table.insert(list,items)
jsonSave(json_file,list)
sampAddChatMessage('Добавлен новый предмет: '..items.item, -1)
end
end
list_item = jsonRead(json_file)
for i = 1, #list_item do
if item == list_item[i].item then
sampAddChatMessage('Этот предмет стоит примерно: '..list_item[i].price, -1)
end
end
end
end
end
Как сделать так, чтобы после добавление нового предмета сразу не писалась его цена? Если уже повторно открыть этот же предмет, то цена уже отправиться в чат
И как ещё пофиксить json запись, если использовать "режим записи в файл с добавлением к содержимому файла " в сохранения json, то после запись идёт так
[{"price":"500","item":"Краситель"}][{"price":"500","item":"Краситель"},{"price":"1.000","item":"Ключ для ларца"}]" и всё к чертям багается
Lua:
function jsonSave(jsonFilePath, t)
file = io.open(jsonFilePath, "a")
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
Последнее редактирование: