Траблы

AngelMAILS228

Участник
Автор темы
79
7
Версия MoonLoader
.026-beta
Сделал функцию по системе взаимодействия с игроком по маркеру. Т.е я целюсь на челика, после чего зажимаю Q и у меня должно вылазить окно. Но После того как я нажал ПКМ + Q. Окно не вылазит, а вылазит после того как я открою главное меню. Помогите.
Скрипт ЛУА:
-- local'ки
local playerid = -1

-- Бесконечный цикл
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE)
if valid and doesCharExist(ped) then
    local result, id = sampGetPlayerIdByCharHandle(ped)
    if result and isKeyJustPressed(VK_Q) then -- На ПКМ+Q
        show_player.v = not show_player.v
        playerid = id
    end
end


-- imgui.OnDrawFrame()
if show_player.v then
    imgui.Begin(u8"Взаимодействие с "..sampGetPlayerNickname(tostring(playerid)).."["..tostring(playerid).."]", show_player)
    if imgui.Button(u8"Показать пасспорт") then
        sampSendChat("/showpass "..tostring(playerid))
    end
    imgui.End()
end
 

andrey_hacker

Известный
274
88
тебе надо ставить проверку в if не на result а на valid
Код:
local m_w_s = imgui.ImBool(false) -- v local'ki

--в бесконечный цикл
local res, tar = getCharPlayerIsTargeting(PLAYR_HANDLE)
        if res then res, tarId = sampGetPlayerIdByCharHandle(tar) end
        if res and isKeyJustPressed(VK_B) then
            wind()
        end
        if m_w_s.v == false then
            imgui.Process = false
        end        
function imgui.OnDrawFrame()
    imgui.SetNextWindowSize(imgui.ImVec2(300,255), imgui.Cond.FirstUseEver) --размер
    imgui.SetNextWindowPos(imgui.ImVec2((sw/2),(sh/2)), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) --позиция
    imgui.Begin(u8'Взаимодействие с '..sampGetPlayerNickname(tarId)..'['..tarId..']', m_w_s)
 --сюда код imgui  
 imgui.End()
end
Код:
function wind() 
m_w_s.v = not m_w_s.v
imgui.Process = m_w_s.v
end
 
Последнее редактирование: