В чём ошибка (информация из диалога)

Mico

Активный
Автор темы
246
46
Версия MoonLoader
.026-beta
Lua:
function hook.onShowDialog(dialogId, style, title, button1, button2, text)
    if parsim and dialogId == 228 and title:find("Статистика администратора") then
        -- другой диалог
    end
    if parsim and dialogId == 1932 and title:find("{dfb519}Оффлайн статистика") then
        for line in text:gmatch("[^\r\n]+") do
            if line:find("Послед. вход: %[%.+%/%.+%/%.+ %.+%:%.+%]") then
                lc_d, lc_m, lc_y, lc_h, lc_min = line:match("Послед. вход: %[(%.+)%/(%.+)%/(%.+) (%.+):(%.+)%]")
            end
        end
        parsim = false
        return false
    end
end

Код:
function command_stats(args_astats)
    lua_thread.create(function()
        astats_menu.v = true
        timerStart = os.time()
        timerEndTime = 3
        wait(1000)
        sampSendChat("/getoffstats "..args_astats)
        parsim = true
        wait(1000)
        sampSendChat("/astats "..args_astats)
        parsim = true
    end)
end

Выводит ошибку:
Код:
[ML] (error) name: C:\Games\GTA San Andreas\moonloader\name.lua:1889: attempt to concatenate global 'lc_min' (a nil value)
stack traceback:
    C:\Games\GTA San Andreas\moonloader\name.lua:1889: in function 'OnDrawFrame'
    C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[ML] (error) name: Script died due to an error. (01E9BEC4)

Нужный текст из диалога: Послед. вход: [31/10/2022 17:56]
 
  • Эм
Реакции: qdIbp
Решение
Lua:
lc_d, lc_m, lc_y, lc_h, lc_min = line:match("Послед. вход%: %[(%d+)%/(%d+)%/(%d+) (%d+)%:(%d+)%]"))

Нужный текст из диалога: Послед. вход: [31/10/2022 17:56]
попробуй так

1667284545577.png

Mico

Активный
Автор темы
246
46
Согл, глуповат, попробую объяснить если не понимаешь, создаешь массив
Lua:
local god = {'янв','фев','мар','апр','май','июнь','июль','авг','сен','окт','нояб','дек'}
вот он уже готовый
берешь туда куда тебе нужен эти месяца и вставляешь как
Lua:
u8(god[lc_m])
Код:
[ML] (error) : C:\Games\GTA San Andreas\moonloader\.lua:491: stack index 1, expected string, received nil: (bad argument into 'void(const char*)')
stack traceback:
    [C]: in function 'Text'
    C:\Games\GTA San Andreas\moonloader\.lua:491: in function 'BlackGrayText'
    C:\Games\GTA San Andreas\moonloader\.lua:1899: in function 'OnDrawFrame'
    C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[ML] (error) : Script died due to an error. (1ED4165C)

Пробовал как раз так — ошибка.
1667292601529.png
 
  • Эм
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,387
1,143
Код:
[ML] (error) : C:\Games\GTA San Andreas\moonloader\.lua:491: stack index 1, expected string, received nil: (bad argument into 'void(const char*)')
stack traceback:
    [C]: in function 'Text'
    C:\Games\GTA San Andreas\moonloader\.lua:491: in function 'BlackGrayText'
    C:\Games\GTA San Andreas\moonloader\.lua:1899: in function 'OnDrawFrame'
    C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[ML] (error) : Script died due to an error. (1ED4165C)

Пробовал как раз так — ошибка.
Посмотреть вложение 175626
1 Вопрос нахера массив в imgui сувать
2 Вопрос нахера в массиве проставлять u8 когда это можно сделать один раз и не заморачиваться, и тем более вдруг еще понадобится вне imgui
3 Что такое BlackGrayText
 

Mico

Активный
Автор темы
246
46
1 Вопрос нахера массив в imgui сувать
2 Вопрос нахера в массиве проставлять u8 когда это можно сделать один раз и не заморачиваться, и тем более вдруг еще понадобится вне imgui
3 Что такое BlackGrayText
Тот же текст, только другого цвета (названия я прекрасные придумываю)
Код:
function imgui.BlackGrayText(text)
    imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(0.49, 0.55, 0.66, 0.780))
        local text = imgui.Text(text)
    imgui.PopStyleColor(1)
    return text
end

Массив перекинул, где все массивы. Также сделал так:
imgui.BlackGrayText(u8(god[lc_m]))


Код:
[ML] (error) : C:\Games\GTA San Andreas\moonloader\lib\encoding.lua:63: bad argument #1 to 'iconv' (string expected, got nil)
stack traceback:
    [C]: in function 'iconv'
    C:\Games\GTA San Andreas\moonloader\lib\encoding.lua:63: in function 'u8'
    C:\Games\GTA San Andreas\moonloader\.lua:1901: in function 'OnDrawFrame'
    C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[ML] (error) : Script died due to an error. (10913BDC)
 
  • Эм
Реакции: qdIbp