Ошибка в коде

TopCarl

Участник
Автор темы
107
14
Ошибка (23: stack index 1, expected string, received nil: (bad argument into 'void(const char*)'))

Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local arr = os.date("*t")
local day = {
    [0] = 'Воскресенье',
    [1] ='Понедельник',
    [2] = 'Вторник',
    [3] = 'Среда',
    [4] = 'Четверг',
    [5] = 'Пятница',
    [6] = 'Суббота'
}

local main_window_state = imgui.ImBool(true)
function imgui.OnDrawFrame()
    local ex, ey = getScreenResolution()
    if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowPos(imgui.ImVec2(ex - 130, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.Begin(' ', main_window_state, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
            imgui.Text(day[os.date('%w')])
        imgui.End()
    end
end

function main()
    while true do wait(0)
        imgui.Process = main_window_state.v
        imgui.ShowCursor = false
    end
end
 

MrDorlik

Известный
977
390
Ошибка (23: stack index 1, expected string, received nil: (bad argument into 'void(const char*)'))

Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local arr = os.date("*t")
local day = {
    [0] = 'Воскресенье',
    [1] ='Понедельник',
    [2] = 'Вторник',
    [3] = 'Среда',
    [4] = 'Четверг',
    [5] = 'Пятница',
    [6] = 'Суббота'
}

local main_window_state = imgui.ImBool(true)
function imgui.OnDrawFrame()
    local ex, ey = getScreenResolution()
    if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowPos(imgui.ImVec2(ex - 130, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.Begin(' ', main_window_state, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
            imgui.Text(day[os.date('%w')])
        imgui.End()
    end
end

function main()
    while true do wait(0)
        imgui.Process = main_window_state.v
        imgui.ShowCursor = false
    end
end
os.date возвращает строку, тебе нужно преобразовать в число, т.к. ключ таблицы у тебя число
Lua:
imgui.Text(day[tonumber(os.date('%w'))])
также imgui не работает со строками cp1251, нужно кодировать их в utf8
Lua:
imgui.Text(u8(day[tonumber(os.date('%w'))]))
 
Последнее редактирование: