- 328
- 19
- Версия MoonLoader
- .026-beta
У меня есть текстовый файл, в который идет запись, запись ответов и пойманных PayDay.
Чуть ниже, в коде, который я прикреплю, идет чтение и счет этих строк, т.е файл читается построчно.
Подскажите, как правильно сделать, так что-бы в imgui.text выводились все даты(на данный момент, как у меня есть в коде, почему-то выводятся не все даты) и соответственно кол-во ответов за эту дату и пойманных PayDay.
Если же как-то можно, то, как сделать сортировку по датам так, что-бы та дата которая сегодня(к примеру 19.01.2022) была в самом верху.
т.е есть даты с 10.12.2021 по сегодняшний день, то, как сделать так, что-бы все эти даты выводились вот так:
сегодняшняя дата(19.01.2022) | Ответы: | PayDay: |Зарплата:
18.01.2022 | Ответы: | PayDay: |Зарплата:
17.01.2022 | Ответы: | PayDay: |Зарплата:
16.01.2022 | Ответы: | PayDay: |Зарплата:
...
10.12.2021 | Ответы: | PayDay: |Зарплата:
что-бы та дата которая сегодня была в самом верху.
собственно сам код:
Чуть ниже, в коде, который я прикреплю, идет чтение и счет этих строк, т.е файл читается построчно.
[19.01.2022|22:00:04] PayDay
[19.01.2022|22:00:59] <-Nick_Name[204] to Nick_Name[59]: 12
[19.01.2022|22:00:59] <-Nick_Name[204] to Nick_Name[59]: 12
Подскажите, как правильно сделать, так что-бы в imgui.text выводились все даты(на данный момент, как у меня есть в коде, почему-то выводятся не все даты) и соответственно кол-во ответов за эту дату и пойманных PayDay.
Если же как-то можно, то, как сделать сортировку по датам так, что-бы та дата которая сегодня(к примеру 19.01.2022) была в самом верху.
т.е есть даты с 10.12.2021 по сегодняшний день, то, как сделать так, что-бы все эти даты выводились вот так:
сегодняшняя дата(19.01.2022) | Ответы: | PayDay: |Зарплата:
18.01.2022 | Ответы: | PayDay: |Зарплата:
17.01.2022 | Ответы: | PayDay: |Зарплата:
16.01.2022 | Ответы: | PayDay: |Зарплата:
...
10.12.2021 | Ответы: | PayDay: |Зарплата:
что-бы та дата которая сегодня была в самом верху.
собственно сам код:
Lua:
local file = io.open('moonloader\\config\\srt\\pm.ini', "r")
local data, dataText, payday, strData, aHour, aOtvet = {}, {}, {}, "", 0, 0
local min_data, max_data = 1000000000000, 0
if file ~= nil then
for line in file:lines() do
if string.find(line, "%[(.+)|.+%] PayDay") then
local S1 = string.match(line, "%[(.+)|.+%] PayDay")
local datanumber = convertDataToString(S1)
if min_data > datanumber then
min_data = datanumber
end
if max_data < datanumber then
max_data = datanumber
end
if data[datanumber] == nil then
data[datanumber] = { payday = 0, otvet = 0, data = S1 }
end
data[datanumber]["payday"] = data[datanumber]["payday"] + 1
aHour = aHour + 1
end
if string.find(line, "%[(.+)|.+%] .."..config.tag.SupportName.."%[%d+%] to .+%[%d+%]: .+") then
local S1, S2 = string.match(line, "%[(.+)|.+%] ..("..config.tag.SupportName.."%[%d+%] to .+%[%d+%]: .+)")
local datanumber = convertDataToString(S1)
if min_data > datanumber then
min_data = datanumber
end
if max_data < datanumber then
max_data = datanumber
end
if data[datanumber] == nil then
data[datanumber] = { payday = 0, otvet = 0, data = S1 }
end
data[datanumber]["otvet"] = data[datanumber]["otvet"] + 1
aOtvet = aOtvet + 1
end
end
end
io.close(file)
DiText = ""
for i = min_data, max_data do
if data[i] ~= nil then
v = data[i]
DiText = string.format("%sДата: %s | Ответы: %s | PayDay: %s | Зарплата: %s\n", DiText, v["data"], v["otvet"], v.payday, (v.payday * 30000))
end
end
DiText3 = '' .. DiText
DiText2 = 'Всего:\t Ответы: '..aOtvet..'\t PayDay: '..aHour..'\t Зарплата: '..(aHour * 30000)
Dtext = ""
imgui.BeginChild("", imgui.ImVec2(434, 150), true)
imgui.Text(u8(DiText3))
imgui.EndChild()
imgui.Text(u8(DiText2))
if imgui.Button(u8'Очистить счетчик') then
local f = io.open('moonloader\\config\\srt\\pm.ini', 'w')
f:write("")
f:close()
sampAddChatMessage(tag.. '{FFFFFF} Счетчик ответов успешно {FF0000}сброшен.', 0xFFFF00)
end
imgui.End()
Последнее редактирование: