Меню взамодействий

NetyEgo

Участник
Автор темы
164
10
Версия MoonLoader
.026-beta
LUA:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("gameover",online)
    sampRegisterChatCommand(mainIni.config.command, function() main_window_state.v = not main_window_state.v imgui.Process = main_window_state.v end)
    sampRegisterChatCommand("diid", cmd_iddialog)
    sampRegisterChatCommand('dmute', dmute)
    sampRegisterChatCommand('dunmute', dunmute)
    sampRegisterChatCommand('dmutelist', dml)   
    ran()

    thread = lua_thread.create_suspended(thread_function)
    timer = lua_thread.create(timer)

    if mainIni.config.day ~= os.date("%a") then
        mainIni.config.day = os.date("%a")
        mainIni.config.min = "0"
        mainIni.config.hourse = "0"
        inicfg.save(mainIni, "DRPHelper.ini")
    end

    imgui.Process = false

    while true do
        wait(0)   
        if wallhack.v then
            if  isKeyJustPressed(4) then
                wh = not wh
                if wh then
                    nameTagOn()
                else
                    nameTagOff()
                end
            end
            if isKeyDown(119) then
                if wh then
                    nameTagOff()
                    wait(1000)
                    nameTagOn()
                end
            end
        end
        for i = 1, bind_slot do
            if mainBind[i] ~= nil then
                if mainBind[i].act ~= nil and not string.find(mainBind[i].act, "/", 1, true) then
                    if isKeysDown(strToIdKeys(mainBind[i].act)) then
                        thread:run("binder" .. i)
                    end
                end
            end
        end
        if nitro.v then
            if isCharInAnyCar(playerPed) then
                local myCar = storeCarCharIsInNoSave(playerPed)
                local iAm = getDriverOfCar(myCar)
                if iAm == playerPed then
                    if isKeyDown(VK_MENU) then
                        giveNonPlayerCarNitro(myCar)
                    while isKeyDown(VK_MENU) do
                        wait(0)
                        memory.setfloat(getCarPointer(myCar) + 0x08A4, -0.5)
                    end
                    removeVehicleMod(myCar, 1008)
                    removeVehicleMod(myCar, 1009)
                    removeVehicleMod(myCar, 1010)
                end
            else
                 while isCharInAnyCar(playerPed) do
                     wait(0)
                 end
            end
        end
        if isKeyJustPressed(VK_R) and not sampIsChatInputActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() then
            vzaimod.v = not vzaimod.v
            imgui.Process = vzaimod.v
            local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE)
            if valid and doesCharExist(ped) then
                local result, id = sampGetPlayerIdByCharHandle(ped)
                if result then
                    vzaimod.v = true
                    vzID = id
                end
            end
        end       
        if fisheye.v == false then
            if isCurrentCharWeapon(PLAYER_PED, 34) and isKeyDown(2) then
                if not locked then
                    cameraSetLerpFov(70.0, 70.0, 1000, 1)
                    locked = true
                end
            end
        end
        if fisheye.v == true then
            cameraSetLerpFov(101.0, 101.0, 1000, 1)
            locked = false
        end   
        if drift.v then
            if isCharInAnyCar(playerPed) then
                local car = storeCarCharIsInNoSave(playerPed)
                local speed = getCarSpeed(car)
                isCarInAirProper(car)
                setCarCollision(car, true)
                    if isKeyDown(VK_LSHIFT) and isVehicleOnAllWheels(car) and doesVehicleExist(car) and speed > 5.0 then
                        setCarCollision(car, false)
                        if isCarInAirProper(car) then setCarCollision(car, true)
                            if isKeyDown(VK_A)
                            then
                            addToCarRotationVelocity(car, 0, 0, 0.15)
                            end
                            if isKeyDown(VK_D)
                            then             
                            addToCarRotationVelocity(car, 0, 0, -0.15)   
                            end
                        end
                    end
                end
            end   
        end   
        if antiblock.v then
            for i = 0, sampGetMaxPlayerId(false) do
                if sampIsPlayerConnected(i) then
                    local result, id = sampGetCharHandleBySampPlayerId(i)
                    if result then
                        if doesCharExist(id) then
                            local x, y, z = getCharCoordinates(id)
                            local mX, mY, mZ = getCharCoordinates(playerPed)
                            if 0.4 > getDistanceBetweenCoords3d(x, y, z, mX, mY, mZ) then
                                setCharCollision(id, false)
                            end
                        end
                    end
                end
            end   
        end       
    end
end

function ran()
    parol.v = (u8(tostring(mainIni.config.parol)))
    dialog.v = (u8(tostring(mainIni.config.dialog)))
    skipdialog1.v = (u8(tostring(mainIni.config.skipdialog1)))
    skipdialog2.v = (u8(tostring(mainIni.config.skipdialog2)))
    skipdialog3.v = (u8(tostring(mainIni.config.skipdialog3)))
    skipdialog4.v = (u8(tostring(mainIni.config.skipdialog4)))
    skipdialog5.v = (u8(tostring(mainIni.config.skipdialog5)))
    skipdialog6.v = (u8(tostring(mainIni.config.skipdialog6)))
end


function cmd_iddialog()
did = sampGetCurrentDialogId()
sampAddChatMessage(string.format("[DRPHelper] {FFFFFF}Dialog ID: %d", did), 0x5A90CE)
end

function imgui.OnDrawFrame()
    if mainIni.config.theme == 0 then theme1() end
    if mainIni.config.theme == 1 then theme2() end
    if mainIni.config.theme == 2 then theme3() end
    if mainIni.config.theme == 3 then theme4() end
    if mainIni.config.theme == 4 then theme5() end
    if mainIni.config.theme == 5 then theme6() end
    if mainIni.config.theme == 6 then theme7() end
    if mainIni.config.theme == 7 then theme8() end
    if mainIni.config.theme == 8 then theme9() end
    
    local iScreenWidth, iScreenHeight = getScreenResolution()
    
    if not main_window_state.v and not vzaimod.v then
        imgui.Process = false
    end       
    
    if main_window_state.v then   
        imgui.SetNextWindowSize(imgui.ImVec2(900, 905), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    
        imgui.Begin(fa.ICON_FA_SPINNER .. " DRPHelper", main_window_state, imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize)
    
        imgui.BeginChild("##Button", imgui.ImVec2(150, 650), true, imgui.WindowFlags.NoScrollbar)
    
        if not selected then selected = 8 end
        if imgui.Button(fa.ICON_FA_SERVER .. u8" Функции.", imgui.ImVec2(135, 50)) then selected = 1 end
        if imgui.Button(fa.ICON_FA_COGS .. u8" Настройки.", imgui.ImVec2(135, 50)) then selected = 2 end
        if imgui.Button(fa.ICON_FA_BOOK .. u8" Список команд.", imgui.ImVec2(135, 50)) then selected = 3 end
        if imgui.Button(fa.ICON_FA_PLUS .. u8" Читы.", imgui.ImVec2(135, 50)) then selected = 4 end
        if imgui.Button(fa.ICON_FA_SHARE .. u8" Пропустить.", imgui.ImVec2(135, 50)) then selected = 5 end
        if imgui.Button(fa.ICON_FA_SHARE .. u8" РП мод.", imgui.ImVec2(135, 50)) then selected = 6 end
        if imgui.Button(fa.ICON_FA_KEYBOARD .. u8" Биндер.", imgui.ImVec2(135, 50)) then selected = 7 end
        if imgui.Button(fa.ICON_FA_INFO .. u8" Информация.", imgui.ImVec2(135, 50)) then selected = 8 end
        imgui.EndChild()
        imgui.SameLine()
        imgui.BeginGroup()
    

    
        if selected == 1 then
            imgui.BeginChild("##Function", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
            if imgui.Checkbox(u8"Автоматический вод пароля.", autologin) then
                if autologin.v == true then
                    mainIni.config.autolog = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if autologin.v == false then
                    mainIni.config.autolog = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.Checkbox(u8"Дрифт. Активация левый шифт.", drift) then
                if drift.v == true then
                    mainIni.config.drift = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if drift.v == false then
                    mainIni.config.drift = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Фонк сила реп могила. Автор: iTz_WEEZY")   
            if imgui.Checkbox(u8"Анти блок.", antiblock) then
                if antiblock.v == true then
                    mainIni.config.antiblock = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if antiblock.v == false then
                    mainIni.config.antiblock = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Если Вы в игроке, то коллизия включается автоматически, если не в игроке, то коллизия отключается автоматически. Автор: wD.Dl59")           
            imgui.EndChild()
        end
    
        if selected == 2 then
            imgui.BeginChild("##Autologin", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)
            if imgui.InputText(u8'Пароль.', parol) then
                mainIni.config.parol = parol.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Пароль который будет водиться в окно авторизации.(На Diamond не работает)")
            if imgui.InputText(u8'ID диалога.', dialog) then
                mainIni.config.dialog = dialog.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Чтобы узнать ID диалога /diid.")
            imgui.EndChild()
            imgui.BeginChild("##Settingimgui", imgui.ImVec2(400, 160), true, imgui.WindowFlags.NoScrollbar)
            imgui.Text(u8'Цвет скрипта.')
            imgui.PushItemWidth(300)
            if imgui.Combo(u8'##Thema', tema, items, -1)then
                mainIni.config.theme = tema.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.Text(u8'Комманда для активации скрипта')
            imgui.PushItemWidth(300) if imgui.InputText('##Com', command) then
                mainIni.config.command = command.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            if imgui.Button(u8'Перезагрузить скрипт',imgui.ImVec2(300,25)) then
                thisScript():reload()
            end   
            imgui.EndChild()
        end
    
        if selected == 3 then
            imgui.BeginChild("##Spisok", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
            imgui.Text(u8"/helper")
            imgui.SameLine()
            imgui.TextQuestion(u8"Активация по умолчанию.(Заглядывайте в настройки)")
            imgui.Text(u8"/diid")
            imgui.SameLine()
            imgui.TextQuestion(u8"В чате пишет ID диалога.")
            imgui.Text(u8"/gameover")
            imgui.SameLine()
            imgui.TextQuestion(u8"Онлайн за сессию и за весь день.")
            imgui.Text(u8"/dmute")
            imgui.SameLine()
            imgui.TextQuestion(u8"Дать кому-то мут.")
            imgui.Text(u8"/dunmute")
            imgui.SameLine()
            imgui.TextQuestion(u8"Снять с кого-то мут.")
            imgui.Text(u8"/dmutelist")
            imgui.SameLine()
            imgui.TextQuestion(u8"Узнать кто там в муте.")           
            imgui.EndChild()
        end

        if selected == 4 then
            imgui.BeginChild("##Cheats", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
            if imgui.Checkbox(u8"Анти Афк.", aafk) then
                if aafk.v == true then
                    writeMemory(7634870, 1, 1, 1)
                    writeMemory(7635034, 1, 1, 1)
                    memory.fill(7623723, 144, 8)
                    memory.fill(5499528, 144, 6)
                    sampAddChatMessage("[DRPHelper]: {FFFFFF}Анти Афк {04FF00}активирован.", 0x5A90CE)
                end           
                if aafk.v == false then
                    writeMemory(7634870, 1, 0, 0)
                    writeMemory(7635034, 1, 0, 0)
                    memory.hex2bin('5051FF1500838500', 7623723, 8)
                    memory.hex2bin('0F847B010000', 5499528, 6)
                    sampAddChatMessage("[DRPHelper]: {FFFFFF}Анти Афк {FF1212}деактивирован.", 0x5A90CE)
                end   
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Работа в свёрнутом режиме, за его использование можете получить БАН.")
            if imgui.Checkbox(u8"ВХ.", wallhack) then
                if wallhack.v == true then
                    mainIni.config.wh = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if wallhack.v == false then
                    mainIni.config.wh = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end   
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Активация на CKM(Колёсико мыши), за его использование можете получить БАН.")   
            if imgui.Checkbox(u8"Нитро.", nitro) then
                if nitro.v == true then
                    mainIni.config.nitro = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if nitro.v == false then
                    mainIni.config.nitro = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end   
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Активация зажать ALT, быстрый разгон, советую использовать на высокой скоросте несколько секунд и отпустить, за его использование можно получить БАН.")
            if imgui.Checkbox(u8"Рыбий эффект.", fisheye) then
                if fisheye.v == true then
                    mainIni.config.fisheye = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if fisheye.v == false then
                    mainIni.config.fisheye = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end   
            end
            imgui.SameLine()
            imgui.TextQuestion(u8"Увеличивает угол обзора, можно получить БАН. Автор: RECEIVER")           
            imgui.EndChild()
        end
    
        if selected == 5 then   
            imgui.BeginChild("##Skip1", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)
            if imgui.Checkbox(u8"Пропустить №1.", skip1) then
                if skip1.v == true then
                    mainIni.config.skip1 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip1.v == false then
                    mainIni.config.skip1 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №1.', skipdialog1) then
                mainIni.config.skipdialog1 = skipdialog1.v
                        inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
            imgui.BeginChild("##Skip2", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)   
            if imgui.Checkbox(u8"Пропустить №2.", skip2) then
                if skip2.v == true then
                    mainIni.config.skip2 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip2.v == false then
                    mainIni.config.skip2 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №2.', skipdialog2) then
                mainIni.config.skipdialog2 = skipdialog2.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
            imgui.BeginChild("##Skip3", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)   
            if imgui.Checkbox(u8"Пропустить №3.", skip3) then
                if skip3.v == true then
                    mainIni.config.skip3 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip3.v == false then
                    mainIni.config.skip3 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №3.', skipdialog3) then
                mainIni.config.skipdialog3 = skipdialog3.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
            imgui.BeginChild("##Skip4", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)   
            if imgui.Checkbox(u8"Пропустить №4.", skip4) then
                if skip4.v == true then
                    mainIni.config.skip4 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip4.v == false then
                    mainIni.config.skip4 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №4.', skipdialog4) then
                mainIni.config.skipdialog4 = skipdialog4.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
            imgui.BeginChild("##Skip5", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)   
            if imgui.Checkbox(u8"Пропустить №5.", skip5) then
                if skip5.v == true then
                    mainIni.config.skip5 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip5.v == false then
                    mainIni.config.skip5 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №5.', skipdialog5) then
                mainIni.config.skipdialog5 = skipdialog5.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
            imgui.BeginChild("##Skip6", imgui.ImVec2(400, 85), true, imgui.WindowFlags.NoScrollbar)   
            if imgui.Checkbox(u8"Пропустить №6.", skip6) then
                if skip6.v == true then
                    mainIni.config.skip6 = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if skip6.v == false then
                    mainIni.config.skip6 = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
            end
            if imgui.InputText(u8'ID диалога №6.', skipdialog6) then
                mainIni.config.skipdialog6 = skipdialog6.v
                inicfg.save(mainIni, "DRPHelper.ini")
            end
            imgui.EndChild()
        end   

        if selected == 6 then
            imgui.BeginChild("##RPmod", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
            if imgui.Checkbox(u8"Отыгрывать РП при взамодействие с игроком.", rpmod) then
                if rpmod.v == true then
                    sampAddChatMessage("[DRPHelper]: {FFFFFF}РП мод {04FF00}активирован.", 0x5A90CE)
                    mainIni.config.rpmod = true
                    inicfg.save(mainIni, "DRPHelper.ini")
                end
                if rpmod.v == false then
                    sampAddChatMessage("[DRPHelper]: {FFFFFF}РП мод {FF1212}деактивирован.", 0x5A90CE)
                    mainIni.config.rpmod = false
                    inicfg.save(mainIni, "DRPHelper.ini")
                end   
            end           
            imgui.EndChild()
        end
        
        if selected == 7 then
            imgui.BeginChild("##Bind", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
                            imgui.Columns(2, "mycolumns")
                            imgui.Separator()
                            imgui.Text(u8"Активация") ShowHelpMarker("Двойной щелчок по пункту открывает\nнастройку редактора биндера") imgui.NextColumn()
                            imgui.Text(u8"Статус") imgui.NextColumn()
                imgui.Separator()
                for i = 1, bind_slot do
                    if imgui.Selectable(u8"Слот №" .. i, false, imgui.SelectableFlags.AllowDoubleClick) then
                        if (imgui.IsMouseDoubleClicked(0)) then
                            z = i
                            if mainBind[i] == nil then
                                imgui.OpenPopup("SetActivation")
                            else
                                imgui.OpenPopup("ReActivation")
                            end
                        end
                    end
                    imgui.NextColumn()
                    if mainBind[i] ~= nil and mainBind[i].wait ~= nil and mainBind[i].act ~= nil then
                        if change_binder == i and change_binder ~= nil and change_binder ~= "" then
                            imgui.TextColored(imgui.ImVec4(0.4, 0.8, 0.8, 1.0), u8"Ред. | Занято")
                        else
                            imgui.TextColored(imgui.ImVec4(0.8, 0.7, 0.1, 1.0), mainBind[i].act) --u8"Занято"
                            about_bind[i] = true
                        end
                    else
                        if change_binder == i and change_binder ~= nil and change_binder ~= "" then
                            imgui.TextColored(imgui.ImVec4(0.4, 0.8, 0.8, 1.0), u8"Редактируется")
                        else
                            imgui.TextColored(imgui.ImVec4(0.4, 0.8, 0.3, 1.0), u8"Cвободно")
                            about_bind[i] = false
                        end
                end
                    imgui.NextColumn()
                end
            if imgui.BeginPopup("ReActivation") then
                imgui.Text(u8"Выберите нужное действие для (Слот №" .. z .. ")")
                imgui.SetCursorPosX(20)
                if imgui.Button(u8"Удалить") then
                    for i = 1, 30 do
                        mainBind[z][i] = nil
                    end
                    mainBind[z].act = nil
                    mainBind[z].wait = nil
                    mainBind[z] = nil
                    inicfg.save(mainBind, "moonloader\\config\\DRPHelper.ini")
                    imgui.CloseCurrentPopup()
                end
                imgui.SameLine()
                if imgui.Button(u8"Редактировать") then
                    change_binder = z
                    is_changeact = true
                    binder_text[2].v = mainBind[z].act
                    binder_text[3].v = mainBind[z].wait
                    for g = 1, 30 do
                        if mainBind[z][g] == nil then
                            break
                        else
                            if g == 1 then
                                binder_text[1].v = mainBind[z][g]
                            else
                                binder_text[1].v = binder_text[1].v .. "\n" .. mainBind[z][g]
                            end
                        end
                    end
                    imgui.CloseCurrentPopup()
                end
                imgui.SameLine()
                if imgui.Button(u8"Закрыть") then
                    imgui.CloseCurrentPopup()
                end
                imgui.EndPopup()
            end
            if imgui.BeginPopup("SetActivation") then
                imgui.Text(u8"Выберите нужную вам активацию для (Слот №" .. z .. ")")
                imgui.PushItemWidth(240)
                imgui.SetCursorPosX(30)
                imgui.Combo("", selected_item_binder, u8"На клавишу (комбинацию клавиш)\0На команду (прим. /command)\0\0")
                imgui.SetCursorPosX(85)
                if imgui.Button(u8"Выбрать") then
                    change_binder = z
                    binder_text[1].v = ""
                    is_changeact = false
                    if about_bind[z] then
                        binder_text[2].v = mainBind[z].act
                        binder_text[3].v = mainBind[z].wait
                        for g = 1, 30 do
                            if mainBind[z][g] == nil then
                                break
                            else
                                if g == 1 then
                                    binder_text[1].v = mainBind[z][g]
                                else
                                    binder_text[1].v = binder_text[1].v .. "\n" .. mainBind[z][g]
                                end
                            end
                        end
                    else
                        binder_text[2].v = ""
                        binder_text[3].v = ""
                    end

                    imgui.CloseCurrentPopup()
                end
                imgui.SameLine()
                imgui.SetCursorPosX(155)
                if imgui.Button(u8"Закрыть") then
                    imgui.CloseCurrentPopup()
                end
                imgui.EndPopup()
            end
            if bind_slot < 15 then
                imgui.Columns(1)
                imgui.Separator()
            end
            imgui.EndChild()
            imgui.SameLine()
            imgui.BeginChild("notest", imgui.ImVec2(wmine-(wmine-490)+25, 350), true)

            if change_binder ~= nil and change_binder ~= "" then
                imgui.SetCursorPosY(5)
                ShowCenterTextColor(u8("Редакторивание профиля биндера (Слот №" .. change_binder .. ")"), wmine-200, imgui.ImVec4(0.8, 0.7, 0.1, 1.0))
                imgui.Separator()

                if not is_changeact then

                    if selected_item_binder.v == 0 then
                        imgui.BeginChild("change", imgui.ImVec2(118, 20), true)
                        imgui.SetCursorPosY(2)
                        imgui.TextColored(imgui.ImVec4(1.0, 1.0, 0.7, 1.0), getDownKeysText())
                        imgui.EndChild()
                        imgui.SameLine()
                        imgui.SetCursorPosY(28)
                        imgui.Text(u8"Зажмите клавишу/комбинацию клавиш и нажмите")
                        imgui.SameLine()
                        if imgui.Button(u8("Сохранить")) then
                            if getDownKeysText() ~= "None" then
                                binder_text[2].v = getDownKeysText()
                                is_changeact = true
                            else
                                AddChatMessage("Зажмите клавишу/клавиши, после чего повторите попытку")
                            end
                        end
                    else
                        imgui.Text(u8"Активация: /")
                        imgui.SameLine()
                        imgui.PushItemWidth(100)
                        imgui.SetCursorPos(imgui.ImVec2(90, 26))
                        imgui.InputText(u8"##1", binder_text[2])
                        imgui.SameLine()
                        if imgui.Button(u8"Сохранить") then
                            if isReservedCommand(binder_text[2].v) then
                                AddChatMessage("Введенная вами команда является зарезервированной скриптом. Придумайте другую")
                            else
                                if string.find(binder_text[2].v, '/', 1, true) then
                                    AddChatMessage('Знак "/" будет прикреплен к команде позже. В данный момент он не нужен')
                                else
                                    is_changeact = true
                                    binder_text[2].v = "/" .. binder_text[2].v
                                end
                            end
                        end
                    end

                else
                    imgui.SetCursorPosY(30)
                    imgui.Text(u8"Активация:")
                    imgui.SameLine()
                    imgui.SetCursorPosY(30)
                    imgui.TextColored(imgui.ImVec4(0.4, 0.8, 0.3, 1.0), binder_text[2].v)
                    imgui.SameLine()
                    imgui.SetCursorPosY(28)
                    if imgui.Button(u8("Изменить активацию")) then
                        imgui.OpenPopup("ChangeActivation")
                    end
                end

                if (imgui.BeginPopup("ChangeActivation")) then
                    imgui.Text(u8"Выберите нужную вам активацию для (Слот №" .. z .. ")")
                    imgui.PushItemWidth(240)
                    imgui.SetCursorPosX(30)
                    imgui.Combo("", selected_item_binder, u8"На клавишу (комбинацию клавиш)\0На команду (прим. /command)\0\0")
                    imgui.SetCursorPosX(85)
                    if imgui.Button(u8"Выбрать") then
                        if selected_item_binder.v == 1 then
                            if binder_text[2].v ~= "" then
                                if string.find(binder_text[2].v, '/', 1, true) then
                                    binder_text[2].v = string.sub(binder_text[2].v, 2)
                                else
                                    binder_text[2].v = ""
                                end
                            end
                        end
                        is_changeact = false
                        imgui.CloseCurrentPopup()
                    end
                    imgui.SameLine()
                    imgui.SetCursorPosX(155)
                    if imgui.Button(u8"Закрыть") then
                        imgui.CloseCurrentPopup()
                    end
                    imgui.EndPopup()
                end

                imgui.Text(u8"Задержка:")
                imgui.SameLine()
                imgui.PushItemWidth(50)
                imgui.InputText(u8'сек.', binder_text[3], imgui.InputTextFlags.CharsDecimal)
                imgui.SameLine()
                if imgui.Checkbox(u8"Блокировка движений персонажа", cb_lock_player) then
                    imgui.LockPlayer = cb_lock_player.v
                end
                imgui.Separator()
                ShowCenterTextColor(u8("Вводимый текст биндера (для переноса строки нажать Enter)"), wmine-200, imgui.ImVec4(0.8, 0.7, 0.1, 1.0))
                imgui.InputTextMultiline(u8'##3', binder_text[1], imgui.ImVec2(500, 178))
                imgui.SetCursorPosX(120)
                if imgui.Button(u8("Сохранить"), imgui.ImVec2(120, 30)) then
                    if binder_text[1].v == "" or binder_text[2].v == "" then
                        AddChatMessage("Заполните все поля!")
                    else
                        for i = 1, 30 do
                            if mainBind[change_binder] ~= nil then
                                if mainBind[change_binder][i] ~= nil then
                                    mainBind[change_binder][i] = nil
                                else
                                    break
                                end
                            else
                                break
                            end
                        end
                        i = 0
                        for s in string.gmatch(binder_text[1].v, "[^\r\n]+") do
                            i = i + 1
                            if mainBind[change_binder] == nil then
                                mainBind[change_binder] = {}
                            end
                            mainBind[change_binder][i] = s
                        end
                        mainBind[change_binder].act = binder_text[2].v
                        mainBind[change_binder].wait = binder_text[3].v
                        inicfg.save(mainBind, bindPath)
                        AddChatMessage("Данные биндера успешно сохранены!")
                    end
                end
                imgui.SameLine()
                imgui.SetCursorPosX(260)
                if imgui.Button(u8("Отмена"), imgui.ImVec2(120, 30)) then
                    change_binder = ""
                end

            end
            imgui.EndChild()
        end   
    
        if selected == 8 then
            imgui.BeginChild("##Info", imgui.ImVec2(400, 650), true, imgui.WindowFlags.NoScrollbar)
            imgui.Text(u8"Автор скрипта: NetyEgo")
            imgui.SameLine()
            imgui.TextQuestion(u8"Пользователь на BlastHack.")
            imgui.Text(u8"В скрипте отсуствует автообновление.")
            imgui.SameLine()
            imgui.TextQuestion(u8"Придётся иногда заглядывать на BlastHack.")
            imgui.Text(u8"Скрипт предназначен для Diamond RolePlay.")
            imgui.SameLine()
            imgui.TextQuestion(u8"На других проектах будет работать, но он предназначен для Diamond.")
            imgui.Text(u8"Биндер я взял у FORMYS")
            imgui.SameLine()
            imgui.TextQuestion(u8"Канал на ютубе TheChampGuess, там же и научился LUA.")
            imgui.Text(u8"Мут скрипт не мой и он вообще назван P_MUTE.")
            imgui.SameLine()
            imgui.TextQuestion(u8"Автор: mxGzz.")
            imgui.EndChild()
        end
            imgui.EndGroup()
            imgui.End()
    end   
    
    if vzaimod.v then
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5))
        local name = sampGetPlayerNickname(vzID)
        imgui.Begin(u8"Меню взаимодействий", vzaimod, imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize)
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 290) / 2)
        imgui.Text(string.format(u8"Взаимодействие с игроком: %s [%s]", name, vzID))
        imgui.BeginChild("##g_sexbar", imgui.ImVec2(370, 60), true, imgui.WindowFlags.NoScrollbar)
        if rpmod.v then
            if imgui.Button(u8'Показать паспорт', imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat("/do В кармане паспорт.")
                wait(2000)
                sampSendChat("/me взял паспорт в руки и протянул его человеку напротив")
                wait(2000)
                sampSendChat(string.format(u8"/pass %s", vzID))
                end)
                vzaimod.v = false
            end
        else
            if imgui.Button(u8'Показать паспорт', imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat(string.format(u8"/pass %s", vzID))
                end)
                vzaimod.v = false
            end   
        end           
        imgui.SameLine()
        if rpmod.v then
            if imgui.Button(u8'Показать мед.карту', imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat("/do В кармане мед.карта.")
                wait(2000)
                sampSendChat("/me взял мед.карту в руки и протянул её человеку напротив")
                wait(2000)
                sampSendChat(string.format(u8"/med %s", vzID))
                end)
                vzaimod.v = false
            end
        else
            if imgui.Button(u8'Показать мед.карту', imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat(string.format(u8"/med %s", vzID))
                end)
                vzaimod.v = false
            end   
        end           
        imgui.SameLine()
        if rpmod.v then
            if imgui.Button(u8'Показать скиллы', imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat("/do В кармане выписка из тира.")
                wait(2000)
                sampSendChat("/me достал выписку из тира и протянул ее человеку напротив")
                wait(2000)
                sampSendChat(string.format(u8"/skill %s", vzID))
                end)
                vzaimod.v = false
            end
        else   
            if imgui.Button(u8"Показать скиллы", imgui.ImVec2(140, 28)) then
                lua_thread.create(function()
                sampSendChat(string.format(u8"/skill %s", vzID))
                end)
                vzaimod.v = false
            end
        end   
        if rpmod.v then
            if imgui.Button(u8'Показать лицензии', imgui.ImVec2(444,20)) then
                lua_thread.create(function()
                sampSendChat("/do В руках находится пакет с лицензиями.")
                wait(2000)
                sampSendChat("/me открыл пакет достал от туда нужные лицензии и протянул человеку напротив")
                sampSendChat(string.format(u8"/lic %s", vzID))
                end)
                vzaimod.v = false
            end
        else
            if imgui.Button(u8"Показать лицензии", imgui.ImVec2(444,20)) then
                lua_thread.create(function()
                sampSendChat(string.format(u8"/lic %s", vzID))
                end)
                vzaimod.v = false
            end
        end
        imgui.End()
    end
end
основной main_window_state работает, А ВОТ vzaimod не хочет
 
Последнее редактирование: