Проблема в checkbox

ReoGenT

Участник
Автор темы
90
6
Версия MoonLoader
.026-beta
Проблема состоит в том, что на сервере есть команда /aclist, я захотел добавить ее в меню Imgui, типо включение отключение этой команды через checkbox. Но я подумал что если будешь вводить /aclist в чат и при активации в меню это команда будет отключатся. Я засунул команду /aclist вот в такой код:

Lua:
function samp.onSendCommand(param)
    if param:find('/aclist') then
        chk.aclist.v = true -- это checkbox который отвечает за включение отключение команды
    end
end

и получилось так, что когда я захотел снять значение true с chk.aclist.v в игре в меню, оно не снималось (Галочка не исчезала), хотя команда /aclist вводилась

Lua:
function imgui.OnDrawFrame()
if apanel.v then
        imgui.ShowCursor = true
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2.4, sh / 3.5), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(300, 400))
        imgui.Begin(u8' ', _, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar)
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
            if chk.aclist.v == true then
                sampSendChat("/aclist")
            else
                sampSendChat("/aclist")
            end
        end
        imgui.End()
    end
end
 
Решение
Код:
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
           sampSendChat("/aclist")
        else
           sampSendChat("/aclist")
        end

Код:
function samp.onSendCommand(param)
    if param:find('/aclist') then
        local chk.aclist.v = imgui.ImBool(false) -- мб так, я просто не очень понял что ты хотел
    end
end
Когда я ввожу команду /aclist В ЧАТ! то у меня ставиться галочка в chk.clist.v и после этого я НЕ МОГУ ЕЕ снять

А команда при нажатии на checkbox водится

Код:
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
           sampSendChat("/aclist")
        else
           sampSendChat("/aclist")...

VRush

https://t.me/vrushscript
2,415
1,192
Код:
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
           sampSendChat("/aclist")
        else
           sampSendChat("/aclist")
        end

Код:
function samp.onSendCommand(param)
    if param:find('/aclist') then
        local chk.aclist.v = imgui.ImBool(false) -- мб так, я просто не очень понял что ты хотел
    end
end
 

ReoGenT

Участник
Автор темы
90
6
Код:
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
           sampSendChat("/aclist")
        else
           sampSendChat("/aclist")
        end

Код:
function samp.onSendCommand(param)
    if param:find('/aclist') then
        local chk.aclist.v = imgui.ImBool(false) -- мб так, я просто не очень понял что ты хотел
    end
end
Когда я ввожу команду /aclist В ЧАТ! то у меня ставиться галочка в chk.clist.v и после этого я НЕ МОГУ ЕЕ снять

А команда при нажатии на checkbox водится

Код:
        if imgui.Checkbox(u8'Включить админский клист', chk.aclist) then
           sampSendChat("/aclist")
        else
           sampSendChat("/aclist")
        end

Код:
function samp.onSendCommand(param)
    if param:find('/aclist') then
        local chk.aclist.v = imgui.ImBool(false) -- мб так, я просто не очень понял что ты хотел
    end
end
Все я понял как это сделать просто я зарегал команду /aclist и в функцию вставил sampSendChat("/aclist") и chk.aclist.v = not chk.aclist.v. Но я думаю есть легче способ это сделать.
 
Последнее редактирование:

VRush

https://t.me/vrushscript
2,415
1,192
Все я понял как это сделать просто я зарегал команду /aclist и в функцию вставил sampSendChat("/aclist") и chk.aclist.v = not chk.aclist.v. Но я думаю есть легче способ это сделать.
Только сказать хотел, да так лучше будет