Пытался сделать 3-е окно имгуи, не получилось, хелп плиз

William_Roses

Активный
Автор темы
260
26
Вставьте плиз 3-е окно имгуи в код, пытался, не получилось
Admin Tools:
script_name ("ATmaze") -- название скрипта
script_author ("K.San") -- автор скрипта

require "lib.moonloader" -- подключение библиотеки
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local samp = require 'lib.samp.events'
local text_buffer = imgui.ImBuffer(256)
local tag = "[Admin Tools]: " -- тэг
local main_color = 0x5A90CE
local second_color = 0x518fd1
local main_color_text = "[5A90CE]"
local white_color = "[FFFFFF]"
local color_dialog = 0xDEB887
local dialogArr = {"Начинаю работать по вашей ЖБ", "Попытаться помочь", "Слежу за нарушителем", "Передать репорт"}
local dialogStr = ""

local main_window_state = imgui.ImBool(false)
local secondary_window_state = imgui.ImBool(false)

function ClearChat()
    local memory = require "memory"
    memory.fill(sampGetChatInfoPtr() + 306, 0x0, 25200)
    memory.write(sampGetChatInfoPtr() + 306, 25562, 4, 0x0)
    memory.write(sampGetChatInfoPtr() + 0x63DA, 1, 1)
end

for _, str in ipairs(dialogArr) do
    dialogStr = dialogStr .. str .. "\n"
end

local reasons = {'ban', 'kick', 'mute', 'sban', "slap", "warn", "offwarn", "offmute", "offban", "pm", "givegun", "sethp", "flip", "setsp", 'prison', 'jail', 'offprison', 'offjail'}

function main()
    while not  isSampAvailable() do wait(100) end
    _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
        blue()
    name = sampGetPlayerNickname(id)
    if name ~= "Kenshi_San" then
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        thisScript():unload()
    end
    sampRegisterChatCommand("mz", cmd_mz)
    sampRegisterChatCommand("commandsinmenumz192391239921939", cmd_test) -- НЕ вводить в чат :)

    imgui.Process = false


    sampRegisterChatCommand('pr', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, передал ваш репорт администратору!', id))
    end)
    sampRegisterChatCommand('sn', function(id)
        lua_thread.create(function()
        sampSendChat(string.format('/pm %s Уважаемый игрок, слежу за нарушителем!', id))
        wait(1000)
        sampShowDialog(51, "Авто-Слежка", "Введите ID нарушителя", "Следить", "Отмена", 1)
    end)
end)
    sampRegisterChatCommand('pmch', function(id)
        lua_thread.create(function()
        sampSendChat(string.format('/pm %s Уважаемый игрок, сейчас попытаюсь вам помочь!', id))
        wait(1150)
        sampSendChat(string.format('/re %s', id))
    end)
end)
    sampRegisterChatCommand('of', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, пожалуйста прекратите оффтопить! 1/2', id))
    end)
    sampRegisterChatCommand('of2', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Уважаемый игрок, пожалуйста, в следующий раз не оффтопьте! 2/2', id))
            wait(1200)
            sampSendChat(string.format('/mute %s 5 offtop', id))
        end)
    end)
    sampRegisterChatCommand('tb', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, ожидайте обзвона, вас оповестят в чате, без обзвона лидерку не выдаем!', id))
    end)
    sampRegisterChatCommand('npa', function(id)
    sampSendChat(string.format('/awarn %s Нарушение Правил Администрации', id))
    end)
    sampRegisterChatCommand('rput', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, сделайте это РП путем! Администратор не может вмешиваться в РП процесс!', id))
    end)
    sampRegisterChatCommand('nv', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, не выдаем!', id))
    end)
    sampRegisterChatCommand('cheat', function(id)
        sampSendChat(string.format('/warn %s Использование Чит-Программ', id))
    end)
    sampRegisterChatCommand('vcheat', function(id)
        sampSendChat(string.format('/ban %s 7 Вред.Читы', id))
    end)
    sampRegisterChatCommand('caps', function(id)
        sampSendChat(string.format('/mute %s 5 Caps Lock', id))
    end)
    sampRegisterChatCommand('osk', function(id)
        sampSendChat(string.format('/mute %s 10 Оск. Адм./Игроков', id))
    end)
    sampRegisterChatCommand('mat', function(id)
        sampSendChat(string.format('/mute %s 5 mat/mat in /rep', id))
    end)
    sampRegisterChatCommand('mq', function(id)
        sampSendChat(string.format('/ban %s 7 Упом. Родни', id))
    end)
    sampRegisterChatCommand('3', function(id)
        sampSendChat(string.format('/banan %s Слив/Реклама', id))
    end)
    sampRegisterChatCommand('flood', function(id)
        sampSendChat(string.format('/mute %s 5 flood', id))
    end)
    sampRegisterChatCommand('relog', function(id)
        sampSendChat(string.format('/sban %s relog', id))
    end)
    sampRegisterChatCommand('k', function(id)
        sampSendChat(string.format('/vadgo %s ', id))
    end)
    sampRegisterChatCommand('kk', function(id)
        sampSendChat(string.format('/evad %s relog', id))
    end)
    sampRegisterChatCommand('cop', function(id)
        sampSendChat(string.format('/prison %s 5 Cop in Ghetto', id))
    end)
    sampRegisterChatCommand('afjb', function(id)
        sampSendChat(string.format('/awarn %s 5 Жалоба на Форуме', id))
    end)
    sampRegisterChatCommand('kfjb', function(id)
        sampSendChat(string.format('/kban %s 10 Жалоба на Форуме', id))
    end)
    sampRegisterChatCommand('dm', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 DeathMatch', id))
            wait(1200)
            sampSendChat(string.format('/pm %s DM - Death Match, убийство игрока без причины. Вы были наказаны за DM.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('kb', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/kban %s 5 Некк. | Ложный ответ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вы получили бан команд за ложный/неккоректный ответ на репорт.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('aa', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Здравствуйте. Вы получили наказание за жалобу на форуме.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с нарушением, оставьте аппеляцию на модератора в разделе:', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Жалобы на Администрацию/Игроков/Лидеров > Отправить апелляцию на решение модератора: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('eva', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/kban %s 5 /evad | /vadgo', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вы получили бан команд за ошибки/мг, которые вы пропустили в /vad.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('db', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 DriveBy', id))
            wait(1200)
            sampSendChat(string.format('/pm %s DriveBy - убийство игрока автомобилем. Вы были наказаны за DB.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('tk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 Team Kill', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Team Kill - убийство игрока своей же фракции. Вы были наказаны за TK.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('forum', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/gethere %s', id))
            wait(2000)
            sampSendChat(string.format('/freeze %s', id))
            wait(1000)
            sampSendChat(string.format('Здравствуйте. Я Администратор Bloody_Night.', id))
            wait(1200)
            sampSendChat(string.format('Я обращаюсь к Вам по той причине, что на Вас поступила жалоба.', id))
            wait(1200)
            sampSendChat(string.format('Данная жалоба находиться в разделе: ', id))
            wait(1200)
            sampSendChat(string.format('Жалобы на Администрацию/Игроков/Лидеров > Отправить жалобу на Администратора ', id))
            wait(1200)
            sampSendChat(string.format('У Вас имеются доказательства на нарушения игрока? ', id))
            wait(1200)
            sampShowDialog(20, "Ожидайте ответа от игрока", "У игрока имеются доказательства?", "Имеются", "Не имеются", 0)
        end)
    end)
    sampRegisterChatCommand('sk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 Spawn Kill', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Spawn Kill - убийство игроков на точке спавна. Вы были наказаны за SK.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('mg', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/mute %s 1 MetaGaming', id))
            wait(1200)
            sampSendChat(string.format('/pm %s MetaGaming - Использование OOC ин-ции в IC чат. Вы были наказаны за MG.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('bb', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/makeadmin %s 1', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Поздравляю Вас. Вы получили права администратора 1 уровня.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Для того, чтобы авторизироваться в админке, введите /alogin и пароль!', id))
            wait(1000)
            sampSendChat(string.format('/pm %s Ваш ADM пароль будет сообщен через пару секунд. Приятного дня!', id))
        end)
    end)
    sampRegisterChatCommand('pmg', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, я Вам помог. Надеюсь Вы остались довольны. Приятного дня!', id))
        end)
    end)
    sampRegisterChatCommand('afk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, Вы подозреваетесь в AFK без ESC.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если вы тут, просьба написать "+" в чат!', id))
            wait(1200)
            sampSendChat(string.format('/pm %s В противном случае я буду вынужден Вас кикнуть!', id))
        end)
    end)
    sampRegisterChatCommand('nak2', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Жалобу на администратора вы можете оставить на нашем форуме - forum.maze-rp.ru.', id))
        end)
    end)
    sampRegisterChatCommand('admm', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Здравствуйте. На нашем проекте права администратора можно получить при:', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вводе команды /adm в игровой чат. Быть "Пиарщиком", отстоять лидерку, сотрудничать с проектом.', id))
        end)
    end)
    sampRegisterChatCommand('nrp', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, просьба сменить ваш NonRP nick на РП: Name_Surname! ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Это позволит Вам полноценно играть на нашем проекте...', id))
            wait(1200)
            sampSendChat(string.format('/pm %s ...А также успешно трудоустроиться в любую фракцию!', id))
        end)
    end)
    sampRegisterChatCommand('lid', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, чтобы получить лидерку, необходимо: ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Гетто: пройти обзвон. Мафия, Гос: оставить заявку на форуме, пройти обзвон!', id))
            wait(1200)
            sampSendChat(string.format('/pm %s ...А также успешно трудоустроиться в любую фракцию!', id))
        end)
    end)
    sampRegisterChatCommand('админка', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/agm', id))
            wait(1200)
            sampSendChat(string.format('/lammo', id))
            wait(1200)
            sampSendChat(string.format('/btrack', id))
            wait(1200)
            sampSendChat(string.format('/showmc', id))
            wait(1200)
            sampSendChat(string.format('/showbc', id))
            wait(1000)
            sampSendChat(string.format('/a [Статус] На данный момент свободен. Режим: ожидание!', id))
            wait(1200)
        end)
    end)
    sampRegisterChatCommand('amg', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/mute %s 1 MG || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('acheat', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/warn %s Cheats || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('avcheat', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/ban %s 7 Vred. Cheats || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('dma', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 DeathMatch || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('atk', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 TeamKill || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('ask', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 SpawnKill || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('amq', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/ban %s 7 Упом.Родни || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('aeva', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/kban %s 5 /evad | /vadgo || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('arelog', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/sban %s relog || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('adb', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 DriveBy || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('nak', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/pm %s Вы были наказаны по просьбе администратора ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('acop', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 5 Cop in Ghetto || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('nak1', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/pm %s Если вы не согласны с наказанием, пишите жалобу на ADM ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('st1', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/a [Статус] Неактивен. Начинаю работать по жалобе игрока [ ID: %s] Nick: ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('st2', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/a [Статус] Активен. Закончил работать по жалобе игрока [ ID: %s] Nick: ' .. adminname, idnar))
    end)




    sampRegisterChatCommand("mzr", cmd_mzr)
    sampRegisterChatCommand("mzd", cmd_mzd)
    sampRegisterChatCommand("mda", cmd_mda)
    sampRegisterChatCommand("update", cmd_update)
    sampRegisterChatCommand("pozdr", cmd_pozdr)

    wait(1)
    sampAddChatMessage(tag .. "{ff0505}Admin Tools by K.San | D.Kot запущен [V.2.1.2]", -1) -- сообщение в чат при заходе
    sampAddChatMessage(tag .. "{ff0505}Чтобы ознакомиться с функциями введите /mz", -1) -- тоже самое что и предыдущее
    sampAddChatMessage(tag .. "{ff0505}Данный скрипт создан для упрощения работы администрации. Плагиат запрещен!", -1) -- тоже самое что и предыдущее

    while true do
        wait(0)
                imgui.Process = main_window_state.v or secondary_window_state.v
                if not main_window_state.v and not secondary_window_state.v then
                        imgui.Process = false
                end
        if isKeyJustPressed(VK_F5) then
            sampSendChat("/gotomark")
        end

        local result, button, list, input = sampHasDialogRespond(10) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampAddChatMessage("Приятной игры!", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(20) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("Тогда попрошу вас предоставить их на форум. Приятной игры!")
            else -- если нажата вторая кнопка (Закрыть)
                sampSendChat("Так как у вас нету доказательств, по правилам я обязан выдать вам наказание.")
            end
        end


        local result, button, list, input = sampHasDialogRespond(45) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampAddChatMessage("Приятной игры!", main_color)
            else -- если нажата вторая кнопка (Закрыть)
                sampSendChat("")
            end
        end


        local result, button, list, input = sampHasDialogRespond(11) -- /dialog1 (InputBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/a Занял /o")
                wait(1200)
                sampSendChat("/o [INFO] Уважаемые игроки нашего сервера, вся администрация поздравляет вас с " .. input, color_dialog)
                wait(1200)
                sampSendChat("/a Освободил /o")
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Приятной игры!", main_color)
            end
        end


        local result, button, list, input = sampHasDialogRespond(51) -- /dialog1 (InputBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/re " .. input)
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Приятной игры!", main_color)
            end
        end


        local result, button, list, input = sampHasDialogRespond(12) -- /dialog2 (ListBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampShowDialog(13, "Меню", "Введите ID Игрока", "Выбрать", "Закрыть", 1)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 12", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(13) -- /dialog3 (PasswordBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/pm " .. input, color_dialog)
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 13", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(14) -- /dialog4 (TabListBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 14", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(15) -- /dialog5 (TabListHeaderBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 15", color_dialog)
            end
        end

    end
end

function cmd_mz(arg)
  main_window_state.v = not main_window_state.v
end

function cmd_test(arg)
  secondary_window_state.v = not secondary_window_state.v
end

function samp.onServerMessage(color, text)
    if text:find("подозревается") then
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    end
end

function forma()
    if active_report then
        lua_thread.create(function()
            lasttime = os.time()
            lasttimes = 0
            time_out = 10
            while lasttimes < time_out do
                lasttimes = os.time() - lasttime
                wait(0)
                printStyledString("ADMIN FORM " .. time_out - lasttimes .. " WAIT", 1000, 4)
                if lasttimes == time_out then
                    active_report = false
                    printStyledString("Forma skipped", 1000, 4)
                end
            end
        end)
    else
        if isKeyJustPressed(VK_P) and not sampIsChatInputActive() and not sampIsDialogActive() then
            printStyledString('You can’t skip the form temporarily', 1000, 4)
        end
    end
end

function cmd_update(arg)
    if #arg == 0 then
        sampShowDialog(10, "Нововведения в обновлении 2.1.2", "Усовершенствована команда /forum\nКоманда /oskr была изменена на /mq\nКоманда /aoskr была изменена на /amq\nВид команды /mzr, /mzd, /mda был изменен\nБыл обновлен список команд в /mzr|/mzd|/mda\nДобавлена команда /pozdr, она поздравляет игроков с праздником, который вы ввели\nИсправлена ошибка в бинде INFO в /o\nДобавлена авто-слежка за игроком после команды /pmch\nДобавлена авто-слежка после команды /sn", "Закрыть", "", 0)
    end

end
function cmd_mzr(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список ответов на репорт:", "{5A90CE}/pr [ID] - написать игроку в /pm то что вы передали report администрации\n{5A90CE}/sn [ID] - написать игроку в /pm то что вы следите за нарушителем\n{5A90CE}pmch [ID] - написать игроку в /pm то что вы попытаетесь ему помочь\n{5A90CE}/of [ID] - написать игроку в /pm чтобы он не оффтопил 1/2\n{5A90CE}/of2 [ID] - написать игроку в /pm чтобы он не оффтопил 2/2, и то что он получает бан чата за офф топ\n{5A90CE}/tb [ID] - написать игроку в /pm то что можно встать на лидерку только по обзвону\n{5A90CE}/rput [ID] - написать игроку в /pm чтобы он сделал это РП путем\n{5A90CE}/nv [ID] - написать игроку в /pm то что не выдаем\n{5A90CE}/pmg [ID] - написать игроку в /pm то что вы ему помогли\n{5A90CE}/nak1 [ID игрока] [ID админа] - написать игроку в /pm то что если он не согласен с наказанием то пусть пишет жалобу на админа\n{5A90CE}/nak2 [ID] - написать игроку в /pm то что жалобу на администратора можно написать на форуме\n{5A90CE}/afk [ID] = написать игроку в /pm то что если он афк без esc, то вы будете вынуждены его кикнуть\n{5A90CE}/bb [ID] - назначить игрока админом 1 лвла и поздравить в /pm\n{5A90CE}/k [ID] - отправить vip объявление игрока\n{5A90CE}/kk [ID] - редактировать vip объявление игрока\n{5A90CE}/st1 [ID] [Тоже ID игрока] - написать в /a то что вы начали работать по жалобе игрока\n{5A90CE}/st2 [ID] [Тоже ID игрока] - написать в /a то что вы закончили работать по жалобе игрока\n{5A90CE}/lid [ID] - сказать игроку в /pm что нужно, чтобы встать на лидерку\n{5A90CE}/nrp [ID] - Написать просьбу в /pm, чтобы игрок сменил НОН рп ник\n{5A90CE}/админка - ввести все нужные команды после /alogin", "Закрыть", "", 0)
    end

end
function cmd_mzd(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список наказаний:", "{E3E630}/dm [ID] - посадить игрока за дм в prison\n{E3E630}/db [ID] - посадить игрока за дб в prison\n{E3E630}/tk [ID] - посадить игрока за тк в prison\n{E3E630}/sk [ID] - посадить игрока за ск в prison\n{C90303}/cheat [ID] - заварнить игрока за читы\n{C90303}/vcheat [ID} - забанить игрока за вред.читы на 7 дней\n{E3E630}/caps [ID] - замутить игрока за капс на 5 минут\n{E3E630}/osk [ID] - замутить игрока за оск на 10 минут\n{C90303}/mq [ID] - забанить игрока на 7 дней за упом. родни\n{E3E630}/flood [ID] - замутить игрока за флуд на 5 минут\n{E3E630}/cop [ID] - посадить игрока за копа в гетто в /prison\n{E3E630}/kb [ID] - выдать бан команд за ложный ответ в репорт\n{E3E630}/eva [ID] - выдать бан команд за ошибки в /vad\n{E3E630}/forum [ID] - тпешнуть игрока/администратора, зафризить, и сказать то что на него поступила Жалоба\n{E3E630}/kb [ID] - выдать /kban за некк./ложный ответ\n{E3E630}/kfjb [ID] - выдать /kban за жалобу на форуме\n{C90303}/afjb [ID] - выдать /awarn за жалобу на форуме\n{C90303}/relog [ID] - выдать /sban с причиной relog\n{C90303}/npa [ID] - Выдать /awarn с причиной Нарушение Правил Администрации", "Закрыть", "", 0)
    end

end
function cmd_mda(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список наказаний от лица другого админа:", "{C90303}/acheat [ID игрока] [ID админа] - выдать /warn за читы от лица другого админа\n{C90303}/avcheat [ID игрока] [ID админа] - выдать /ban за вред.читы от лица другого админа\n{E3E630}/dma [ID игрока] [ID админа] - посадить в /prison за дм от лица другого админа\n{E3E630}/atk [ID игрока] [ID админа] - посадить в /prison за тк от лица другого админа\n{E3E630}/ask[ID игрока] [ID админа] - посадить в /prison за ск от лица другого админа\n{C90303}/amq [ID игрока] [ID админа] - выдать /ban за Упом.Родни от лица другого админа\n{E3E630}/aeva [ID игрока] [ID админа] - выдать /kban за /evad | /vadgo\n{E3E630}/acop [ID игрока] [ID админа] - посадить игрока в деморган за копа в гетто от имени другого администратора\n{C90303}/arelog [ID] [ID админа] - выдать /sban c причиной relog от лица другого админа", "Закрыть", "", 0)
    end

end
function cmd_pozdr(arg)
    if #arg == 0 then
        sampShowDialog(11, "Поздравить игроков с праздником", "Введите название праздника(пример: 9 мая)", "Поздравить", "Отмена", 1)
    end

end

function imgui.OnDrawFrame()
  if main_window_state.v then
    local ex, ey = getScreenResolution()
    imgui.SetNextWindowPos(imgui.ImVec2(ex / 2, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5), imgui.WindowFlags.AlwaysAutoResize)
    imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.FirstUseEver)
    imgui.Begin(u8"Admin Tools Maze Role Play", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
    imgui.BeginChild('left pane', imgui.ImVec2(150, 650), true)

    if imgui.Button(u8" Главное меню ", imgui.ImVec2(135, 30)) then
        main_window_state.v = true
        secondary_window_state.v = false
    end

    if imgui.Button(u8" Список команд ", imgui.ImVec2(135, 30)) then
        secondary_window_state.v = true
        main_window_state.v= false
    end

 
    imgui.EndChild()
    imgui.SameLine()
    imgui.BeginChild("##Otherdsf", imgui.ImVec2(615, 650), true, imgui.WindowFlags.NoScrollbar)

    if imgui.Button(u8'Очистить чат', imgui.ImVec2(110, 25)) then
        ClearChat()
      end
      imgui.SameLine()
      if imgui.Button(u8'Заспавниться', imgui.ImVec2(110, 25)) then
        sampSendChat("/spawn")
      end
      imgui.SameLine()
      if imgui.Button(u8'Переподключиться', imgui.ImVec2(120, 25)) then
        sampConnectToServer('176.32.39.170', '7777')
      end
      if imgui.CollapsingHeader(u8"Мероприятия") then
        if imgui.Button(u8'Объявить о начале мероприятия "Король Дигла"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Король Дигла". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Король Дигла')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Прятки"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Прятки". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Прятки')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Дерби"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Дерби". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Дерби')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Русская Рулетка"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Русская Рулетка". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Русская Рулетка')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
      end

      local ex, ey = getScreenResolution()
      if imgui.CollapsingHeader(u8"Заготовки для разговора с игроком") then
        if imgui.Button(u8'Представиться') then
          lua_thread.create(function()
            sampSendChat('Здравствуйте. Я администратор данного сервера, ' .. name .. '.')
            wait(1000)
            sampSendChat('Объясните свою проблему/вопрос')
          end)
        end
        if imgui.Button(u8'Сказать то вы поняли и попытаетесь помочь') then
          lua_thread.create(function()
            sampSendChat('Понял... Сейчас попытаюсь Вам помочь.')
            wait(1000)
            sampSendChat('Подождите пару минут!')
          end)
        end
        if imgui.Button(u8'Извиниться то что не смог помочь') then
          lua_thread.create(function()
            sampSendChat('Извините, я Вам не смогу помочь.')
            wait(1000)
            sampSendChat('Удачного дня!')
          end)
        end
        if imgui.Button(u8'Сказать то что вы смогли помочь') then
          lua_thread.create(function()
            sampSendChat('Я вам помог. Надеюсь Вы остались довольны.')
            wait(1000)
            sampSendChat('Удачного дня!')
          end)
        end
        if imgui.Button(u8'Продан/Передан/Взломан') then
          lua_thread.create(function()
            sampSendChat('Ув.Игрок, Вы подозреваетесь в продаже/передачи/взломе аккаунта.')
            wait(1000)
            sampSendChat('Сейчас я попрошу Вас назвать следующее:')
            wait(1000)
            sampSendChat('Город регистрации аккаунта, дата регистрации аккаунта!')
            wait(1000)
            sampSendChat('В противном случае вы можете быть заблокированы!')
          end)
        end
      end

      local ex, ey = getScreenResolution()
      if imgui.CollapsingHeader(u8"Заготовки /o") then
        if imgui.Button(u8'info') then
          lua_thread.create(function()
            sampSendChat('/a Занял /o')
            wait(1150)
            sampSendChat('/o [INFO] Ув. Игроки проекта Maze Role Play. Администрация сервера желает вам приятной игры!')
            wait(1150)
            sampSendChat('/o [INFO] Есть вопрос? Увидели нарушителя? Ждем ваши запросы в /mm >> Связь с администрацией!')
            wait(1150)
            sampSendChat('/o [INFO] Ув. Лидеры/Заместители, проводите собеседования, игрокам скучно!')
            wait(1150)
            sampSendChat('/o [INFO] Хорошего всем дня и приятной игры на Maze Role Play!')
            wait(1150)
            sampSendChat('/a Освободил /o')
          end)
        end
        if imgui.Button(u8'Набор в ПО') then
          lua_thread.create(function()
            sampSendChat('/a Занял /o')
            wait(1200)
            sampSendChat('/o [ПО] Внимание! В пиар-отдел 2.0 объявлен набор.')
            wait(1200)
            sampSendChat('/o [ПО] Главное требование иметь ВК.Ваша работа будет вознагрождаться донат рублями.')
            wait(1200)
            sampSendChat('/o [ПО] Вам выдаётся бот пиара,который будет делать всю работу за вас и админа.')
            wait(1200)
            sampSendChat('/o [ПО] Для вступления, просьба написать в /report "ПО"!')
            wait(1200)
            sampSendChat('/a Освободил /o')
          end)
        end
      end

    imgui.EndChild()

    imgui.End()
  end
    if secondary_window_state.v then
        local ex, ey = getScreenResolution()
        imgui.SetNextWindowSize(imgui.ImVec2(300, 150), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Admin Tools Maze Role Play", secondary_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
        imgui.BeginChild('left pane', imgui.ImVec2(150, 650), true)

        if imgui.Button(u8" Главное меню ", imgui.ImVec2(135, 30)) then
            main_window_state.v = true
            secondary_window_state.v = false
        end
 
        if imgui.Button(u8" Список команд ", imgui.ImVec2(135, 30)) then
            secondary_window_state.v = true
            main_window_state.v= false
        end
      
        imgui.EndChild()
        imgui.SameLine()
        imgui.BeginChild("##Otherdsfs", imgui.ImVec2(615, 650), true, imgui.WindowFlags.NoScrollbar)

      imgui.Text(u8"Список команд на данный момент:", second_color)
      imgui.Text(u8"/mzr - Список команд для ответа в репорт")
      imgui.Text(u8"/mzd - Список команд для наказания")
      imgui.Text(u8"/mda - Список команд для наказания от лица другого админа")
      imgui.EndChild()
      imgui.End()
    end
end

function blue()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    style.Alpha = 1.00

    style.WindowRounding = 2.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    style.ChildWindowRounding = 2.0
    style.FrameRounding = 2.0
    style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
    style.ScrollbarSize = 13.0
    style.ScrollbarRounding = 0
    style.GrabMinSize = 8.0
    style.GrabRounding = 1.0

    colors[clr.FrameBg]                = ImVec4(0.16, 0.29, 0.48, 0.54)
    colors[clr.FrameBgHovered]         = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.FrameBgActive]          = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.TitleBg]                = ImVec4(0.04, 0.04, 0.04, 1.00)
    colors[clr.TitleBgActive]          = ImVec4(0.16, 0.29, 0.48, 1.00)
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51)
    colors[clr.CheckMark]              = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.SliderGrab]             = ImVec4(0.24, 0.52, 0.88, 1.00)
    colors[clr.SliderGrabActive]       = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Button]                 = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.ButtonHovered]          = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ButtonActive]           = ImVec4(0.06, 0.53, 0.98, 1.00)
    colors[clr.Header]                 = ImVec4(0.26, 0.59, 0.98, 0.31)
    colors[clr.HeaderHovered]          = ImVec4(0.26, 0.59, 0.98, 0.80)
    colors[clr.HeaderActive]           = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Separator]              = colors[clr.Border]
    colors[clr.SeparatorHovered]       = ImVec4(0.26, 0.59, 0.98, 0.78)
    colors[clr.SeparatorActive]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ResizeGrip]             = ImVec4(0.26, 0.59, 0.98, 0.25)
    colors[clr.ResizeGripHovered]      = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.ResizeGripActive]       = ImVec4(0.26, 0.59, 0.98, 0.95)
    colors[clr.TextSelectedBg]         = ImVec4(0.26, 0.59, 0.98, 0.35)
    colors[clr.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextDisabled]           = ImVec4(0.50, 0.50, 0.50, 1.00)
    colors[clr.WindowBg]               = ImVec4(0.06, 0.06, 0.06, 0.94)
    colors[clr.ChildWindowBg]          = ImVec4(1.00, 1.00, 1.00, 0.00)
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94)
    colors[clr.ComboBg]                = colors[clr.PopupBg]
    colors[clr.Border]                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    colors[clr.BorderShadow]           = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.MenuBarBg]              = ImVec4(0.14, 0.14, 0.14, 1.00)
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.53)
    colors[clr.ScrollbarGrab]          = ImVec4(0.31, 0.31, 0.31, 1.00)
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.41, 0.41, 0.41, 1.00)
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.51, 0.51, 0.51, 1.00)
    colors[clr.CloseButton]            = ImVec4(0.41, 0.41, 0.41, 0.50)
    colors[clr.CloseButtonHovered]     = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.CloseButtonActive]      = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00)
    colors[clr.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00)
    colors[clr.PlotHistogram]          = ImVec4(0.90, 0.70, 0.00, 1.00)
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.60, 0.00, 1.00)
    colors[clr.ModalWindowDarkening]   = ImVec4(0.80, 0.80, 0.80, 0.35)
end
 
Решение
Lua:
script_name ("ATmaze") -- название скрипта
script_author ("K.San") -- автор скрипта

require "lib.moonloader" -- подключение библиотеки
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local samp = require 'lib.samp.events'
local text_buffer = imgui.ImBuffer(256)
local tag = "[Admin Tools]: " -- тэг
local main_color = 0x5A90CE
local second_color = 0x518fd1
local main_color_text = "[5A90CE]"
local white_color = "[FFFFFF]"
local color_dialog = 0xDEB887
local dialogArr = {"Начинаю работать по вашей ЖБ", "Попытаться помочь", "Слежу за нарушителем", "Передать репорт"}
local dialogStr = ""
local ex, ey = getScreenResolution()

local main_window_state = imgui.ImBool(false)
local...

Albertio

Attention! Thanks for your attention.
878
701
Lua:
script_name ("ATmaze") -- название скрипта
script_author ("K.San") -- автор скрипта

require "lib.moonloader" -- подключение библиотеки
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local samp = require 'lib.samp.events'
local text_buffer = imgui.ImBuffer(256)
local tag = "[Admin Tools]: " -- тэг
local main_color = 0x5A90CE
local second_color = 0x518fd1
local main_color_text = "[5A90CE]"
local white_color = "[FFFFFF]"
local color_dialog = 0xDEB887
local dialogArr = {"Начинаю работать по вашей ЖБ", "Попытаться помочь", "Слежу за нарушителем", "Передать репорт"}
local dialogStr = ""
local ex, ey = getScreenResolution()

local main_window_state = imgui.ImBool(false)
local secondary_window_state = imgui.ImBool(false)
local third_window_state = imgui.ImBool(false)

function ClearChat()
    local memory = require "memory"
    memory.fill(sampGetChatInfoPtr() + 306, 0x0, 25200)
    memory.write(sampGetChatInfoPtr() + 306, 25562, 4, 0x0)
    memory.write(sampGetChatInfoPtr() + 0x63DA, 1, 1)
end

for _, str in ipairs(dialogArr) do
    dialogStr = dialogStr .. str .. "\n"
end

local reasons = {'ban', 'kick', 'mute', 'sban', "slap", "warn", "offwarn", "offmute", "offban", "pm", "givegun", "sethp", "flip", "setsp", 'prison', 'jail', 'offprison', 'offjail'}

function main()
    while not  isSampAvailable() do wait(100) end
    _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
        blue()
    name = sampGetPlayerNickname(id)
    if name ~= "Kenshi_San" then
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        sampAddChatMessage("Вы не купили эту версию {C90303}Admin Tools{FFFFFF}! Admin Tools можно купить в оф. группе вк: {5A90CE}vk.com/atmaze", -1)
        thisScript():unload()
    end
    sampRegisterChatCommand("mz", cmd_mz)
    sampRegisterChatCommand("commandsinmenumz192391239921939", cmd_test) -- НЕ вводить в чат :)
        sampRegisterChatCommand("third", cmd_third) -- НЕ вводить в чат :)

    imgui.Process = false


    sampRegisterChatCommand('pr', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, передал ваш репорт администратору!', id))
    end)
    sampRegisterChatCommand('sn', function(id)
        lua_thread.create(function()
        sampSendChat(string.format('/pm %s Уважаемый игрок, слежу за нарушителем!', id))
        wait(1000)
        sampShowDialog(51, "Авто-Слежка", "Введите ID нарушителя", "Следить", "Отмена", 1)
    end)
end)
    sampRegisterChatCommand('pmch', function(id)
        lua_thread.create(function()
        sampSendChat(string.format('/pm %s Уважаемый игрок, сейчас попытаюсь вам помочь!', id))
        wait(1150)
        sampSendChat(string.format('/re %s', id))
    end)
end)
    sampRegisterChatCommand('of', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, пожалуйста прекратите оффтопить! 1/2', id))
    end)
    sampRegisterChatCommand('of2', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Уважаемый игрок, пожалуйста, в следующий раз не оффтопьте! 2/2', id))
            wait(1200)
            sampSendChat(string.format('/mute %s 5 offtop', id))
        end)
    end)
    sampRegisterChatCommand('tb', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, ожидайте обзвона, вас оповестят в чате, без обзвона лидерку не выдаем!', id))
    end)
    sampRegisterChatCommand('npa', function(id)
    sampSendChat(string.format('/awarn %s Нарушение Правил Администрации', id))
    end)
    sampRegisterChatCommand('rput', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, сделайте это РП путем! Администратор не может вмешиваться в РП процесс!', id))
    end)
    sampRegisterChatCommand('nv', function(id)
        sampSendChat(string.format('/pm %s Уважаемый игрок, не выдаем!', id))
    end)
    sampRegisterChatCommand('cheat', function(id)
        sampSendChat(string.format('/warn %s Использование Чит-Программ', id))
    end)
    sampRegisterChatCommand('vcheat', function(id)
        sampSendChat(string.format('/ban %s 7 Вред.Читы', id))
    end)
    sampRegisterChatCommand('caps', function(id)
        sampSendChat(string.format('/mute %s 5 Caps Lock', id))
    end)
    sampRegisterChatCommand('osk', function(id)
        sampSendChat(string.format('/mute %s 10 Оск. Адм./Игроков', id))
    end)
    sampRegisterChatCommand('mat', function(id)
        sampSendChat(string.format('/mute %s 5 mat/mat in /rep', id))
    end)
    sampRegisterChatCommand('mq', function(id)
        sampSendChat(string.format('/ban %s 7 Упом. Родни', id))
    end)
    sampRegisterChatCommand('3', function(id)
        sampSendChat(string.format('/banan %s Слив/Реклама', id))
    end)
    sampRegisterChatCommand('flood', function(id)
        sampSendChat(string.format('/mute %s 5 flood', id))
    end)
    sampRegisterChatCommand('relog', function(id)
        sampSendChat(string.format('/sban %s relog', id))
    end)
    sampRegisterChatCommand('k', function(id)
        sampSendChat(string.format('/vadgo %s ', id))
    end)
    sampRegisterChatCommand('kk', function(id)
        sampSendChat(string.format('/evad %s relog', id))
    end)
    sampRegisterChatCommand('cop', function(id)
        sampSendChat(string.format('/prison %s 5 Cop in Ghetto', id))
    end)
    sampRegisterChatCommand('afjb', function(id)
        sampSendChat(string.format('/awarn %s 5 Жалоба на Форуме', id))
    end)
    sampRegisterChatCommand('kfjb', function(id)
        sampSendChat(string.format('/kban %s 10 Жалоба на Форуме', id))
    end)
    sampRegisterChatCommand('dm', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 DeathMatch', id))
            wait(1200)
            sampSendChat(string.format('/pm %s DM - Death Match, убийство игрока без причины. Вы были наказаны за DM.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('kb', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/kban %s 5 Некк. | Ложный ответ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вы получили бан команд за ложный/неккоректный ответ на репорт.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('aa', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Здравствуйте. Вы получили наказание за жалобу на форуме.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с нарушением, оставьте аппеляцию на модератора в разделе:', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Жалобы на Администрацию/Игроков/Лидеров > Отправить апелляцию на решение модератора: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('eva', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/kban %s 5 /evad | /vadgo', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вы получили бан команд за ошибки/мг, которые вы пропустили в /vad.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('db', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 DriveBy', id))
            wait(1200)
            sampSendChat(string.format('/pm %s DriveBy - убийство игрока автомобилем. Вы были наказаны за DB.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('tk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 Team Kill', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Team Kill - убийство игрока своей же фракции. Вы были наказаны за TK.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('forum', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/gethere %s', id))
            wait(2000)
            sampSendChat(string.format('/freeze %s', id))
            wait(1000)
            sampSendChat(string.format('Здравствуйте. Я Администратор Bloody_Night.', id))
            wait(1200)
            sampSendChat(string.format('Я обращаюсь к Вам по той причине, что на Вас поступила жалоба.', id))
            wait(1200)
            sampSendChat(string.format('Данная жалоба находиться в разделе: ', id))
            wait(1200)
            sampSendChat(string.format('Жалобы на Администрацию/Игроков/Лидеров > Отправить жалобу на Администратора ', id))
            wait(1200)
            sampSendChat(string.format('У Вас имеются доказательства на нарушения игрока? ', id))
            wait(1200)
            sampShowDialog(20, "Ожидайте ответа от игрока", "У игрока имеются доказательства?", "Имеются", "Не имеются", 0)
        end)
    end)
    sampRegisterChatCommand('sk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/prison %s 10 Spawn Kill', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Spawn Kill - убийство игроков на точке спавна. Вы были наказаны за SK.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('mg', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/mute %s 1 MetaGaming', id))
            wait(1200)
            sampSendChat(string.format('/pm %s MetaGaming - Использование OOC ин-ции в IC чат. Вы были наказаны за MG.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если Вы не согласны с наказанием, пишите жалобу на: forum.maze-rp.ru!', id))
        end)
    end)
    sampRegisterChatCommand('bb', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/makeadmin %s 1', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Поздравляю Вас. Вы получили права администратора 1 уровня.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Для того, чтобы авторизироваться в админке, введите /alogin и пароль!', id))
            wait(1000)
            sampSendChat(string.format('/pm %s Ваш ADM пароль будет сообщен через пару секунд. Приятного дня!', id))
        end)
    end)
    sampRegisterChatCommand('pmg', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, я Вам помог. Надеюсь Вы остались довольны. Приятного дня!', id))
        end)
    end)
    sampRegisterChatCommand('afk', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, Вы подозреваетесь в AFK без ESC.', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Если вы тут, просьба написать "+" в чат!', id))
            wait(1200)
            sampSendChat(string.format('/pm %s В противном случае я буду вынужден Вас кикнуть!', id))
        end)
    end)
    sampRegisterChatCommand('nak2', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Жалобу на администратора вы можете оставить на нашем форуме - forum.maze-rp.ru.', id))
        end)
    end)
    sampRegisterChatCommand('admm', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Здравствуйте. На нашем проекте права администратора можно получить при:', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Вводе команды /adm в игровой чат. Быть "Пиарщиком", отстоять лидерку, сотрудничать с проектом.', id))
        end)
    end)
    sampRegisterChatCommand('nrp', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, просьба сменить ваш NonRP nick на РП: Name_Surname! ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Это позволит Вам полноценно играть на нашем проекте...', id))
            wait(1200)
            sampSendChat(string.format('/pm %s ...А также успешно трудоустроиться в любую фракцию!', id))
        end)
    end)
    sampRegisterChatCommand('lid', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/pm %s Ув.Игрок, чтобы получить лидерку, необходимо: ', id))
            wait(1200)
            sampSendChat(string.format('/pm %s Гетто: пройти обзвон. Мафия, Гос: оставить заявку на форуме, пройти обзвон!', id))
            wait(1200)
            sampSendChat(string.format('/pm %s ...А также успешно трудоустроиться в любую фракцию!', id))
        end)
    end)
    sampRegisterChatCommand('админка', function(id)
        lua_thread.create(function()
            sampSendChat(string.format('/agm', id))
            wait(1200)
            sampSendChat(string.format('/lammo', id))
            wait(1200)
            sampSendChat(string.format('/btrack', id))
            wait(1200)
            sampSendChat(string.format('/showmc', id))
            wait(1200)
            sampSendChat(string.format('/showbc', id))
            wait(1000)
            sampSendChat(string.format('/a [Статус] На данный момент свободен. Режим: ожидание!', id))
            wait(1200)
        end)
    end)
    sampRegisterChatCommand('amg', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/mute %s 1 MG || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('acheat', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/warn %s Cheats || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('avcheat', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/ban %s 7 Vred. Cheats || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('dma', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 DeathMatch || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('atk', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 TeamKill || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('ask', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 SpawnKill || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('amq', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/ban %s 7 Упом.Родни || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('aeva', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/kban %s 5 /evad | /vadgo || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('arelog', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/sban %s relog || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('adb', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 10 DriveBy || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('nak', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/pm %s Вы были наказаны по просьбе администратора ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('acop', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/prison %s 5 Cop in Ghetto || ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('nak1', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/pm %s Если вы не согласны с наказанием, пишите жалобу на ADM ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('st1', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/a [Статус] Неактивен. Начинаю работать по жалобе игрока [ ID: %s] Nick: ' .. adminname, idnar))
    end)
    sampRegisterChatCommand('st2', function(ids)
        local idnar = string.sub(ids, 0, string.find(ids, "%s"))
                sampAddChatMessage(ids, -1)
        local idadm = string.sub(ids, string.find(ids, "%s") + 1, string.len(ids))
        local name = sampGetPlayerNickname(idadm) -- вот это строки не было
        local adminname = string.sub(name, 0, 1) .. '.' .. string.sub(name, string.find(name, '_') + 1, string.len(name))
        sampSendChat(string.format('/a [Статус] Активен. Закончил работать по жалобе игрока [ ID: %s] Nick: ' .. adminname, idnar))
    end)




    sampRegisterChatCommand("mzr", cmd_mzr)
    sampRegisterChatCommand("mzd", cmd_mzd)
    sampRegisterChatCommand("mda", cmd_mda)
    sampRegisterChatCommand("update", cmd_update)
    sampRegisterChatCommand("pozdr", cmd_pozdr)

    wait(1)
    sampAddChatMessage(tag .. "{ff0505}Admin Tools by K.San | D.Kot запущен [V.2.1.2]", -1) -- сообщение в чат при заходе
    sampAddChatMessage(tag .. "{ff0505}Чтобы ознакомиться с функциями введите /mz", -1) -- тоже самое что и предыдущее
    sampAddChatMessage(tag .. "{ff0505}Данный скрипт создан для упрощения работы администрации. Плагиат запрещен!", -1) -- тоже самое что и предыдущее

    while true do
        wait(0)
                imgui.Process = main_window_state.v or secondary_window_state.v or third_window_state.v
                if not main_window_state.v and not secondary_window_state.v and not third_window_state.v then
                        imgui.Process = false
                end
        if isKeyJustPressed(VK_F5) then
            sampSendChat("/gotomark")
        end

        local result, button, list, input = sampHasDialogRespond(10) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampAddChatMessage("Приятной игры!", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(20) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("Тогда попрошу вас предоставить их на форум. Приятной игры!")
            else -- если нажата вторая кнопка (Закрыть)
                sampSendChat("Так как у вас нету доказательств, по правилам я обязан выдать вам наказание.")
            end
        end


        local result, button, list, input = sampHasDialogRespond(45) -- /dialog0 (MsgBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampAddChatMessage("Приятной игры!", main_color)
            else -- если нажата вторая кнопка (Закрыть)
                sampSendChat("")
            end
        end


        local result, button, list, input = sampHasDialogRespond(11) -- /dialog1 (InputBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/a Занял /o")
                wait(1200)
                sampSendChat("/o [INFO] Уважаемые игроки нашего сервера, вся администрация поздравляет вас с " .. input, color_dialog)
                wait(1200)
                sampSendChat("/a Освободил /o")
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Приятной игры!", main_color)
            end
        end


        local result, button, list, input = sampHasDialogRespond(51) -- /dialog1 (InputBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/re " .. input)
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Приятной игры!", main_color)
            end
        end


        local result, button, list, input = sampHasDialogRespond(12) -- /dialog2 (ListBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampShowDialog(13, "Меню", "Введите ID Игрока", "Выбрать", "Закрыть", 1)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 12 выбран пункт {FFFFFF}" .. list .. " и его содержимое: {FF00FF}" .. dialogArr[list+1], color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 12", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(13) -- /dialog3 (PasswordBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                sampSendChat("/pm " .. input, color_dialog)
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 13", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(14) -- /dialog4 (TabListBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 14 выбран пункт {FFFFFF}" .. list, color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 14", color_dialog)
            end
        end


        local result, button, list, input = sampHasDialogRespond(15) -- /dialog5 (TabListHeaderBox)

        if result then -- если диалог открыт
            if button == 1 then -- если нажата первая кнопка (Выбрать)
                if list == 0 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 1 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 2 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                elseif list == 3 then
                    sampAddChatMessage("В диалоге с ID 15 выбран пункт {FFFFFF}" .. list, color_dialog)
                end
            else -- если нажата вторая кнопка (Закрыть)
                sampAddChatMessage("Вы закрыли диалог с ID 15", color_dialog)
            end
        end

    end
end

function cmd_mz(arg)
  main_window_state.v = not main_window_state.v
end

function cmd_test(arg)
  secondary_window_state.v = not secondary_window_state.v
end

function cmd_third(arg)
    third_window_state.v = not third_window_state.v
end

function samp.onServerMessage(color, text)
    if text:find("подозревается") then
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    sampAddChatMessage("{FFFFFF}[Admin Tools]: Кто-то подозревается в {C90303}читерстве{FFFFFF}/{C90303}взломе!")  -- body
    end
end

function forma()
    if active_report then
        lua_thread.create(function()
            lasttime = os.time()
            lasttimes = 0
            time_out = 10
            while lasttimes < time_out do
                lasttimes = os.time() - lasttime
                wait(0)
                printStyledString("ADMIN FORM " .. time_out - lasttimes .. " WAIT", 1000, 4)
                if lasttimes == time_out then
                    active_report = false
                    printStyledString("Forma skipped", 1000, 4)
                end
            end
        end)
    else
        if isKeyJustPressed(VK_P) and not sampIsChatInputActive() and not sampIsDialogActive() then
            printStyledString('You can’t skip the form temporarily', 1000, 4)
        end
    end
end

function cmd_update(arg)
    if #arg == 0 then
        sampShowDialog(10, "Нововведения в обновлении 2.1.2", "Усовершенствована команда /forum\nКоманда /oskr была изменена на /mq\nКоманда /aoskr была изменена на /amq\nВид команды /mzr, /mzd, /mda был изменен\nБыл обновлен список команд в /mzr|/mzd|/mda\nДобавлена команда /pozdr, она поздравляет игроков с праздником, который вы ввели\nИсправлена ошибка в бинде INFO в /o\nДобавлена авто-слежка за игроком после команды /pmch\nДобавлена авто-слежка после команды /sn", "Закрыть", "", 0)
    end

end
function cmd_mzr(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список ответов на репорт:", "{5A90CE}/pr [ID] - написать игроку в /pm то что вы передали report администрации\n{5A90CE}/sn [ID] - написать игроку в /pm то что вы следите за нарушителем\n{5A90CE}pmch [ID] - написать игроку в /pm то что вы попытаетесь ему помочь\n{5A90CE}/of [ID] - написать игроку в /pm чтобы он не оффтопил 1/2\n{5A90CE}/of2 [ID] - написать игроку в /pm чтобы он не оффтопил 2/2, и то что он получает бан чата за офф топ\n{5A90CE}/tb [ID] - написать игроку в /pm то что можно встать на лидерку только по обзвону\n{5A90CE}/rput [ID] - написать игроку в /pm чтобы он сделал это РП путем\n{5A90CE}/nv [ID] - написать игроку в /pm то что не выдаем\n{5A90CE}/pmg [ID] - написать игроку в /pm то что вы ему помогли\n{5A90CE}/nak1 [ID игрока] [ID админа] - написать игроку в /pm то что если он не согласен с наказанием то пусть пишет жалобу на админа\n{5A90CE}/nak2 [ID] - написать игроку в /pm то что жалобу на администратора можно написать на форуме\n{5A90CE}/afk [ID] = написать игроку в /pm то что если он афк без esc, то вы будете вынуждены его кикнуть\n{5A90CE}/bb [ID] - назначить игрока админом 1 лвла и поздравить в /pm\n{5A90CE}/k [ID] - отправить vip объявление игрока\n{5A90CE}/kk [ID] - редактировать vip объявление игрока\n{5A90CE}/st1 [ID] [Тоже ID игрока] - написать в /a то что вы начали работать по жалобе игрока\n{5A90CE}/st2 [ID] [Тоже ID игрока] - написать в /a то что вы закончили работать по жалобе игрока\n{5A90CE}/lid [ID] - сказать игроку в /pm что нужно, чтобы встать на лидерку\n{5A90CE}/nrp [ID] - Написать просьбу в /pm, чтобы игрок сменил НОН рп ник\n{5A90CE}/админка - ввести все нужные команды после /alogin", "Закрыть", "", 0)
    end

end
function cmd_mzd(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список наказаний:", "{E3E630}/dm [ID] - посадить игрока за дм в prison\n{E3E630}/db [ID] - посадить игрока за дб в prison\n{E3E630}/tk [ID] - посадить игрока за тк в prison\n{E3E630}/sk [ID] - посадить игрока за ск в prison\n{C90303}/cheat [ID] - заварнить игрока за читы\n{C90303}/vcheat [ID} - забанить игрока за вред.читы на 7 дней\n{E3E630}/caps [ID] - замутить игрока за капс на 5 минут\n{E3E630}/osk [ID] - замутить игрока за оск на 10 минут\n{C90303}/mq [ID] - забанить игрока на 7 дней за упом. родни\n{E3E630}/flood [ID] - замутить игрока за флуд на 5 минут\n{E3E630}/cop [ID] - посадить игрока за копа в гетто в /prison\n{E3E630}/kb [ID] - выдать бан команд за ложный ответ в репорт\n{E3E630}/eva [ID] - выдать бан команд за ошибки в /vad\n{E3E630}/forum [ID] - тпешнуть игрока/администратора, зафризить, и сказать то что на него поступила Жалоба\n{E3E630}/kb [ID] - выдать /kban за некк./ложный ответ\n{E3E630}/kfjb [ID] - выдать /kban за жалобу на форуме\n{C90303}/afjb [ID] - выдать /awarn за жалобу на форуме\n{C90303}/relog [ID] - выдать /sban с причиной relog\n{C90303}/npa [ID] - Выдать /awarn с причиной Нарушение Правил Администрации", "Закрыть", "", 0)
    end

end
function cmd_mda(arg)
    if #arg == 0 then
        sampShowDialog(10, "{08F800}Список наказаний от лица другого админа:", "{C90303}/acheat [ID игрока] [ID админа] - выдать /warn за читы от лица другого админа\n{C90303}/avcheat [ID игрока] [ID админа] - выдать /ban за вред.читы от лица другого админа\n{E3E630}/dma [ID игрока] [ID админа] - посадить в /prison за дм от лица другого админа\n{E3E630}/atk [ID игрока] [ID админа] - посадить в /prison за тк от лица другого админа\n{E3E630}/ask[ID игрока] [ID админа] - посадить в /prison за ск от лица другого админа\n{C90303}/amq [ID игрока] [ID админа] - выдать /ban за Упом.Родни от лица другого админа\n{E3E630}/aeva [ID игрока] [ID админа] - выдать /kban за /evad | /vadgo\n{E3E630}/acop [ID игрока] [ID админа] - посадить игрока в деморган за копа в гетто от имени другого администратора\n{C90303}/arelog [ID] [ID админа] - выдать /sban c причиной relog от лица другого админа", "Закрыть", "", 0)
    end

end
function cmd_pozdr(arg)
    if #arg == 0 then
        sampShowDialog(11, "Поздравить игроков с праздником", "Введите название праздника(пример: 9 мая)", "Поздравить", "Отмена", 1)
    end

end

function imgui.OnDrawFrame()
  if main_window_state.v then

    imgui.SetNextWindowPos(imgui.ImVec2(ex / 2, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5), imgui.WindowFlags.AlwaysAutoResize)
    imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.FirstUseEver)
    imgui.Begin(u8"Admin Tools Maze Role Play", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
    imgui.BeginChild('left pane', imgui.ImVec2(150, 650), true)

    if imgui.Button(u8" Главное меню ", imgui.ImVec2(135, 30)) then
      secondary_window_state.v = false
      third_window_state.v = false
      main_window_state.v = true
    end

    if imgui.Button(u8" Список команд ", imgui.ImVec2(135, 30)) then
      main_window_state.v = false
      third_window_state.v = false
      secondary_window_state.v = true
    end

    if imgui.Button(u8" Третье окно ", imgui.ImVec2(135, 30)) then
      main_window_state.v = false
      secondary_window_state.v = false
      third_window_state.v = true
    end



    imgui.EndChild()
    imgui.SameLine()
    imgui.BeginChild("##Otherdsf", imgui.ImVec2(615, 650), true, imgui.WindowFlags.NoScrollbar)

    if imgui.Button(u8'Очистить чат', imgui.ImVec2(110, 25)) then
        ClearChat()
      end
      imgui.SameLine()
      if imgui.Button(u8'Заспавниться', imgui.ImVec2(110, 25)) then
        sampSendChat("/spawn")
      end
      imgui.SameLine()
      if imgui.Button(u8'Переподключиться', imgui.ImVec2(120, 25)) then
        sampConnectToServer('176.32.39.170', '7777')
      end
      if imgui.CollapsingHeader(u8"Мероприятия") then
        if imgui.Button(u8'Объявить о начале мероприятия "Король Дигла"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Король Дигла". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Король Дигла')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Прятки"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Прятки". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Прятки')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Дерби"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Дерби". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Дерби')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
        if imgui.Button(u8'Объявить о начале мероприятия "Русская Рулетка"') then
          lua_thread.create(function()
            sampSendChat("/a Занял /aad")
            wait(1200)
            sampSendChat('/aad [МП] Сейчас пройдет мероприятие "Русская Рулетка". Желающие >> /gotomp')
            wait(1200)
            sampSendChat('/mp Русская Рулетка')
            wait(1200)
            sampSendChat("/a Освободил /aad")
          end)
        end
      end


      if imgui.CollapsingHeader(u8"Заготовки для разговора с игроком") then
        if imgui.Button(u8'Представиться') then
          lua_thread.create(function()
            sampSendChat('Здравствуйте. Я администратор данного сервера, ' .. name .. '.')
            wait(1000)
            sampSendChat('Объясните свою проблему/вопрос')
          end)
        end
        if imgui.Button(u8'Сказать то вы поняли и попытаетесь помочь') then
          lua_thread.create(function()
            sampSendChat('Понял... Сейчас попытаюсь Вам помочь.')
            wait(1000)
            sampSendChat('Подождите пару минут!')
          end)
        end
        if imgui.Button(u8'Извиниться то что не смог помочь') then
          lua_thread.create(function()
            sampSendChat('Извините, я Вам не смогу помочь.')
            wait(1000)
            sampSendChat('Удачного дня!')
          end)
        end
        if imgui.Button(u8'Сказать то что вы смогли помочь') then
          lua_thread.create(function()
            sampSendChat('Я вам помог. Надеюсь Вы остались довольны.')
            wait(1000)
            sampSendChat('Удачного дня!')
          end)
        end
        if imgui.Button(u8'Продан/Передан/Взломан') then
          lua_thread.create(function()
            sampSendChat('Ув.Игрок, Вы подозреваетесь в продаже/передачи/взломе аккаунта.')
            wait(1000)
            sampSendChat('Сейчас я попрошу Вас назвать следующее:')
            wait(1000)
            sampSendChat('Город регистрации аккаунта, дата регистрации аккаунта!')
            wait(1000)
            sampSendChat('В противном случае вы можете быть заблокированы!')
          end)
        end
      end


      if imgui.CollapsingHeader(u8"Заготовки /o") then
        if imgui.Button(u8'info') then
          lua_thread.create(function()
            sampSendChat('/a Занял /o')
            wait(1150)
            sampSendChat('/o [INFO] Ув. Игроки проекта Maze Role Play. Администрация сервера желает вам приятной игры!')
            wait(1150)
            sampSendChat('/o [INFO] Есть вопрос? Увидели нарушителя? Ждем ваши запросы в /mm >> Связь с администрацией!')
            wait(1150)
            sampSendChat('/o [INFO] Ув. Лидеры/Заместители, проводите собеседования, игрокам скучно!')
            wait(1150)
            sampSendChat('/o [INFO] Хорошего всем дня и приятной игры на Maze Role Play!')
            wait(1150)
            sampSendChat('/a Освободил /o')
          end)
        end
        if imgui.Button(u8'Набор в ПО') then
          lua_thread.create(function()
            sampSendChat('/a Занял /o')
            wait(1200)
            sampSendChat('/o [ПО] Внимание! В пиар-отдел 2.0 объявлен набор.')
            wait(1200)
            sampSendChat('/o [ПО] Главное требование иметь ВК.Ваша работа будет вознагрождаться донат рублями.')
            wait(1200)
            sampSendChat('/o [ПО] Вам выдаётся бот пиара,который будет делать всю работу за вас и админа.')
            wait(1200)
            sampSendChat('/o [ПО] Для вступления, просьба написать в /report "ПО"!')
            wait(1200)
            sampSendChat('/a Освободил /o')
          end)
        end
      end

    imgui.EndChild()

    imgui.End()
  end
    if secondary_window_state.v then
                imgui.SetNextWindowPos(imgui.ImVec2(ex / 2, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5), imgui.WindowFlags.AlwaysAutoResize)
        imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Admin Tools Maze Role Play", secondary_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
        imgui.BeginChild('left pane', imgui.ImVec2(150, 650), true)

                if imgui.Button(u8" Главное меню ", imgui.ImVec2(135, 30)) then
              secondary_window_state.v = false
              third_window_state.v = false
              main_window_state.v = true
            end

            if imgui.Button(u8" Список команд ", imgui.ImVec2(135, 30)) then
              main_window_state.v = false
              third_window_state.v = false
              secondary_window_state.v = true
            end

            if imgui.Button(u8" Третье окно ", imgui.ImVec2(135, 30)) then
              main_window_state.v = false
              secondary_window_state.v = false
              third_window_state.v = true
            end

        imgui.EndChild()
        imgui.SameLine()
        imgui.BeginChild("##Otherdsfs", imgui.ImVec2(615, 650), true, imgui.WindowFlags.NoScrollbar)

      imgui.Text(u8"Список команд на данный момент:", second_color)
      imgui.Text(u8"/mzr - Список команд для ответа в репорт")
      imgui.Text(u8"/mzd - Список команд для наказания")
      imgui.Text(u8"/mda - Список команд для наказания от лица другого админа")
      imgui.EndChild()
      imgui.End()
    end
        if third_window_state.v then
                imgui.SetNextWindowPos(imgui.ImVec2(ex / 2, ey / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5), imgui.WindowFlags.AlwaysAutoResize)
        imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Третье окно", third_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
                imgui.BeginChild('left pane', imgui.ImVec2(150, 650), true)

                if imgui.Button(u8" Главное меню ", imgui.ImVec2(135, 30)) then
              secondary_window_state.v = false
              third_window_state.v = false
              main_window_state.v = true
            end

            if imgui.Button(u8" Список команд ", imgui.ImVec2(135, 30)) then
              main_window_state.v = false
              third_window_state.v = false
              secondary_window_state.v = true
            end

            if imgui.Button(u8" Третье окно ", imgui.ImVec2(135, 30)) then
              main_window_state.v = false
              secondary_window_state.v = false
              third_window_state.v = true
            end

                imgui.EndChild()
                imgui.SameLine()
                imgui.BeginChild("##Otherdsfs", imgui.ImVec2(615, 650), true, imgui.WindowFlags.NoScrollbar)


            imgui.EndChild()
      imgui.End()
    end
end

function blue()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    style.Alpha = 1.00

    style.WindowRounding = 2.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    style.ChildWindowRounding = 2.0
    style.FrameRounding = 2.0
    style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
    style.ScrollbarSize = 13.0
    style.ScrollbarRounding = 0
    style.GrabMinSize = 8.0
    style.GrabRounding = 1.0

    colors[clr.FrameBg]                = ImVec4(0.16, 0.29, 0.48, 0.54)
    colors[clr.FrameBgHovered]         = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.FrameBgActive]          = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.TitleBg]                = ImVec4(0.04, 0.04, 0.04, 1.00)
    colors[clr.TitleBgActive]          = ImVec4(0.16, 0.29, 0.48, 1.00)
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51)
    colors[clr.CheckMark]              = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.SliderGrab]             = ImVec4(0.24, 0.52, 0.88, 1.00)
    colors[clr.SliderGrabActive]       = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Button]                 = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.ButtonHovered]          = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ButtonActive]           = ImVec4(0.06, 0.53, 0.98, 1.00)
    colors[clr.Header]                 = ImVec4(0.26, 0.59, 0.98, 0.31)
    colors[clr.HeaderHovered]          = ImVec4(0.26, 0.59, 0.98, 0.80)
    colors[clr.HeaderActive]           = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Separator]              = colors[clr.Border]
    colors[clr.SeparatorHovered]       = ImVec4(0.26, 0.59, 0.98, 0.78)
    colors[clr.SeparatorActive]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ResizeGrip]             = ImVec4(0.26, 0.59, 0.98, 0.25)
    colors[clr.ResizeGripHovered]      = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.ResizeGripActive]       = ImVec4(0.26, 0.59, 0.98, 0.95)
    colors[clr.TextSelectedBg]         = ImVec4(0.26, 0.59, 0.98, 0.35)
    colors[clr.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextDisabled]           = ImVec4(0.50, 0.50, 0.50, 1.00)
    colors[clr.WindowBg]               = ImVec4(0.06, 0.06, 0.06, 0.94)
    colors[clr.ChildWindowBg]          = ImVec4(1.00, 1.00, 1.00, 0.00)
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94)
    colors[clr.ComboBg]                = colors[clr.PopupBg]
    colors[clr.Border]                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    colors[clr.BorderShadow]           = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.MenuBarBg]              = ImVec4(0.14, 0.14, 0.14, 1.00)
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.53)
    colors[clr.ScrollbarGrab]          = ImVec4(0.31, 0.31, 0.31, 1.00)
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.41, 0.41, 0.41, 1.00)
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.51, 0.51, 0.51, 1.00)
    colors[clr.CloseButton]            = ImVec4(0.41, 0.41, 0.41, 0.50)
    colors[clr.CloseButtonHovered]     = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.CloseButtonActive]      = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00)
    colors[clr.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00)
    colors[clr.PlotHistogram]          = ImVec4(0.90, 0.70, 0.00, 1.00)
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.60, 0.00, 1.00)
    colors[clr.ModalWindowDarkening]   = ImVec4(0.80, 0.80, 0.80, 0.35)
end
 
  • Нравится
Реакции: McLore