- 478
- 20
- Версия MoonLoader
- Другое
Приветики еще раз. Подскажите как добавить активацию по чек боксу на ВХ. ВХ оставлю ниже как и сам имгуи код
ИМГУИ КОД С 3-МЯ МЕНЮШКАМИ:
require "lib.moonloader"
local keys = require "vkeys"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'C1251'
u8 = encoding.UTF8
local tag = "[My First Script]:"
local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"
local menu = 1
local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(256) -- Зачем тебе он тут если нету ImGui.InputText(name, buffer)
local checked_box = imgui.ImBool(false)
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand("imgui", cmdimgui)
handle, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
nick = sampGetPlayerNickname(id)
imgui.Process = false -- его можно вынести до функции при желании
while true do
wait(0)
if main_window_state.v == false then
imgui.Process = false -- зачем тебе их два?
end
end
end -- добавил ещё end который закрывает функцию маин
function cmdimgui() -- не правильный аргумент cmd_imgui заменен на cmdimgui и тут не обязательно вписывать (arg) можно обойтись и ()
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end
function imgui.OnDrawFrame() -- не Flame а Frame!!
imgui.Begin("Start imgui", main_window_state)
imgui.BeginChild("##left", imgui.ImVec2(200, 85), true)
if imgui.Button('Menu', imgui.ImVec2(180, 20)) then menu = 1 end
if imgui.Button('Settings', imgui.ImVec2(180, 20)) then menu = 2 end
if imgui.Button('Author', imgui.ImVec2(180, 20)) then menu = 3 end
imgui.EndChild()
imgui.SameLine()
imgui.BeginChild("##right", imgui.ImVec2(400, 150), true)
if menu == 1 then
imgui.Checkbox('Menu', checked_box)
end
if menu == 2 then
imgui.Text('Settings')
end
if menu == 3 then
imgui.Text('Автором скрипта является - han')
end
imgui.EndChild()
imgui.End()
end
-- end он тут не нужен
РЕНДЕР:
font = renderCreateFont('Cactus', 6, 4)
function rkact()
enabled = not enabled
sampAddChatMessage(enabled and '{FFFFFF}[{FFAD40}WH{FFFFFF}] - [{4FFF38}Enable{FFFFFF}]' or '{FFFFFF}[{FFAD40}WH{FFFFFF}] - [{FF1C1C}Disable{FFFFFF}]', -1)
end
function main()
while not isSampAvailable() do wait(0) end wait(1)
wait(1300)
sampAddChatMessage("{FFFFFF}[{FFAD40}Resource Render by Quarter] - {FF4A4A}ACTIVATED",-1)
sampRegisterChatCommand("rwh", rkact)
while true do
wait(0)
if enabled then
for handle, v in pairs(getAllObjects()) do
local asd
if sampGetObjectSampIdByHandle(v) ~= -1 then
asd = sampGetObjectSampIdByHandle(v)
end
if isObjectOnScreen(v) then
local result, oX, oY, oZ = getObjectCoordinates(v)
local x1, y1 = convert3DCoordsToScreen(oX,oY,oZ)
local objmodel = getObjectModel(v)
local x2,y2,z2 = getCharCoordinates(PLAYER_PED)
local x10, y10 = convert3DCoordsToScreen(x2,y2,z2)
distance = string.format("%.0f", getDistanceBetweenCoords3d(oX,oY,oZ, x2, y2, z2))
if objmodel == 3930 then renderDrawLine(x10, y10, x1, y1, 2, 0xFFFFFF) renderFontDrawText(font,"{FFFF00}Resource:FF0000}"..distance, x1, y1, -1) end
end
end
end
end
end
function rkact()
enabled = not enabled
sampAddChatMessage(enabled and '{FFFFFF}[{FFAD40}WH{FFFFFF}] - [{4FFF38}Enable{FFFFFF}]' or '{FFFFFF}[{FFAD40}WH{FFFFFF}] - [{FF1C1C}Disable{FFFFFF}]', -1)
end