Не робит IMGUI

g3r4ld

Участник
Автор темы
57
7
Учусь писать скрипты, сегодня учу имгуи, но тут проблема:
Пишу команду, которая должна открыть имгуи, но появляется только мышка, а интерфейса нема... Но остальные скрипты на имгуи робят
 

Вложения

  • moonloader.log
    288.8 KB · Просмотры: 3

g3r4ld

Участник
Автор темы
57
7
script_name('TEST SCRIPT') -- название скрипта
script_author('g3r4ld') -- автор скрипта
script_description('Command') -- описание скрипта
require 'lib.sampfuncs'
require "lib.moonloader" -- подключение библиотеки
local sampev = require "lib.samp.events" -- samp events события
local keys = require "vkeys"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local tag = '[TEST SCRIPT]:' -- локальная переменная
local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(256)


function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end

sampRegisterChatCommand("normal", cmd_normal)
sampRegisterChatCommand("optimal", cmd_optimal)
sampRegisterChatCommand("cool", cmd_cool)
sampRegisterChatCommand("imgui", cmd_imgui)

_, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
nick = sampGetPlayerNickname(id)

imgui.Process = false

thread = lua_thread.create_suspended(thread_function)

if label == 1 then
-- условие 1
sampAddChatMessage(tag .. "QQ", 0XFFFF00)
else
-- условие 2
sampAddChatMessage(tag .. "QQ", 0XFFFFFF)
end

-- sampAddChatMessage(taq .. "text", 0xFFFF00)

-- Блок выполняется один раз после старта сампа

while true do
wait(0)

if isKeyJustPressed(VK_F3) then
sampAddChatMessage("Вы нажали клавишу {FFFFFF}F3. " .. main_color_text .. "Ваш ник: {FFFFFF}" .. nick .. ", " .. main_color_text .. "ваш ID: {FFFFFF}" .. id, main_color)
end

if isKeyDown(VK_MENU) and isKeyJustPressed(VK_0) then
sampAddChatMessage("Вы крут, вы зажали комбинацию клавиш!", main_color)
wait(300)
sampAddChatMessage("Прошло 300 мс.", main_color)
end
-- Блок выполняется бесконечно (пока самп активен)
end
end

function cmd_normal()
thread:run()
end



function thread_function(i)
sampAddChatMessage("Поток выполнен.", -1)
wait(1000)
sampAddChatMessage("{FF0000} НЕ вырубай комп, качаю на него майнер.", color)
wait(1000)
sampAddChatMessage("1...", -1)
wait(1000)
sampAddChatMessage("2...", -1)
wait(1000)
sampAddChatMessage("3...", -1)
wait(1000)
sampAddChatMessage("{FF0000}EJECT.exe установлен по пути: {FFFFFF}C:/Windows/System32. {FF0000}Не пытайся удалить его, будет хуже.", color)
end



function sampev.onSendChat(text)
if text == "Мордор топ" then
sampAddChatMessage("{FF0000}Не вводи это больше!!!", color)
return false
end
end

function sampev.onSendCommand(command)
sampAddChatMessage("{00B100}Ты ввел эту команду: {FFFFFF}" .. command)
end

function sampev.onSendPickedUpPickup(pickupID)
sampAddChatMessage("{00B100}Вы подняли пикап с ID: {FFFFFF}" ..pickupID , color)
end

function sampev.onServerMessage(color, text)
if string.find(text, "[ADS]", 1, true) then
return false
end
end

function sampev.onApplyPlayerAnimation(playerId, animLib, animName)
if animName == "IDLE_chat" then
return false
else
sampAddChatMessage("{00B100}Имя анимации: {FFFFFF}" ..animName, color)
end
end


function cmd_imgui(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end

function imgui.onDrawFrame()
imgui.Begin("Start imgui")
imgui.Text("Some text")
imgui.End()
end

script_name('TEST SCRIPT') -- название скрипта
script_author('g3r4ld') -- автор скрипта
script_description('Command') -- описание скрипта
require 'lib.sampfuncs'
require "lib.moonloader" -- подключение библиотеки
local sampev = require "lib.samp.events" -- samp events события
local keys = require "vkeys"
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local tag = '[TEST SCRIPT]:' -- локальная переменная
local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"

local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(256)


function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end

sampRegisterChatCommand("normal", cmd_normal)
sampRegisterChatCommand("optimal", cmd_optimal)
sampRegisterChatCommand("cool", cmd_cool)
sampRegisterChatCommand("imgui", cmd_imgui)

_, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
nick = sampGetPlayerNickname(id)

imgui.Process = false

thread = lua_thread.create_suspended(thread_function)

if label == 1 then
-- условие 1
sampAddChatMessage(tag .. "QQ", 0XFFFF00)
else
-- условие 2
sampAddChatMessage(tag .. "QQ", 0XFFFFFF)
end

-- sampAddChatMessage(taq .. "text", 0xFFFF00)

-- Блок выполняется один раз после старта сампа

while true do
wait(0)

if isKeyJustPressed(VK_F3) then
sampAddChatMessage("Вы нажали клавишу {FFFFFF}F3. " .. main_color_text .. "Ваш ник: {FFFFFF}" .. nick .. ", " .. main_color_text .. "ваш ID: {FFFFFF}" .. id, main_color)
end

if isKeyDown(VK_MENU) and isKeyJustPressed(VK_0) then
sampAddChatMessage("Вы крут, вы зажали комбинацию клавиш!", main_color)
wait(300)
sampAddChatMessage("Прошло 300 мс.", main_color)
end
-- Блок выполняется бесконечно (пока самп активен)
end
end

function cmd_normal()
thread:run()
end



function thread_function(i)
sampAddChatMessage("Поток выполнен.", -1)
wait(1000)
sampAddChatMessage("{FF0000} НЕ вырубай комп, качаю на него майнер.", color)
wait(1000)
sampAddChatMessage("1...", -1)
wait(1000)
sampAddChatMessage("2...", -1)
wait(1000)
sampAddChatMessage("3...", -1)
wait(1000)
sampAddChatMessage("{FF0000}EJECT.exe установлен по пути: {FFFFFF}C:/Windows/System32. {FF0000}Не пытайся удалить его, будет хуже.", color)
end



function sampev.onSendChat(text)
if text == "Мордор топ" then
sampAddChatMessage("{FF0000}Не вводи это больше!!!", color)
return false
end
end

function sampev.onSendCommand(command)
sampAddChatMessage("{00B100}Ты ввел эту команду: {FFFFFF}" .. command)
end

function sampev.onSendPickedUpPickup(pickupID)
sampAddChatMessage("{00B100}Вы подняли пикап с ID: {FFFFFF}" ..pickupID , color)
end

function sampev.onServerMessage(color, text)
if string.find(text, "[ADS]", 1, true) then
return false
end
end

function sampev.onApplyPlayerAnimation(playerId, animLib, animName)
if animName == "IDLE_chat" then
return false
else
sampAddChatMessage("{00B100}Имя анимации: {FFFFFF}" ..animName, color)
end
end


function cmd_imgui(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end

function imgui.onDrawFrame()
imgui.Begin("Start imgui")
imgui.Text("Some text")
imgui.End()
end
Все решил. Исправил маленькую букву на большую)))
знаю - дурак))
 
Последнее редактирование: