- 478
- 20
ошибка с отсутсвием шрифта выглядит по другому, там дллка триггериится вроде бы на имгуишную функцию создания шрифта, тут скорее всего проблема возникла из за того что нет imgui.End() для imgui.Begin()Куда уж точнее, у тебя не установлена папка resource и шрифты
да мне больше кажется,что из за скрипта крашитдолжно помочь
кидай в папку moonloader
когда удалишь этот файл,скрипты,которые требуют ImGui,просто перестанут работатьмоонлоудер крашит,сам либ который попробуй убрать MoonImGui.dll
на счет линий в скрипте не знаю,но я ответ нашел на БХ,и он помог от такой же ошибкида мне больше кажется,что из за скрипта крашит
я предложил удалить,потому что вдруг он не пользуется скриптамикогда удалишь этот файл,скрипты,которые требуют ImGui,просто перестанут работать
если удалил,то его можно снова скачать,скачав ImGui и переместить все с заменой
на счет линий в скрипте не знаю,но я ответ нашел на БХ,и он помог от такой же ошибки
так что хз...
а смысл тогда от муна?я предложил удалить,потому что вдруг он не пользуется скриптами
Если не знаешь не отвечай пожайлустая предложил удалить,потому что вдруг он не пользуется скриптами
смотри. вот из-за добавления биндера с хелпера от Rice'a. начались краши.Если не знаешь не отвечай пожайлуста
local imgui = require('imgui')
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local sampev = require 'lib.samp.events'
local keys = require 'vkeys'
local list = {}
local inicfg = require 'inicfg'
local fontsize = nil
local menu = 0
local slider = imgui.ImFloat(0)
local fa = require 'fAwesome5' -- ICONS LIST: https://fontawesome.com/v5.15/icons?d=gallery&s=solid&m=free
local localwindow = imgui.ImBool(false)
local windowleader = imgui.ImBool(false)
local newfindwindow = imgui.ImBool(false)
local statisticwindowlite = imgui.ImBool(false)
local statisticwindowhight = imgui.ImBool(false)
local binder_delay = imgui.ImInt(2500)
local text_binder = imgui.ImBuffer(65536)
local binder_name = imgui.ImBuffer(35)
local colors = imgui.GetStyle().Colors;
local icol = imgui.Col
local ImVec4 = imgui.ImVec4
local cfg = inicfg.load({
Settings = {
FirstSettings = false,
rank = 'Охранник',
rankAndNumber = '1',
RP = true,
waitRP = 2.5,
sex = 1,
aupdate = true
},
Pos = {
x = 707,
y = 935
},
Binds_Name = {},
Binds_Action = {},
Binds_Deleay = {}
}, "Onfroy Family Helper")
function main()
while not isSampAvailable() do wait(200) end
sampRegisterChatCommand('opw', openmainwindow)
sampRegisterChatCommand('leaders', function() sampSendChat("/leaders") ; windowleader.v = not windowleader.v end)
sampRegisterChatCommand('stats', function() statisticwindowhight.v = not statisticwindowhight.v end)
imgui.Process = false
localwindow.v = false
windowleader.v = false --show window on start
while true do
wait(0)
imgui.Process = localwindow.v or windowleader.v or statisticwindowhight.v
end
end
function openmainwindow()
localwindow.v = not localwindow.v
end
function imgui.OnDrawFrame()
if localwindow.v then
local resX, resY = getScreenResolution()
local sizeX, sizeY = 700, 500 -- WINDOW SIZE
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
imgui.Begin('Window Title', localwindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
imgui.SetCursorPosX(70)
imgui.SetCursorPosY(450)
imgui.PushFont(fontsizefa25)
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE ..'')
imgui.PopFont()
imgui.Tooltip(u8'Актуальная версия скрипта 0.1')
imgui.SetCursorPosX(240)
imgui.SetCursorPosY(5)
imgui.PushFont(fontsize)
imgui.Text('ONFROY HELPER')
imgui.PopFont()
imgui.SetCursorPosY(10)
imgui.SetCursorPosX(650)
if imgui.Button(fa.ICON_FA_TIMES ..'', imgui.ImVec2(40, 40)) then localwindow.v = not localwindow.v end
imgui.SetCursorPosY(10)
imgui.PushStyleVar(imgui.StyleVar.FrameRounding, 5)
imgui.SetCursorPosY(10)
if imgui.Button(u8"Основные", imgui.ImVec2(180, 40)) then menu = 1 end
imgui.SetCursorPosY(60)
if imgui.Button(u8"Другое", imgui.ImVec2(180, 40)) then menu = 2 end
imgui.SetCursorPosY(110)
if imgui.Button(u8"Улучшения", imgui.ImVec2(180, 40)) then menu = 3 end
imgui.SetCursorPosY(160)
if imgui.Button(u8"Биндер", imgui.ImVec2(180, 40)) then menu = 4 end
imgui.PopStyleVar(1)
imgui.SameLine()
if menu == 0 then
imgui.SetCursorPosY(60)
imgui.BeginChild("child2", imgui.ImVec2(480, 430), false)
imgui.CenterText(u8"Добро пожаловать на открытое бета-тестирование хелпера от семьи Onfroy!")
imgui.Text(u8" Мы играем на проекте Online RP 02, приглашаем вас к себе на второй сервер\n При регестрации указывай ник Handerson_Onfroy, а так же /mn - 11 - #onfroy")
imgui.EndChild()
end
imgui.SameLine()
if menu == 1 then
imgui.SetCursorPosY(60)
imgui.BeginChild("child2", imgui.ImVec2(480, 430), false)
imgui.Text("1")
imgui.EndChild()
end
imgui.SameLine()
if menu == 2 then
imgui.SetCursorPosY(60)
imgui.BeginChild("child2", imgui.ImVec2(480, 430), false)
imgui.Text("2")
imgui.EndChild()
end
imgui.SameLine()
if menu == 3 then
imgui.SetCursorPosY(60)
imgui.BeginChild("child2", imgui.ImVec2(480, 430), false)
imgui.Text("3")
imgui.EndChild()
end
imgui.SameLine()
if menu == 4 then
imgui.SetCursorPosY(60)
imgui.BeginChild("child2", imgui.ImVec2(480, 430), false)
imgui.CenterTextColoredRGB('Меню пользовательских биндов')
imgui.Separator()
if #cfg.Binds_Name > 0 then
for key_bind, name_bind in pairs(cfg.Binds_Name) do
if imgui.Button(u8(name_bind)..'##'..key_bind, imgui.ImVec2(312, 30)) then
play_bind(key_bind)
window.v = false
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_PEN..'##'..key_bind, imgui.ImVec2(30, 30)) then
EditOldBind = true
name_old_bild = cfg.Binds_Name[key_bind]
getpos = key_bind
binder_delay.v = cfg.Binds_Deleay[key_bind]
local returnwrapped = tostring(cfg.Binds_Action[key_bind]):gsub('~', '\n')
text_binder.v = u8(returnwrapped)
binder_name.v = tostring(u8(cfg.Binds_Name[key_bind]))
imgui.OpenPopup(u8'Биндер')
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_TRASH..'##'..key_bind, imgui.ImVec2(30, 30)) then
GHsms('Бинд {ADFF2F}«'..cfg.Binds_Name[key_bind]..'»{FFFFFF} удалён!')
table.remove(cfg.Binds_Name, key_bind)
table.remove(cfg.Binds_Action, key_bind)
table.remove(cfg.Binds_Deleay, key_bind)
inicfg.save(cfg, 'Government Helper.ini')
end
end
else
imgui.CenterTextColoredRGB('Здесь пока нету Ваших биндов.')
imgui.CenterTextColoredRGB('Их можно создать!')
imgui.SetCursorPosX((imgui.GetWindowWidth() - 25) / 2)
imgui.PushFont(fontsize50)
imgui.Text(fa.ICON_FA_CHILD)
imgui.PopFont()
end
imgui.Separator()
if imgui.Button(fa.ICON_FA_PLUS_CIRCLE..u8' Создать бинд', imgui.ImVec2(-1,30)) then
imgui.OpenPopup(u8'Биндер')
binder_delay.v = 2500
end
end
if imgui.BeginPopupModal(u8'Биндер', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then
imgui.BeginChild("##EditBinder", imgui.ImVec2(600, 337), true)
imgui.PushItemWidth(150)
imgui.InputInt(u8("Задержка между строками в миллисекундах"), binder_delay); imgui.SameLine(); imgui.Vopros(); imgui.Hint(u8'Не больше 60.000 ms!\n(1 sec = 1000 ms)')
imgui.PopItemWidth()
if binder_delay.v <= 0 then
binder_delay.v = 1
elseif binder_delay.v >= 60001 then
binder_delay.v = 60000
end
imgui.SameLine()
if imgui.Button(u8'Локальные тэги##LocalTag', imgui.ImVec2(140,20)) then
imgui.OpenPopup(u8'Локальные тэги')
end
localtag()
imgui.InputTextMultiline("##EditMultiline", text_binder, imgui.ImVec2(-1, 250))
imgui.Text(u8'Название бинда (обязательно):'); imgui.SameLine()
imgui.PushItemWidth(200)
imgui.InputText("##binder_name", binder_name)
imgui.PopItemWidth()
if #binder_name.v > 0 and #text_binder.v > 0 then
imgui.SameLine()
if imgui.Button(u8'Сохранить##bind1', imgui.ImVec2(-1,20)) then
if not EditOldBind then
refresh_text = text_binder.v:gsub("\n", "~")
table.insert(cfg.Binds_Name, u8:decode(binder_name.v))
table.insert(cfg.Binds_Action, u8:decode(refresh_text))
table.insert(cfg.Binds_Deleay, binder_delay.v)
if inicfg.save(cfg, 'Government Helper.ini') then
GHsms('Бинд {ADFF2F}«'..u8:decode(binder_name.v)..'»{FFFFFF} успешно добавлен!')
binder_name.v, text_binder.v = '', ''
end
imgui.CloseCurrentPopup()
else
refresh_text = text_binder.v:gsub("\n", "~")
table.insert(cfg.Binds_Name, getpos, u8:decode(binder_name.v))
table.insert(cfg.Binds_Action, getpos, u8:decode(refresh_text))
table.insert(cfg.Binds_Deleay, getpos, binder_delay.v)
table.remove(cfg.Binds_Name, getpos + 1)
table.remove(cfg.Binds_Action, getpos + 1)
table.remove(cfg.Binds_Deleay, getpos + 1)
if inicfg.save(cfg, 'Government Helper.ini') then
GHsms('Бинд {ADFF2F}«'..name_old_bild..'»{FFFFFF} успешно отредактирован!')
binder_name.v, text_binder.v = '', ''
end
EditOldBind = false
imgui.CloseCurrentPopup()
end
end
else
imgui.SameLine()
imgui.DisableButton(u8'Сохранить##bind2', imgui.ImVec2(-1,20))
imgui.Hint(u8'Заполнены не все пункты!')
end
if imgui.Button(u8'Закрыть', imgui.ImVec2(-1,20)) then
if not EditOldBind then
imgui.CloseCurrentPopup()
binder_name.v, text_binder.v = '', ''
else
EditOldBind = false
imgui.CloseCurrentPopup()
binder_name.v, text_binder.v = '', ''
end
end
imgui.EndChild()
imgui.EndPopup()
end
imgui.End()
end
if windowleader.v then
imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Лидеры в сети', windowleader, imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar)
if list[1] ~= nil then
imgui.SetCursorPosX(40)
imgui.Text(u8'Организация')
imgui.SameLine()
imgui.SetCursorPosX(185)
imgui.Text(u8'Звание')
imgui.SameLine()
imgui.SetCursorPosX(340)
imgui.Text(u8'Ник')
imgui.SameLine()
imgui.SetCursorPosX(450)
imgui.Text(u8'Номер')
imgui.Separator()
imgui.Separator()
for i = 1, #list do
local a,b,c,e,f = list[i]:match("[}](.+)[-](.+)[-](.+)[-](.+)")
imgui.SetCursorPosX(10)
if imgui.Text(u8(a)) then end
imgui.Columns()
imgui.SameLine()
imgui.SetCursorPosX(145)
imgui.VerticalSeparator()
imgui.SetCursorPosX(150)
imgui.Text(u8(b))
imgui.SameLine()
imgui.SetCursorPosX(275)
imgui.VerticalSeparator()
imgui.SetCursorPosX(280)
imgui.Text(u8(c))
imgui.SameLine()
imgui.SetCursorPosX(445)
imgui.VerticalSeparator()
imgui.SetCursorPosX(450)
if imgui.Link(u8(e)) then
setClipboardText(u8(e))
end
end
end
imgui.End()
end
if statisticwindowhight.v then
local resX, resY = getScreenResolution()
local sizeX, sizeY = 500, 700 -- WINDOW SIZE
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
imgui.Begin('##huyna', statisticwindowhight, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
imgui.End()
end
end
function imgui.CenterTextColoredRGB(text)
local width = imgui.GetWindowWidth()
local style = imgui.GetStyle()
local colors = style.Colors
local ImVec4 = imgui.ImVec4
local explode_argb = function(argb)
local a = bit.band(bit.rshift(argb, 24), 0xFF)
local r = bit.band(bit.rshift(argb, 16), 0xFF)
local g = bit.band(bit.rshift(argb, 8), 0xFF)
local b = bit.band(argb, 0xFF)
return a, r, g, b
end
local getcolor = function(color)
if color:sub(1, 6):upper() == 'SSSSSS' then
local r, g, b = colors[1].x, colors[1].y, colors[1].z
local a = tonumber(color:sub(7, 8), 16) or colors[1].w * 255
return ImVec4(r, g, b, a / 255)
end
local color = type(color) == 'string' and tonumber(color, 16) or color
if type(color) ~= 'number' then return end
local r, g, b, a = explode_argb(color)
return imgui.ImColor(r, g, b, a):GetVec4()
end
local render_text = function(text_)
for w in text_:gmatch('[^\r\n]+') do
local textsize = w:gsub('{.-}', '')
local text_width = imgui.CalcTextSize(u8(textsize))
imgui.SetCursorPosX( width / 2 - text_width .x / 2 )
local text, colors_, m = {}, {}, 1
w = w:gsub('{(......)}', '{%1FF}')
while w:find('{........}') do
local n, k = w:find('{........}')
local color = getcolor(w:sub(n + 1, k - 1))
if color then
text[#text], text[#text + 1] = w:sub(m, n - 1), w:sub(k + 1, #w)
colors_[#colors_ + 1] = color
m = n
end
w = w:sub(1, n - 1) .. w:sub(k + 1, #w)
end
if text[0] then
for i = 0, #text do
imgui.TextColored(colors_[i] or colors[1], u8(text[i]))
imgui.SameLine(nil, 0)
end
imgui.NewLine()
else
imgui.Text(u8(w))
end
end
end
render_text(text)
end
function imgui.CenterText(text)
imgui.SetCursorPosX(imgui.GetWindowSize().x / 2 - imgui.CalcTextSize(text).x / 2)
imgui.Text(text)
end
function onWindowMessage(msg, wparam, lparam)
if msg == 0x100 or msg == 0x101 then
if (wparam == keys.VK_ESCAPE and windowleader.v) and not isPauseMenuActive() then
consumeWindowMessage(true, false)
if msg == 0x101 then
windowleader.v = false
end
end
end
end
function imgui.VerticalSeparator()
local p = imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y), imgui.ImVec2(p.x, p.y + imgui.GetContentRegionMax().y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.Separator]))
end
function imgui.Link(label, description)
local size = imgui.CalcTextSize(label)
local p = imgui.GetCursorScreenPos()
local p2 = imgui.GetCursorPos()
local result = imgui.InvisibleButton(label, size)
imgui.SetCursorPos(p2)
if imgui.IsItemHovered() then
if description then
imgui.BeginTooltip()
imgui.PushTextWrapPos(600)
imgui.TextUnformatted(description)
imgui.PopTextWrapPos()
imgui.EndTooltip()
end
imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label)
imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y + size.y), imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.CheckMark]))
else
imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label)
end
return result
end
function imgui.Tooltip(text)
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.Text(text)
imgui.EndTooltip()
end
end
function GHsms(text)
sampAddChatMessage("{ADFF2F}[Onfroy Family Helper] {FFFFFF}"..text, 0xADFF2F)
end
function sampev.onShowDialog(id, style, title, button1, button2, text)
if title:find("Лидеры в сети") then
list = {}
for v in string.gmatch(text, '[^\n]+') do
if not v:find("Организация") then
table.insert(list, v)
end
end
sampSendDialogResponse(id, 1)
windowleader.v = true
return false
end
end
local fa_font = nil
local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range })
function imgui.BeforeDrawFrame()
if fa_font == nil then
local font_config = imgui.ImFontConfig()
font_config.MergeMode = true
fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges)
if fontsize == nil then
fontsizefa25 = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 25.0, font_config2, fa_glyph_ranges)
fontsize = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 55.0, nil, imgui.GetIO().Fonts:GetGlyphRangesCyrillic()) -- вместо 30 любой нужный размер
end
end
end
if not doesFileExist(getWorkingDirectory()..'/config/Medical Helper.ini') then
if inicfg.save(cfg, 'Medical Helper.ini') then log('Директория "Medical Helper.ini" была создана!') end
end
if not doesFileExist(getWorkingDirectory() .. "/resource/fonts/fa-solid-900.ttf") then
GHsms("Отсутствует файл шрифта fa-solid-900.ttf. Пытаюсь его установить.")
createDirectory(getWorkingDirectory() .. "/resource/fonts/")
DownloadFile('https://github.com/FortAwesome/Font-Awesome/raw/master/webfonts/fa-solid-900.ttf', getWorkingDirectory().."/resource/fonts/fa-solid-900.ttf")
GHsms('Шрифт "fa-solid-900.ttf" готов! Перезапускаю скрипт.')
thisScript():reload()
return false
end
function localtag()
if imgui.BeginPopupModal(u8'Локальные тэги', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then
imgui.CenterTextColoredRGB('Тэги:')
--
if imgui.Button('{my:name}') then setClipboardText('{my:name}'); GHsms('Тэг "{my:name}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваше имя в РП формате')
--
if imgui.Button('{my:id}') then setClipboardText('{my:id}'); GHsms('Тэг "{my:id}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваш Ид')
--
if imgui.Button('{my:rank}') then setClipboardText('{my:rank}'); GHsms('Тэг "{my:rank}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Вашу должность')
--
if imgui.Button('{time}') then setClipboardText('{time}'); GHsms('Тэг "{time}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере использовать на новой строчке!') end; imgui.SameLine(); imgui.TextColoredRGB('Напишет "/time" в чат')
--
if imgui.Button('{screen}') then setClipboardText('{screen}'); GHsms('Тэг "{screen}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере советую использовать в строчке с текстом, иначе будет пустая строка в чате!') end; imgui.SameLine(); imgui.TextColoredRGB('Делает скриншот экрана (F8)')
--
if imgui.Button(u8'Закрыть##LocalTag', imgui.ImVec2(-1,20)) then
imgui.CloseCurrentPopup()
end
imgui.EndPopup()
end
end
function play_bind(num)
lua_thread.create(function()
if num ~= -1 then
for bp in cfg.Binds_Action[num]:gmatch('[^~]+') do
sampSendChat(u8:decode(tostring(bp)))
wait(cfg.Binds_Deleay[num])
end
num = -1
end
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 = 6.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()
потому что ты не установил шрифты и ресурссмотри. вот из-за добавления биндера с хелпера от Rice'a. начались краши.
Lua:local imgui = require('imgui') local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local sampev = require 'lib.samp.events' local keys = require 'vkeys' local list = {} local inicfg = require 'inicfg' local fontsize = nil local menu = 0 local slider = imgui.ImFloat(0) local fa = require 'fAwesome5' -- ICONS LIST: https://fontawesome.com/v5.15/icons?d=gallery&s=solid&m=free local localwindow = imgui.ImBool(false) local windowleader = imgui.ImBool(false) local newfindwindow = imgui.ImBool(false) local statisticwindowlite = imgui.ImBool(false) local statisticwindowhight = imgui.ImBool(false) local binder_delay = imgui.ImInt(2500) local text_binder = imgui.ImBuffer(65536) local binder_name = imgui.ImBuffer(35) local colors = imgui.GetStyle().Colors; local icol = imgui.Col local ImVec4 = imgui.ImVec4 local cfg = inicfg.load({ Settings = { FirstSettings = false, rank = 'Охранник', rankAndNumber = '1', RP = true, waitRP = 2.5, sex = 1, aupdate = true }, Pos = { x = 707, y = 935 }, Binds_Name = {}, Binds_Action = {}, Binds_Deleay = {} }, "Onfroy Family Helper") function main() while not isSampAvailable() do wait(200) end sampRegisterChatCommand('opw', openmainwindow) sampRegisterChatCommand('leaders', function() sampSendChat("/leaders") ; windowleader.v = not windowleader.v end) sampRegisterChatCommand('stats', function() statisticwindowhight.v = not statisticwindowhight.v end) imgui.Process = false localwindow.v = false windowleader.v = false --show window on start while true do wait(0) imgui.Process = localwindow.v or windowleader.v or statisticwindowhight.v end end function openmainwindow() localwindow.v = not localwindow.v end function imgui.OnDrawFrame() if localwindow.v then local resX, resY = getScreenResolution() local sizeX, sizeY = 700, 500 -- WINDOW SIZE imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver) imgui.Begin('Window Title', localwindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize) imgui.SetCursorPosX(70) imgui.SetCursorPosY(450) imgui.PushFont(fontsizefa25) imgui.Text(fa.ICON_FA_QUESTION_CIRCLE ..'') imgui.PopFont() imgui.Tooltip(u8'Актуальная версия скрипта 0.1') imgui.SetCursorPosX(240) imgui.SetCursorPosY(5) imgui.PushFont(fontsize) imgui.Text('ONFROY HELPER') imgui.PopFont() imgui.SetCursorPosY(10) imgui.SetCursorPosX(650) if imgui.Button(fa.ICON_FA_TIMES ..'', imgui.ImVec2(40, 40)) then localwindow.v = not localwindow.v end imgui.SetCursorPosY(10) imgui.PushStyleVar(imgui.StyleVar.FrameRounding, 5) imgui.SetCursorPosY(10) if imgui.Button(u8"Основные", imgui.ImVec2(180, 40)) then menu = 1 end imgui.SetCursorPosY(60) if imgui.Button(u8"Другое", imgui.ImVec2(180, 40)) then menu = 2 end imgui.SetCursorPosY(110) if imgui.Button(u8"Улучшения", imgui.ImVec2(180, 40)) then menu = 3 end imgui.SetCursorPosY(160) if imgui.Button(u8"Биндер", imgui.ImVec2(180, 40)) then menu = 4 end imgui.PopStyleVar(1) imgui.SameLine() if menu == 0 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.CenterText(u8"Добро пожаловать на открытое бета-тестирование хелпера от семьи Onfroy!") imgui.Text(u8" Мы играем на проекте Online RP 02, приглашаем вас к себе на второй сервер\n При регестрации указывай ник Handerson_Onfroy, а так же /mn - 11 - #onfroy") imgui.EndChild() end imgui.SameLine() if menu == 1 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("1") imgui.EndChild() end imgui.SameLine() if menu == 2 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("2") imgui.EndChild() end imgui.SameLine() if menu == 3 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("3") imgui.EndChild() end imgui.SameLine() if menu == 4 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.CenterTextColoredRGB('Меню пользовательских биндов') imgui.Separator() if #cfg.Binds_Name > 0 then for key_bind, name_bind in pairs(cfg.Binds_Name) do if imgui.Button(u8(name_bind)..'##'..key_bind, imgui.ImVec2(312, 30)) then play_bind(key_bind) window.v = false end imgui.SameLine() if imgui.Button(fa.ICON_FA_PEN..'##'..key_bind, imgui.ImVec2(30, 30)) then EditOldBind = true name_old_bild = cfg.Binds_Name[key_bind] getpos = key_bind binder_delay.v = cfg.Binds_Deleay[key_bind] local returnwrapped = tostring(cfg.Binds_Action[key_bind]):gsub('~', '\n') text_binder.v = u8(returnwrapped) binder_name.v = tostring(u8(cfg.Binds_Name[key_bind])) imgui.OpenPopup(u8'Биндер') end imgui.SameLine() if imgui.Button(fa.ICON_FA_TRASH..'##'..key_bind, imgui.ImVec2(30, 30)) then GHsms('Бинд {ADFF2F}«'..cfg.Binds_Name[key_bind]..'»{FFFFFF} удалён!') table.remove(cfg.Binds_Name, key_bind) table.remove(cfg.Binds_Action, key_bind) table.remove(cfg.Binds_Deleay, key_bind) inicfg.save(cfg, 'Government Helper.ini') end end else imgui.CenterTextColoredRGB('Здесь пока нету Ваших биндов.') imgui.CenterTextColoredRGB('Их можно создать!') imgui.SetCursorPosX((imgui.GetWindowWidth() - 25) / 2) imgui.PushFont(fontsize50) imgui.Text(fa.ICON_FA_CHILD) imgui.PopFont() end imgui.Separator() if imgui.Button(fa.ICON_FA_PLUS_CIRCLE..u8' Создать бинд', imgui.ImVec2(-1,30)) then imgui.OpenPopup(u8'Биндер') binder_delay.v = 2500 end end if imgui.BeginPopupModal(u8'Биндер', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then imgui.BeginChild("##EditBinder", imgui.ImVec2(600, 337), true) imgui.PushItemWidth(150) imgui.InputInt(u8("Задержка между строками в миллисекундах"), binder_delay); imgui.SameLine(); imgui.Vopros(); imgui.Hint(u8'Не больше 60.000 ms!\n(1 sec = 1000 ms)') imgui.PopItemWidth() if binder_delay.v <= 0 then binder_delay.v = 1 elseif binder_delay.v >= 60001 then binder_delay.v = 60000 end imgui.SameLine() if imgui.Button(u8'Локальные тэги##LocalTag', imgui.ImVec2(140,20)) then imgui.OpenPopup(u8'Локальные тэги') end localtag() imgui.InputTextMultiline("##EditMultiline", text_binder, imgui.ImVec2(-1, 250)) imgui.Text(u8'Название бинда (обязательно):'); imgui.SameLine() imgui.PushItemWidth(200) imgui.InputText("##binder_name", binder_name) imgui.PopItemWidth() if #binder_name.v > 0 and #text_binder.v > 0 then imgui.SameLine() if imgui.Button(u8'Сохранить##bind1', imgui.ImVec2(-1,20)) then if not EditOldBind then refresh_text = text_binder.v:gsub("\n", "~") table.insert(cfg.Binds_Name, u8:decode(binder_name.v)) table.insert(cfg.Binds_Action, u8:decode(refresh_text)) table.insert(cfg.Binds_Deleay, binder_delay.v) if inicfg.save(cfg, 'Government Helper.ini') then GHsms('Бинд {ADFF2F}«'..u8:decode(binder_name.v)..'»{FFFFFF} успешно добавлен!') binder_name.v, text_binder.v = '', '' end imgui.CloseCurrentPopup() else refresh_text = text_binder.v:gsub("\n", "~") table.insert(cfg.Binds_Name, getpos, u8:decode(binder_name.v)) table.insert(cfg.Binds_Action, getpos, u8:decode(refresh_text)) table.insert(cfg.Binds_Deleay, getpos, binder_delay.v) table.remove(cfg.Binds_Name, getpos + 1) table.remove(cfg.Binds_Action, getpos + 1) table.remove(cfg.Binds_Deleay, getpos + 1) if inicfg.save(cfg, 'Government Helper.ini') then GHsms('Бинд {ADFF2F}«'..name_old_bild..'»{FFFFFF} успешно отредактирован!') binder_name.v, text_binder.v = '', '' end EditOldBind = false imgui.CloseCurrentPopup() end end else imgui.SameLine() imgui.DisableButton(u8'Сохранить##bind2', imgui.ImVec2(-1,20)) imgui.Hint(u8'Заполнены не все пункты!') end if imgui.Button(u8'Закрыть', imgui.ImVec2(-1,20)) then if not EditOldBind then imgui.CloseCurrentPopup() binder_name.v, text_binder.v = '', '' else EditOldBind = false imgui.CloseCurrentPopup() binder_name.v, text_binder.v = '', '' end end imgui.EndChild() imgui.EndPopup() end imgui.End() end if windowleader.v then imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver) imgui.Begin(u8'Лидеры в сети', windowleader, imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) if list[1] ~= nil then imgui.SetCursorPosX(40) imgui.Text(u8'Организация') imgui.SameLine() imgui.SetCursorPosX(185) imgui.Text(u8'Звание') imgui.SameLine() imgui.SetCursorPosX(340) imgui.Text(u8'Ник') imgui.SameLine() imgui.SetCursorPosX(450) imgui.Text(u8'Номер') imgui.Separator() imgui.Separator() for i = 1, #list do local a,b,c,e,f = list[i]:match("[}](.+)[-](.+)[-](.+)[-](.+)") imgui.SetCursorPosX(10) if imgui.Text(u8(a)) then end imgui.Columns() imgui.SameLine() imgui.SetCursorPosX(145) imgui.VerticalSeparator() imgui.SetCursorPosX(150) imgui.Text(u8(b)) imgui.SameLine() imgui.SetCursorPosX(275) imgui.VerticalSeparator() imgui.SetCursorPosX(280) imgui.Text(u8(c)) imgui.SameLine() imgui.SetCursorPosX(445) imgui.VerticalSeparator() imgui.SetCursorPosX(450) if imgui.Link(u8(e)) then setClipboardText(u8(e)) end end end imgui.End() end if statisticwindowhight.v then local resX, resY = getScreenResolution() local sizeX, sizeY = 500, 700 -- WINDOW SIZE imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver) imgui.Begin('##huyna', statisticwindowhight, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize) imgui.End() end end function imgui.CenterTextColoredRGB(text) local width = imgui.GetWindowWidth() local style = imgui.GetStyle() local colors = style.Colors local ImVec4 = imgui.ImVec4 local explode_argb = function(argb) local a = bit.band(bit.rshift(argb, 24), 0xFF) local r = bit.band(bit.rshift(argb, 16), 0xFF) local g = bit.band(bit.rshift(argb, 8), 0xFF) local b = bit.band(argb, 0xFF) return a, r, g, b end local getcolor = function(color) if color:sub(1, 6):upper() == 'SSSSSS' then local r, g, b = colors[1].x, colors[1].y, colors[1].z local a = tonumber(color:sub(7, 8), 16) or colors[1].w * 255 return ImVec4(r, g, b, a / 255) end local color = type(color) == 'string' and tonumber(color, 16) or color if type(color) ~= 'number' then return end local r, g, b, a = explode_argb(color) return imgui.ImColor(r, g, b, a):GetVec4() end local render_text = function(text_) for w in text_:gmatch('[^\r\n]+') do local textsize = w:gsub('{.-}', '') local text_width = imgui.CalcTextSize(u8(textsize)) imgui.SetCursorPosX( width / 2 - text_width .x / 2 ) local text, colors_, m = {}, {}, 1 w = w:gsub('{(......)}', '{%1FF}') while w:find('{........}') do local n, k = w:find('{........}') local color = getcolor(w:sub(n + 1, k - 1)) if color then text[#text], text[#text + 1] = w:sub(m, n - 1), w:sub(k + 1, #w) colors_[#colors_ + 1] = color m = n end w = w:sub(1, n - 1) .. w:sub(k + 1, #w) end if text[0] then for i = 0, #text do imgui.TextColored(colors_[i] or colors[1], u8(text[i])) imgui.SameLine(nil, 0) end imgui.NewLine() else imgui.Text(u8(w)) end end end render_text(text) end function imgui.CenterText(text) imgui.SetCursorPosX(imgui.GetWindowSize().x / 2 - imgui.CalcTextSize(text).x / 2) imgui.Text(text) end function onWindowMessage(msg, wparam, lparam) if msg == 0x100 or msg == 0x101 then if (wparam == keys.VK_ESCAPE and windowleader.v) and not isPauseMenuActive() then consumeWindowMessage(true, false) if msg == 0x101 then windowleader.v = false end end end end function imgui.VerticalSeparator() local p = imgui.GetCursorScreenPos() imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y), imgui.ImVec2(p.x, p.y + imgui.GetContentRegionMax().y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.Separator])) end function imgui.Link(label, description) local size = imgui.CalcTextSize(label) local p = imgui.GetCursorScreenPos() local p2 = imgui.GetCursorPos() local result = imgui.InvisibleButton(label, size) imgui.SetCursorPos(p2) if imgui.IsItemHovered() then if description then imgui.BeginTooltip() imgui.PushTextWrapPos(600) imgui.TextUnformatted(description) imgui.PopTextWrapPos() imgui.EndTooltip() end imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label) imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y + size.y), imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.CheckMark])) else imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label) end return result end function imgui.Tooltip(text) if imgui.IsItemHovered() then imgui.BeginTooltip() imgui.Text(text) imgui.EndTooltip() end end function GHsms(text) sampAddChatMessage("{ADFF2F}[Onfroy Family Helper] {FFFFFF}"..text, 0xADFF2F) end function sampev.onShowDialog(id, style, title, button1, button2, text) if title:find("Лидеры в сети") then list = {} for v in string.gmatch(text, '[^\n]+') do if not v:find("Организация") then table.insert(list, v) end end sampSendDialogResponse(id, 1) windowleader.v = true return false end end local fa_font = nil local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range }) function imgui.BeforeDrawFrame() if fa_font == nil then local font_config = imgui.ImFontConfig() font_config.MergeMode = true fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges) if fontsize == nil then fontsizefa25 = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 25.0, font_config2, fa_glyph_ranges) fontsize = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 55.0, nil, imgui.GetIO().Fonts:GetGlyphRangesCyrillic()) -- вместо 30 любой нужный размер end end end if not doesFileExist(getWorkingDirectory()..'/config/Medical Helper.ini') then if inicfg.save(cfg, 'Medical Helper.ini') then log('Директория "Medical Helper.ini" была создана!') end end if not doesFileExist(getWorkingDirectory() .. "/resource/fonts/fa-solid-900.ttf") then GHsms("Отсутствует файл шрифта fa-solid-900.ttf. Пытаюсь его установить.") createDirectory(getWorkingDirectory() .. "/resource/fonts/") DownloadFile('https://github.com/FortAwesome/Font-Awesome/raw/master/webfonts/fa-solid-900.ttf', getWorkingDirectory().."/resource/fonts/fa-solid-900.ttf") GHsms('Шрифт "fa-solid-900.ttf" готов! Перезапускаю скрипт.') thisScript():reload() return false end function localtag() if imgui.BeginPopupModal(u8'Локальные тэги', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then imgui.CenterTextColoredRGB('Тэги:') -- if imgui.Button('{my:name}') then setClipboardText('{my:name}'); GHsms('Тэг "{my:name}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваше имя в РП формате') -- if imgui.Button('{my:id}') then setClipboardText('{my:id}'); GHsms('Тэг "{my:id}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваш Ид') -- if imgui.Button('{my:rank}') then setClipboardText('{my:rank}'); GHsms('Тэг "{my:rank}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Вашу должность') -- if imgui.Button('{time}') then setClipboardText('{time}'); GHsms('Тэг "{time}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере использовать на новой строчке!') end; imgui.SameLine(); imgui.TextColoredRGB('Напишет "/time" в чат') -- if imgui.Button('{screen}') then setClipboardText('{screen}'); GHsms('Тэг "{screen}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере советую использовать в строчке с текстом, иначе будет пустая строка в чате!') end; imgui.SameLine(); imgui.TextColoredRGB('Делает скриншот экрана (F8)') -- if imgui.Button(u8'Закрыть##LocalTag', imgui.ImVec2(-1,20)) then imgui.CloseCurrentPopup() end imgui.EndPopup() end end function play_bind(num) lua_thread.create(function() if num ~= -1 then for bp in cfg.Binds_Action[num]:gmatch('[^~]+') do sampSendChat(u8:decode(tostring(bp))) wait(cfg.Binds_Deleay[num]) end num = -1 end 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 = 6.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()
смотри. вот из-за добавления биндера с хелпера от Rice'a. начались краши.
Lua:local imgui = require('imgui') local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local sampev = require 'lib.samp.events' local keys = require 'vkeys' local list = {} local inicfg = require 'inicfg' local fontsize = nil local menu = 0 local slider = imgui.ImFloat(0) local fa = require 'fAwesome5' -- ICONS LIST: https://fontawesome.com/v5.15/icons?d=gallery&s=solid&m=free local localwindow = imgui.ImBool(false) local windowleader = imgui.ImBool(false) local newfindwindow = imgui.ImBool(false) local statisticwindowlite = imgui.ImBool(false) local statisticwindowhight = imgui.ImBool(false) local binder_delay = imgui.ImInt(2500) local text_binder = imgui.ImBuffer(65536) local binder_name = imgui.ImBuffer(35) local colors = imgui.GetStyle().Colors; local icol = imgui.Col local ImVec4 = imgui.ImVec4 local cfg = inicfg.load({ Settings = { FirstSettings = false, rank = 'Охранник', rankAndNumber = '1', RP = true, waitRP = 2.5, sex = 1, aupdate = true }, Pos = { x = 707, y = 935 }, Binds_Name = {}, Binds_Action = {}, Binds_Deleay = {} }, "Onfroy Family Helper") function main() while not isSampAvailable() do wait(200) end sampRegisterChatCommand('opw', openmainwindow) sampRegisterChatCommand('leaders', function() sampSendChat("/leaders") ; windowleader.v = not windowleader.v end) sampRegisterChatCommand('stats', function() statisticwindowhight.v = not statisticwindowhight.v end) imgui.Process = false localwindow.v = false windowleader.v = false --show window on start while true do wait(0) imgui.Process = localwindow.v or windowleader.v or statisticwindowhight.v end end function openmainwindow() localwindow.v = not localwindow.v end function imgui.OnDrawFrame() if localwindow.v then local resX, resY = getScreenResolution() local sizeX, sizeY = 700, 500 -- WINDOW SIZE imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver) imgui.Begin('Window Title', localwindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize) imgui.SetCursorPosX(70) imgui.SetCursorPosY(450) imgui.PushFont(fontsizefa25) imgui.Text(fa.ICON_FA_QUESTION_CIRCLE ..'') imgui.PopFont() imgui.Tooltip(u8'Актуальная версия скрипта 0.1') imgui.SetCursorPosX(240) imgui.SetCursorPosY(5) imgui.PushFont(fontsize) imgui.Text('ONFROY HELPER') imgui.PopFont() imgui.SetCursorPosY(10) imgui.SetCursorPosX(650) if imgui.Button(fa.ICON_FA_TIMES ..'', imgui.ImVec2(40, 40)) then localwindow.v = not localwindow.v end imgui.SetCursorPosY(10) imgui.PushStyleVar(imgui.StyleVar.FrameRounding, 5) imgui.SetCursorPosY(10) if imgui.Button(u8"Основные", imgui.ImVec2(180, 40)) then menu = 1 end imgui.SetCursorPosY(60) if imgui.Button(u8"Другое", imgui.ImVec2(180, 40)) then menu = 2 end imgui.SetCursorPosY(110) if imgui.Button(u8"Улучшения", imgui.ImVec2(180, 40)) then menu = 3 end imgui.SetCursorPosY(160) if imgui.Button(u8"Биндер", imgui.ImVec2(180, 40)) then menu = 4 end imgui.PopStyleVar(1) imgui.SameLine() if menu == 0 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.CenterText(u8"Добро пожаловать на открытое бета-тестирование хелпера от семьи Onfroy!") imgui.Text(u8" Мы играем на проекте Online RP 02, приглашаем вас к себе на второй сервер\n При регестрации указывай ник Handerson_Onfroy, а так же /mn - 11 - #onfroy") imgui.EndChild() end imgui.SameLine() if menu == 1 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("1") imgui.EndChild() end imgui.SameLine() if menu == 2 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("2") imgui.EndChild() end imgui.SameLine() if menu == 3 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.Text("3") imgui.EndChild() end imgui.SameLine() if menu == 4 then imgui.SetCursorPosY(60) imgui.BeginChild("child2", imgui.ImVec2(480, 430), false) imgui.CenterTextColoredRGB('Меню пользовательских биндов') imgui.Separator() if #cfg.Binds_Name > 0 then for key_bind, name_bind in pairs(cfg.Binds_Name) do if imgui.Button(u8(name_bind)..'##'..key_bind, imgui.ImVec2(312, 30)) then play_bind(key_bind) window.v = false end imgui.SameLine() if imgui.Button(fa.ICON_FA_PEN..'##'..key_bind, imgui.ImVec2(30, 30)) then EditOldBind = true name_old_bild = cfg.Binds_Name[key_bind] getpos = key_bind binder_delay.v = cfg.Binds_Deleay[key_bind] local returnwrapped = tostring(cfg.Binds_Action[key_bind]):gsub('~', '\n') text_binder.v = u8(returnwrapped) binder_name.v = tostring(u8(cfg.Binds_Name[key_bind])) imgui.OpenPopup(u8'Биндер') end imgui.SameLine() if imgui.Button(fa.ICON_FA_TRASH..'##'..key_bind, imgui.ImVec2(30, 30)) then GHsms('Бинд {ADFF2F}«'..cfg.Binds_Name[key_bind]..'»{FFFFFF} удалён!') table.remove(cfg.Binds_Name, key_bind) table.remove(cfg.Binds_Action, key_bind) table.remove(cfg.Binds_Deleay, key_bind) inicfg.save(cfg, 'Government Helper.ini') end end else imgui.CenterTextColoredRGB('Здесь пока нету Ваших биндов.') imgui.CenterTextColoredRGB('Их можно создать!') imgui.SetCursorPosX((imgui.GetWindowWidth() - 25) / 2) imgui.PushFont(fontsize50) imgui.Text(fa.ICON_FA_CHILD) imgui.PopFont() end imgui.Separator() if imgui.Button(fa.ICON_FA_PLUS_CIRCLE..u8' Создать бинд', imgui.ImVec2(-1,30)) then imgui.OpenPopup(u8'Биндер') binder_delay.v = 2500 end end if imgui.BeginPopupModal(u8'Биндер', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then imgui.BeginChild("##EditBinder", imgui.ImVec2(600, 337), true) imgui.PushItemWidth(150) imgui.InputInt(u8("Задержка между строками в миллисекундах"), binder_delay); imgui.SameLine(); imgui.Vopros(); imgui.Hint(u8'Не больше 60.000 ms!\n(1 sec = 1000 ms)') imgui.PopItemWidth() if binder_delay.v <= 0 then binder_delay.v = 1 elseif binder_delay.v >= 60001 then binder_delay.v = 60000 end imgui.SameLine() if imgui.Button(u8'Локальные тэги##LocalTag', imgui.ImVec2(140,20)) then imgui.OpenPopup(u8'Локальные тэги') end localtag() imgui.InputTextMultiline("##EditMultiline", text_binder, imgui.ImVec2(-1, 250)) imgui.Text(u8'Название бинда (обязательно):'); imgui.SameLine() imgui.PushItemWidth(200) imgui.InputText("##binder_name", binder_name) imgui.PopItemWidth() if #binder_name.v > 0 and #text_binder.v > 0 then imgui.SameLine() if imgui.Button(u8'Сохранить##bind1', imgui.ImVec2(-1,20)) then if not EditOldBind then refresh_text = text_binder.v:gsub("\n", "~") table.insert(cfg.Binds_Name, u8:decode(binder_name.v)) table.insert(cfg.Binds_Action, u8:decode(refresh_text)) table.insert(cfg.Binds_Deleay, binder_delay.v) if inicfg.save(cfg, 'Government Helper.ini') then GHsms('Бинд {ADFF2F}«'..u8:decode(binder_name.v)..'»{FFFFFF} успешно добавлен!') binder_name.v, text_binder.v = '', '' end imgui.CloseCurrentPopup() else refresh_text = text_binder.v:gsub("\n", "~") table.insert(cfg.Binds_Name, getpos, u8:decode(binder_name.v)) table.insert(cfg.Binds_Action, getpos, u8:decode(refresh_text)) table.insert(cfg.Binds_Deleay, getpos, binder_delay.v) table.remove(cfg.Binds_Name, getpos + 1) table.remove(cfg.Binds_Action, getpos + 1) table.remove(cfg.Binds_Deleay, getpos + 1) if inicfg.save(cfg, 'Government Helper.ini') then GHsms('Бинд {ADFF2F}«'..name_old_bild..'»{FFFFFF} успешно отредактирован!') binder_name.v, text_binder.v = '', '' end EditOldBind = false imgui.CloseCurrentPopup() end end else imgui.SameLine() imgui.DisableButton(u8'Сохранить##bind2', imgui.ImVec2(-1,20)) imgui.Hint(u8'Заполнены не все пункты!') end if imgui.Button(u8'Закрыть', imgui.ImVec2(-1,20)) then if not EditOldBind then imgui.CloseCurrentPopup() binder_name.v, text_binder.v = '', '' else EditOldBind = false imgui.CloseCurrentPopup() binder_name.v, text_binder.v = '', '' end end imgui.EndChild() imgui.EndPopup() end imgui.End() end if windowleader.v then imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver) imgui.Begin(u8'Лидеры в сети', windowleader, imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) if list[1] ~= nil then imgui.SetCursorPosX(40) imgui.Text(u8'Организация') imgui.SameLine() imgui.SetCursorPosX(185) imgui.Text(u8'Звание') imgui.SameLine() imgui.SetCursorPosX(340) imgui.Text(u8'Ник') imgui.SameLine() imgui.SetCursorPosX(450) imgui.Text(u8'Номер') imgui.Separator() imgui.Separator() for i = 1, #list do local a,b,c,e,f = list[i]:match("[}](.+)[-](.+)[-](.+)[-](.+)") imgui.SetCursorPosX(10) if imgui.Text(u8(a)) then end imgui.Columns() imgui.SameLine() imgui.SetCursorPosX(145) imgui.VerticalSeparator() imgui.SetCursorPosX(150) imgui.Text(u8(b)) imgui.SameLine() imgui.SetCursorPosX(275) imgui.VerticalSeparator() imgui.SetCursorPosX(280) imgui.Text(u8(c)) imgui.SameLine() imgui.SetCursorPosX(445) imgui.VerticalSeparator() imgui.SetCursorPosX(450) if imgui.Link(u8(e)) then setClipboardText(u8(e)) end end end imgui.End() end if statisticwindowhight.v then local resX, resY = getScreenResolution() local sizeX, sizeY = 500, 700 -- WINDOW SIZE imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 2, resY / 2 - sizeY / 2), imgui.Cond.FirstUseEver) imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver) imgui.Begin('##huyna', statisticwindowhight, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize) imgui.End() end end function imgui.CenterTextColoredRGB(text) local width = imgui.GetWindowWidth() local style = imgui.GetStyle() local colors = style.Colors local ImVec4 = imgui.ImVec4 local explode_argb = function(argb) local a = bit.band(bit.rshift(argb, 24), 0xFF) local r = bit.band(bit.rshift(argb, 16), 0xFF) local g = bit.band(bit.rshift(argb, 8), 0xFF) local b = bit.band(argb, 0xFF) return a, r, g, b end local getcolor = function(color) if color:sub(1, 6):upper() == 'SSSSSS' then local r, g, b = colors[1].x, colors[1].y, colors[1].z local a = tonumber(color:sub(7, 8), 16) or colors[1].w * 255 return ImVec4(r, g, b, a / 255) end local color = type(color) == 'string' and tonumber(color, 16) or color if type(color) ~= 'number' then return end local r, g, b, a = explode_argb(color) return imgui.ImColor(r, g, b, a):GetVec4() end local render_text = function(text_) for w in text_:gmatch('[^\r\n]+') do local textsize = w:gsub('{.-}', '') local text_width = imgui.CalcTextSize(u8(textsize)) imgui.SetCursorPosX( width / 2 - text_width .x / 2 ) local text, colors_, m = {}, {}, 1 w = w:gsub('{(......)}', '{%1FF}') while w:find('{........}') do local n, k = w:find('{........}') local color = getcolor(w:sub(n + 1, k - 1)) if color then text[#text], text[#text + 1] = w:sub(m, n - 1), w:sub(k + 1, #w) colors_[#colors_ + 1] = color m = n end w = w:sub(1, n - 1) .. w:sub(k + 1, #w) end if text[0] then for i = 0, #text do imgui.TextColored(colors_[i] or colors[1], u8(text[i])) imgui.SameLine(nil, 0) end imgui.NewLine() else imgui.Text(u8(w)) end end end render_text(text) end function imgui.CenterText(text) imgui.SetCursorPosX(imgui.GetWindowSize().x / 2 - imgui.CalcTextSize(text).x / 2) imgui.Text(text) end function onWindowMessage(msg, wparam, lparam) if msg == 0x100 or msg == 0x101 then if (wparam == keys.VK_ESCAPE and windowleader.v) and not isPauseMenuActive() then consumeWindowMessage(true, false) if msg == 0x101 then windowleader.v = false end end end end function imgui.VerticalSeparator() local p = imgui.GetCursorScreenPos() imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y), imgui.ImVec2(p.x, p.y + imgui.GetContentRegionMax().y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.Separator])) end function imgui.Link(label, description) local size = imgui.CalcTextSize(label) local p = imgui.GetCursorScreenPos() local p2 = imgui.GetCursorPos() local result = imgui.InvisibleButton(label, size) imgui.SetCursorPos(p2) if imgui.IsItemHovered() then if description then imgui.BeginTooltip() imgui.PushTextWrapPos(600) imgui.TextUnformatted(description) imgui.PopTextWrapPos() imgui.EndTooltip() end imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label) imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x, p.y + size.y), imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32(imgui.GetStyle().Colors[imgui.Col.CheckMark])) else imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.CheckMark], label) end return result end function imgui.Tooltip(text) if imgui.IsItemHovered() then imgui.BeginTooltip() imgui.Text(text) imgui.EndTooltip() end end function GHsms(text) sampAddChatMessage("{ADFF2F}[Onfroy Family Helper] {FFFFFF}"..text, 0xADFF2F) end function sampev.onShowDialog(id, style, title, button1, button2, text) if title:find("Лидеры в сети") then list = {} for v in string.gmatch(text, '[^\n]+') do if not v:find("Организация") then table.insert(list, v) end end sampSendDialogResponse(id, 1) windowleader.v = true return false end end local fa_font = nil local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range }) function imgui.BeforeDrawFrame() if fa_font == nil then local font_config = imgui.ImFontConfig() font_config.MergeMode = true fa_font = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 13.0, font_config, fa_glyph_ranges) if fontsize == nil then fontsizefa25 = imgui.GetIO().Fonts:AddFontFromFileTTF('moonloader/resource/fonts/fa-solid-900.ttf', 25.0, font_config2, fa_glyph_ranges) fontsize = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', 55.0, nil, imgui.GetIO().Fonts:GetGlyphRangesCyrillic()) -- вместо 30 любой нужный размер end end end if not doesFileExist(getWorkingDirectory()..'/config/Medical Helper.ini') then if inicfg.save(cfg, 'Medical Helper.ini') then log('Директория "Medical Helper.ini" была создана!') end end if not doesFileExist(getWorkingDirectory() .. "/resource/fonts/fa-solid-900.ttf") then GHsms("Отсутствует файл шрифта fa-solid-900.ttf. Пытаюсь его установить.") createDirectory(getWorkingDirectory() .. "/resource/fonts/") DownloadFile('https://github.com/FortAwesome/Font-Awesome/raw/master/webfonts/fa-solid-900.ttf', getWorkingDirectory().."/resource/fonts/fa-solid-900.ttf") GHsms('Шрифт "fa-solid-900.ttf" готов! Перезапускаю скрипт.') thisScript():reload() return false end function localtag() if imgui.BeginPopupModal(u8'Локальные тэги', false, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then imgui.CenterTextColoredRGB('Тэги:') -- if imgui.Button('{my:name}') then setClipboardText('{my:name}'); GHsms('Тэг "{my:name}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваше имя в РП формате') -- if imgui.Button('{my:id}') then setClipboardText('{my:id}'); GHsms('Тэг "{my:id}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Ваш Ид') -- if imgui.Button('{my:rank}') then setClipboardText('{my:rank}'); GHsms('Тэг "{my:rank}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать') end; imgui.SameLine(); imgui.TextColoredRGB('Выведет Вашу должность') -- if imgui.Button('{time}') then setClipboardText('{time}'); GHsms('Тэг "{time}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере использовать на новой строчке!') end; imgui.SameLine(); imgui.TextColoredRGB('Напишет "/time" в чат') -- if imgui.Button('{screen}') then setClipboardText('{screen}'); GHsms('Тэг "{screen}" скопирован в буфер обмена!') else imgui.Hint(u8'Нажмите, чтобы скопировать.\nВ биндере советую использовать в строчке с текстом, иначе будет пустая строка в чате!') end; imgui.SameLine(); imgui.TextColoredRGB('Делает скриншот экрана (F8)') -- if imgui.Button(u8'Закрыть##LocalTag', imgui.ImVec2(-1,20)) then imgui.CloseCurrentPopup() end imgui.EndPopup() end end function play_bind(num) lua_thread.create(function() if num ~= -1 then for bp in cfg.Binds_Action[num]:gmatch('[^~]+') do sampSendChat(u8:decode(tostring(bp))) wait(cfg.Binds_Deleay[num]) end num = -1 end 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 = 6.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()
а если точнее?потому что ты не установил шрифты и ресурс
так у меня всве либы стоят по сутиИнформация - Гайд - Установщик библиотек moonloader
Кому также как мне лень устанавливать библиотеки по одному Сделал файлик который будет скачивать вам все библиотеки Скачать Думаю оно имеет место тут быть, ибо есть люди которые не разбираются в этом вообщеwww.blast.hk
Куда уж точнее, у тебя не установлена папка resource и шрифтыа если точнее
Куда уж точнее, у тебя не установлена папка resource и шрифты
А fawesome 4,5?