- 222
- 55
- Версия MoonLoader
- .026-beta
Когда открываю окно имгуи впервые за сессию то всё работает нормально могу управлять курсором и камера не двигается (я про камеру которая третье лицо)
А когда запускаю имгуи второй раз то управляю курсором как будто в игре - а на имгуи похуй, нужно открывать чат чтобы курсор начал двигатся по окну имгуи
А и ещё почему то в имгуи инпут тексте по дефолту у меня высвечивается
знак вопросика, пологаю что то связанное с кодировкой но хз как исправить
А когда запускаю имгуи второй раз то управляю курсором как будто в игре - а на имгуи похуй, нужно открывать чат чтобы курсор начал двигатся по окну имгуи
А и ещё почему то в имгуи инпут тексте по дефолту у меня высвечивается
1:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local window = imgui.ImBool(false)
require 'lib.moonloader'
local sampev = require 'samp.events'
act = false
avto = false
zvyk = false
tovar = "аксы, ларцы, скины"
local tovarik = imgui.ImBuffer(1024)
thread = lua_thread.create_suspended(func)
function main()
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand("skyp", skyp)
sampRegisterChatCommand('skyper', skyper)
sampAddChatMessage("{00FBFF}[Skyp.lua]:{FFFFFF} Загружен", -1)
while true do
wait(0)
imgui.Process = window.v
if window.v == true then
imgui.ShowCursor = true
else
imgui.ShowCursor = false
moneys = getPlayerMoney(PLAYER_HANDLE)
money = math.ceil(moneys / 1000000) * 1000000
if tovarik.v == "" then
tovarik.v = tovar
end
if act == true then
sampSendChat("/s Скупаю ".. tovarik.v .. " дорого Бюджет: ".. money)
wait(8000)
end
end
end
end
local checked_test = imgui.ImBool(false)
local checked_test1 = imgui.ImBool(false)
local checked_test2 = imgui.ImBool(false)
local checked_radio = imgui.ImInt(1)
function imgui.OnDrawFrame()
if window.v then
imgui.SetNextWindowPos(imgui.ImVec2(800.0, 400.0), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(300.0, 360.0), imgui.Cond.FirstUseEver)
imgui.Begin('Skyp.lua', window)
if imgui.Checkbox(u8'Автопринятие трейда', checked_test) then
avto = not avto
end
if imgui.Checkbox(u8'Звуковое оповещение при трейде', checked_test1) then
zvyk = not zvyk
end
if imgui.Checkbox(u8'Автоскуп', checked_test2) then
act = not act
end
if checked_test2.v then
imgui.PushItemWidth(150)
imgui.InputText(u8'Что скупаем?',tovarik)
end
imgui.End()
end
end
local SoundFile = getWorkingDirectory()..'\\resource\\TradeSound.mp3' -- файл со звуком
assert(doesFileExist(SoundFile), 'Файл "'..SoundFile..'" не найден!') -- крашим скрипт если файла нет
local Audio = loadAudioStream(SoundFile) -- загружаем звук
function sampev.onShowDialog(id, style, title, button1, button2, text)
if zvyk == true then
setAudioStreamState(Audio, 1) -- воспроизводим звук
setAudioStreamVolume(Audio, 25)
end
if id == 8252 and avto == true then
sampSendDialogResponse(id, 1, -1, nil)
return false
else
sampAddChatMessage("{00FBFF}[Skyp.lua]:{FFFFFF} Вы можете включить автопринятие трейда! {00FBFF}/skyper",-1)
end
end
function apply_custom_style()
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
style.WindowPadding = imgui.ImVec2(15, 15)
style.WindowRounding = 1.5
style.FramePadding = imgui.ImVec2(5, 5)
style.FrameRounding = 4.0
style.ItemSpacing = imgui.ImVec2(12, 8)
style.ItemInnerSpacing = imgui.ImVec2(8, 6)
style.IndentSpacing = 25.0
style.ScrollbarSize = 15.0
style.ScrollbarRounding = 9.0
style.GrabMinSize = 5.0
style.GrabRounding = 3.0
colors[clr.Text] = ImVec4(0.80, 0.80, 0.83, 1.00)
colors[clr.TextDisabled] = ImVec4(0.24, 0.23, 0.29, 1.00)
colors[clr.WindowBg] = ImVec4(0.06, 0.05, 0.07, 1.00)
colors[clr.ChildWindowBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
colors[clr.PopupBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
colors[clr.Border] = ImVec4(0.80, 0.80, 0.83, 0.88)
colors[clr.BorderShadow] = ImVec4(0.92, 0.91, 0.88, 0.00)
colors[clr.FrameBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.FrameBgHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
colors[clr.FrameBgActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
colors[clr.TitleBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.TitleBgCollapsed] = ImVec4(1.00, 0.98, 0.95, 0.75)
colors[clr.TitleBgActive] = ImVec4(0.07, 0.07, 0.09, 1.00)
colors[clr.MenuBarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.ScrollbarGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
colors[clr.ScrollbarGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
colors[clr.ComboBg] = ImVec4(0.19, 0.18, 0.21, 1.00)
colors[clr.CheckMark] = ImVec4(0.80, 0.80, 0.83, 0.31)
colors[clr.SliderGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
colors[clr.SliderGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
colors[clr.Button] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.ButtonHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
colors[clr.ButtonActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
colors[clr.Header] = ImVec4(0.10, 0.09, 0.12, 1.00)
colors[clr.HeaderHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
colors[clr.HeaderActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
colors[clr.ResizeGrip] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.ResizeGripHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
colors[clr.ResizeGripActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
colors[clr.CloseButton] = ImVec4(0.40, 0.39, 0.38, 0.16)
colors[clr.CloseButtonHovered] = ImVec4(0.40, 0.39, 0.38, 0.39)
colors[clr.CloseButtonActive] = ImVec4(0.40, 0.39, 0.38, 1.00)
colors[clr.PlotLines] = ImVec4(0.40, 0.39, 0.38, 0.63)
colors[clr.PlotLinesHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
colors[clr.PlotHistogram] = ImVec4(0.40, 0.39, 0.38, 0.63)
colors[clr.PlotHistogramHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
colors[clr.TextSelectedBg] = ImVec4(0.25, 1.00, 0.00, 0.43)
colors[clr.ModalWindowDarkening] = ImVec4(1.00, 0.98, 0.95, 0.73)
end
apply_custom_style()
function skyper()
window.v = not window.v
imgui.Process = window.v
end