Проблема с курсором в рендере

W1ll04eison

Участник
Автор темы
328
19
Версия MoonLoader
.026-beta
Вообщем, суть такова, когда я прописываю команду </keyset> должна срабатывать настройка положения рендера кнопок на экране, сама настройка то срабатывает, но курасор(от которого и берется положение по Y и X не появляется)
Прошу помочь

Код:
Lua:
require 'moonloader'
local events = require 'lib.samp.events'
local inicfg = require 'inicfg'
local font = renderCreateFont('Century Gothic', 14, 5)

--local W, H = getScreenResolution()
--local X, Y = W * 0.5, H * 0.75
--=====================================================--
local tag = "[Key Render]:"
local blue = '{00BFFF}' -- синий
local blue_color = 0x00BFFF -- синий цвет
local white = '{FFFFFF}' -- белый
local white_color = 0xFFFFFF -- белый цвет
local red = '{FF0000}' -- красный
local red_color = 0xFF0000 -- красный цвет
local orange = '{FFA500}' -- ораньжевый
local orange_color = 0xFFA500 -- ораньжевый цвет
local green = '{008000}' -- зеленый
local green_color = 0x008000 -- зеленый цвет
local banan = '{FFE4B5}' -- отдельенный банановый
local banan_color = 0xFFE4B5 -- отдаленный банановый цвет
local Violet = 0x8A2BE2 --фиолетовый
local Violet = '{8A2BE2}' --фиолетовый
local red = '{FF0000}'-- красный
local color_red = 0xFF0000 -- красный
local ber = '{00FFFF}' -- берюзовый
local ber_color = 0x00FFFF -- берюзовый цвет
local laim = '{00FF00}' --лаймовый
local laim_color = 0x00FF00 -- лаймовый цвет
local yellow = '{FFFF00}' --желтый
local yellow_color = 0xFFFF00 -- желтый цвет

--=====================================================--
local directIniiiiii = 'KeyRender.ini'
local ini = inicfg.load(inicfg.load({
    pos = {
        x = select(1, getScreenResolution()),
        y = select(2, getScreenResolution()),
    },
}, directIniiiiii))
inicfg.save(ini, directIniiiiii)
local posX, posY = ini.pos.x, ini.pos.y
--=====================================================--
local editingPos = false

local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local show = true
local freeze = false
--local nx, ny = 1580, 350
local X, Y = posX, posY
function get_box_color(key)
    return not freeze and isKeyDown(key) and 0xFFFFFFFF or 0xFF00CCCC
end

function get_text_color(key)
    return not freeze and isKeyDown(key) and 0xFF00CCCC or 0xFFFFFFFF
end


function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(0) end
    
    thread = lua_thread.create_suspended(thread_function)
    
    sampRegisterChatCommand("keyset", function()
        sampAddChatMessage(tag..' {FFFFFF}Для сохранение нажмите {ff004d}ПРОБЕЛ', 0x00FFFF)
        editingPos = true
    end)
    
    while true do
    wait(0)
        if show then
            freeze = sampIsChatInputActive() or sampIsDialogActive()

            renderDrawBox(X - 37, Y, 35, 35, get_box_color(VK_Q))
            renderFontDrawText(font, 'Q', X - 28, Y + 4, get_text_color(VK_Q)) --================КНОПКА "Q"===============--
            
            renderDrawBox(X, Y, 35, 35, get_box_color(VK_W))
            renderFontDrawText(font, 'W', X + 9, Y + 4, get_text_color(VK_W))--================КНОПКА "W"===============--
            
            renderDrawBox(X + 37, Y, 35, 35, get_box_color(VK_E))
            renderFontDrawText(font, 'E', X + 47, Y + 4, get_text_color(VK_E))--================КНОПКА "E"===============--

            renderDrawBox(X - 37, Y + 37, 35, 35, get_box_color(VK_A))
            renderFontDrawText(font, 'A', X - 28, Y + 41, get_text_color(VK_A))--================КНОПКА "A"===============--

            renderDrawBox(X, Y + 37, 35, 35, get_box_color(VK_S))
            renderFontDrawText(font, 'S', X + 12, Y + 41, get_text_color(VK_S))--================КНОПКА "S"===============--

            renderDrawBox(X + 37, Y + 37, 35, 35, get_box_color(VK_D))
            renderFontDrawText(font, 'D', X + 47, Y + 41, get_text_color(VK_D))--================КНОПКА "D"===============--

            renderDrawBox(X + 37, Y + 74, 35, 35, get_box_color(VK_C))
            renderFontDrawText(font, 'C', X + 47, Y + 78, get_text_color(VK_C))--================КНОПКА "C"===============--

            renderDrawBox(X - 37, Y + 111, 160, 35, get_box_color(VK_SPACE))
            renderFontDrawText(font, 'SPACE', X + 10, Y + 115, get_text_color(VK_SPACE))--================КНОПКА "ПРЫЖОК"===============--

            renderDrawBox(X - 37, Y + 74, 72, 35, get_box_color(VK_LSHIFT))
            renderFontDrawText(font, 'SHIFT', X - 25, Y + 79, get_text_color(VK_LSHIFT))--================КНОПКА "SHIFT"===============--
            
            renderDrawBox(X + 75, Y + 37, 48, 35, get_box_color(VK_LBUTTON))
            renderFontDrawText(font, 'LMB', X + 79, Y + 41, get_text_color(VK_LBUTTON))--================КНОПКА "ЛЕВАЯ КНОПКА МЫШИ"===============--
            
            renderDrawBox(X + 135, Y + 37, 48, 34, get_box_color(VK_RBUTTON))
            renderFontDrawText(font, 'RMB', X + 140, Y + 41, get_text_color(VK_RBUTTON))--================КНОПКА "ПРАВАЯ КНОПКА МЫШИ"===============--
            
            renderDrawBox(X - 89, Y + 73, 50, 35, get_box_color(VK_MENU))
            renderFontDrawText(font, 'ALT', X - 80, Y + 79, get_text_color(VK_MENU))--================КНОПКА "ALT"===============--
            
            renderDrawBox(X - 89, Y + 111, 50, 35, get_box_color(VK_CONTROL))
            renderFontDrawText(font, 'CTRL', X - 86, Y + 115, get_text_color(VK_CONTROL))--================КНОПКА "CTRL"===============--
            
            renderDrawBox(X + 105, Y + 75, 48, 34, get_box_color(VK_MBUTTON))
            renderFontDrawText(font, 'SMB', X + 110, Y + 79, get_text_color(VK_MBUTTON))--================КНОПКА "СРЕДНЯЯ КНОПКА МЫШИ"===============--

        end
        if editingPos and show then
            curX, curY = getCursorPos()
            posX, posY = curX, curY
            if wasKeyPressed(32) then
                sampAddChatMessage(tag..' {FFFFFF}Новое положение сохранено', 0x00FFFF)
                editingPos = false
                posX, posY = curX, curY
                save()
            end
        end
    end
end

function save()

    ini.pos.x, ini.pos.y = posX, posY

    inicfg.save(ini, directIniiiiii)
end
 

CaJlaT

07.11.2024 14:55
Модератор
2,836
2,674
Вообщем, суть такова, когда я прописываю команду </keyset> должна срабатывать настройка положения рендера кнопок на экране, сама настройка то срабатывает, но курасор(от которого и берется положение по Y и X не появляется)
Прошу помочь

Код:
Lua:
require 'moonloader'
local events = require 'lib.samp.events'
local inicfg = require 'inicfg'
local font = renderCreateFont('Century Gothic', 14, 5)

--local W, H = getScreenResolution()
--local X, Y = W * 0.5, H * 0.75
--=====================================================--
local tag = "[Key Render]:"
local blue = '{00BFFF}' -- синий
local blue_color = 0x00BFFF -- синий цвет
local white = '{FFFFFF}' -- белый
local white_color = 0xFFFFFF -- белый цвет
local red = '{FF0000}' -- красный
local red_color = 0xFF0000 -- красный цвет
local orange = '{FFA500}' -- ораньжевый
local orange_color = 0xFFA500 -- ораньжевый цвет
local green = '{008000}' -- зеленый
local green_color = 0x008000 -- зеленый цвет
local banan = '{FFE4B5}' -- отдельенный банановый
local banan_color = 0xFFE4B5 -- отдаленный банановый цвет
local Violet = 0x8A2BE2 --фиолетовый
local Violet = '{8A2BE2}' --фиолетовый
local red = '{FF0000}'-- красный
local color_red = 0xFF0000 -- красный
local ber = '{00FFFF}' -- берюзовый
local ber_color = 0x00FFFF -- берюзовый цвет
local laim = '{00FF00}' --лаймовый
local laim_color = 0x00FF00 -- лаймовый цвет
local yellow = '{FFFF00}' --желтый
local yellow_color = 0xFFFF00 -- желтый цвет

--=====================================================--
local directIniiiiii = 'KeyRender.ini'
local ini = inicfg.load(inicfg.load({
    pos = {
        x = select(1, getScreenResolution()),
        y = select(2, getScreenResolution()),
    },
}, directIniiiiii))
inicfg.save(ini, directIniiiiii)
local posX, posY = ini.pos.x, ini.pos.y
--=====================================================--
local editingPos = false

local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local show = true
local freeze = false
--local nx, ny = 1580, 350
local X, Y = posX, posY
function get_box_color(key)
    return not freeze and isKeyDown(key) and 0xFFFFFFFF or 0xFF00CCCC
end

function get_text_color(key)
    return not freeze and isKeyDown(key) and 0xFF00CCCC or 0xFFFFFFFF
end


function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(0) end
   
    thread = lua_thread.create_suspended(thread_function)
   
    sampRegisterChatCommand("keyset", function()
        sampAddChatMessage(tag..' {FFFFFF}Для сохранение нажмите {ff004d}ПРОБЕЛ', 0x00FFFF)
        editingPos = true
    end)
   
    while true do
    wait(0)
        if show then
            freeze = sampIsChatInputActive() or sampIsDialogActive()

            renderDrawBox(X - 37, Y, 35, 35, get_box_color(VK_Q))
            renderFontDrawText(font, 'Q', X - 28, Y + 4, get_text_color(VK_Q)) --================КНОПКА "Q"===============--
           
            renderDrawBox(X, Y, 35, 35, get_box_color(VK_W))
            renderFontDrawText(font, 'W', X + 9, Y + 4, get_text_color(VK_W))--================КНОПКА "W"===============--
           
            renderDrawBox(X + 37, Y, 35, 35, get_box_color(VK_E))
            renderFontDrawText(font, 'E', X + 47, Y + 4, get_text_color(VK_E))--================КНОПКА "E"===============--

            renderDrawBox(X - 37, Y + 37, 35, 35, get_box_color(VK_A))
            renderFontDrawText(font, 'A', X - 28, Y + 41, get_text_color(VK_A))--================КНОПКА "A"===============--

            renderDrawBox(X, Y + 37, 35, 35, get_box_color(VK_S))
            renderFontDrawText(font, 'S', X + 12, Y + 41, get_text_color(VK_S))--================КНОПКА "S"===============--

            renderDrawBox(X + 37, Y + 37, 35, 35, get_box_color(VK_D))
            renderFontDrawText(font, 'D', X + 47, Y + 41, get_text_color(VK_D))--================КНОПКА "D"===============--

            renderDrawBox(X + 37, Y + 74, 35, 35, get_box_color(VK_C))
            renderFontDrawText(font, 'C', X + 47, Y + 78, get_text_color(VK_C))--================КНОПКА "C"===============--

            renderDrawBox(X - 37, Y + 111, 160, 35, get_box_color(VK_SPACE))
            renderFontDrawText(font, 'SPACE', X + 10, Y + 115, get_text_color(VK_SPACE))--================КНОПКА "ПРЫЖОК"===============--

            renderDrawBox(X - 37, Y + 74, 72, 35, get_box_color(VK_LSHIFT))
            renderFontDrawText(font, 'SHIFT', X - 25, Y + 79, get_text_color(VK_LSHIFT))--================КНОПКА "SHIFT"===============--
           
            renderDrawBox(X + 75, Y + 37, 48, 35, get_box_color(VK_LBUTTON))
            renderFontDrawText(font, 'LMB', X + 79, Y + 41, get_text_color(VK_LBUTTON))--================КНОПКА "ЛЕВАЯ КНОПКА МЫШИ"===============--
           
            renderDrawBox(X + 135, Y + 37, 48, 34, get_box_color(VK_RBUTTON))
            renderFontDrawText(font, 'RMB', X + 140, Y + 41, get_text_color(VK_RBUTTON))--================КНОПКА "ПРАВАЯ КНОПКА МЫШИ"===============--
           
            renderDrawBox(X - 89, Y + 73, 50, 35, get_box_color(VK_MENU))
            renderFontDrawText(font, 'ALT', X - 80, Y + 79, get_text_color(VK_MENU))--================КНОПКА "ALT"===============--
           
            renderDrawBox(X - 89, Y + 111, 50, 35, get_box_color(VK_CONTROL))
            renderFontDrawText(font, 'CTRL', X - 86, Y + 115, get_text_color(VK_CONTROL))--================КНОПКА "CTRL"===============--
           
            renderDrawBox(X + 105, Y + 75, 48, 34, get_box_color(VK_MBUTTON))
            renderFontDrawText(font, 'SMB', X + 110, Y + 79, get_text_color(VK_MBUTTON))--================КНОПКА "СРЕДНЯЯ КНОПКА МЫШИ"===============--

        end
        if editingPos and show then
            curX, curY = getCursorPos()
            posX, posY = curX, curY
            if wasKeyPressed(32) then
                sampAddChatMessage(tag..' {FFFFFF}Новое положение сохранено', 0x00FFFF)
                editingPos = false
                posX, posY = curX, curY
                save()
            end
        end
    end
end

function save()

    ini.pos.x, ini.pos.y = posX, posY

    inicfg.save(ini, directIniiiiii)
end
Так ты и не переключаешь отображение курсора....