Рендер

hinazuki

Потрачен
Автор темы
344
94
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.026-beta
Есть гайл по рендеру? Как создавать квадратные фигуры? Кнопки на рендере? Текст?

Как сделать кнопку на рендере? Чтобы при нажатие на него выполнялось действие
 

Hatiko

Известный
Проверенный
1,494
617
Гайдов вроде бы нет, ибо там объяснять нечего. Берёшь, подставляешь нужные значения и помещаешь в цикл.
Там достаточно очень просто. В поиск wiki вбиваешь render и тебе даётся множество функций для работы с мини. И в каждом описании пример есть.

квадратные фигуры?

renderDrawBox

renderFontDrawText как следует из примера, необходимо создать шрифт вне цикла. Но надо учитывать, что не все шрифты можно .юзать. Не юзабельные просто будут отображаться шрифтом Arial. Методом тыка приходится искать рабочие.

Кнопки на рендере?
Рисуешь что-то похожее на кнопку из любых представленных фигур. А для проверки нажатий используешь функцию, к примеру, isKeyJustPressed по предварительной проверке координат курсора по отношению к коордам кнопки, т.е. коорда курсора должна быть больше "начала коорды кнопки" и меньше "начала коорды кнопки" + "размер кнопки", аналогично по высоте Y.
 
Последнее редактирование:

hinazuki

Потрачен
Автор темы
344
94
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Рисуешь что-то похожее на кнопку из любых представленных фигур. А для проверки нажатий используешь функцию, к примеру, isKeyJustPressed по предварительной проверке координат курсора по отношению к коордам кнопки, т.е. коорда курсора должна быть больше "начала коорды кнопки" и меньше "начала коорды кнопки" + "размер кнопки", аналогично по высоте Y.
Даш код? А то я ни х у я не понял
 
  • Ха-ха
Реакции: user390868

hinazuki

Потрачен
Автор темы
344
94
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Даш код? А то я ни х у я не понял
UP UP UP
Гайдов вроде бы нет, ибо там объяснять нечего. Берёшь, подставляешь нужные значения и помещаешь в цикл.
Там достаточно очень просто. В поиск wiki вбиваешь render и тебе даётся множество функций для работы с мини. И в каждом описании пример есть.



renderDrawBox


renderFontDrawText как следует из примера, необходимо создать шрифт вне цикла. Но надо учитывать, что не все шрифты можно .юзать. Не юзабельные просто будут отображаться шрифтом Arial. Методом тыка приходится искать рабочие.


Рисуешь что-то похожее на кнопку из любых представленных фигур. А для проверки нажатий используешь функцию, к примеру, isKeyJustPressed по предварительной проверке координат курсора по отношению к коордам кнопки, т.е. коорда курсора должна быть больше "начала коорды кнопки" и меньше "начала коорды кнопки" + "размер кнопки", аналогично по высоте Y.
Хелпани брат
 

Hatiko

Известный
Проверенный
1,494
617
Грубоговоря в такой форме. Дальше твоя фантазия.
Lua:
local font = renderCreateFont("Arial", 8, 5)

function main()
    repeat wait(100) until isSampAvailable()
    while true do
        wait(0)
       
        if button("Text Button") then
            sampAddChatMessage("Нажата кнопка", -1)
        end
    end
end




function button(v, x, y) -- функция для рендера кнопки / Параметры: v - текст, x,y - коорды кнопки
    renderDrawBox(x,y, 150, 30, 0xFF969696) -- серый прямоугольник с 150 длиной и 30 высоток
    renderFontDrawText(font, v, x+5, y+5, 0xFFFFFFFF) -- рендер текста с небольшим смещением по 5 пикселей.
    local cx, cy = getCursorPos() -- получаем коорды мышки
    local res = false -- статус нажатия кнопки
    if cx > x and cx < x+150 and cy > y and cy < y+30 and isKeyJustPressed(0x01) then -- Проверяем находится курсор мышки в прямоугольной области 150 на 30 кнопки
        res = true -- если мышка в нужной области и нажата ЛКМ, передаём true переменной
    end
    return res -- возвращаемый статус нажатия
end
 
  • Влюблен
Реакции: [w0te]

hinazuki

Потрачен
Автор темы
344
94
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Грубоговоря в такой форме. Дальше твоя фантазия.
Lua:
local font = renderCreateFont("Arial", 8, 5)

function main()
    repeat wait(100) until isSampAvailable()
    while true do
        wait(0)
      
        if button("Text Button") then
            sampAddChatMessage("Нажата кнопка", -1)
        end
    end
end




function button(v, x, y) -- функция для рендера кнопки / Параметры: v - текст, x,y - коорды кнопки
    renderDrawBox(x,y, 150, 30, 0xFF969696) -- серый прямоугольник с 150 длиной и 30 высоток
    renderFontDrawText(font, v, x+5, y+5, 0xFFFFFFFF) -- рендер текста с небольшим смещением по 5 пикселей.
    local cx, cy = getCursorPos() -- получаем коорды мышки
    local res = false -- статус нажатия кнопки
    if cx > x and cx < x+150 and cy > y and cy < y+30 and isKeyJustPressed(0x01) then -- Проверяем находится курсор мышки в прямоугольной области 150 на 30 кнопки
        res = true -- если мышка в нужной области и нажата ЛКМ, передаём true переменной
    end
    return res -- возвращаемый статус нажатия
end
Ебать последняя пазль нашлась, спасибо тебе🥰
 

hinazuki

Потрачен
Автор темы
344
94
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Грубоговоря в такой форме. Дальше твоя фантазия.
Lua:
local font = renderCreateFont("Arial", 8, 5)

function main()
    repeat wait(100) until isSampAvailable()
    while true do
        wait(0)
      
        if button("Text Button") then
            sampAddChatMessage("Нажата кнопка", -1)
        end
    end
end




function button(v, x, y) -- функция для рендера кнопки / Параметры: v - текст, x,y - коорды кнопки
    renderDrawBox(x,y, 150, 30, 0xFF969696) -- серый прямоугольник с 150 длиной и 30 высоток
    renderFontDrawText(font, v, x+5, y+5, 0xFFFFFFFF) -- рендер текста с небольшим смещением по 5 пикселей.
    local cx, cy = getCursorPos() -- получаем коорды мышки
    local res = false -- статус нажатия кнопки
    if cx > x and cx < x+150 and cy > y and cy < y+30 and isKeyJustPressed(0x01) then -- Проверяем находится курсор мышки в прямоугольной области 150 на 30 кнопки
        res = true -- если мышка в нужной области и нажата ЛКМ, передаём true переменной
    end
    return res -- возвращаемый статус нажатия
end
А как можно сделать чтобы при наведение на кнопку мышкой цвет кнопки менялось как в имгуй?