Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1) элементы меню
- возьмем например чекбокс
- local overlay_enable = ui.new_checkbox("visuals", "otheresp", "Watermark", "vis_overlay_enable")
- Видим в вызове функции new_checkbox несколько аргументов
- в кратце опишу, что есть что
- "visuals" - вкладка, куда будет добавлен наш чекбокс
- "otheresp" - название под-вкладки, которое можно увидеть в меню
- "Watermark" - название чекбокса, который будет добавлен
- "vis_overlay_enable" - запись параметра чекбокса (true/false) в конфиге
- соответственно, в результате мы получим такую кнопку:
- FluxBB bbcode test
- заебок, кнопку родили, но чо толку от кнопки, если она ничего не делает?
- покажу на примере луашки с ватермарком
- для начала создаем шрифт, который будем юзать для отрисовки текста, и пару переменных, которые нам понадобятся
- local font = surface.create_font("Raleway", 16, 500, 0, FONTFLAGS.NONE)
- local old_fps = 0
- local old_time = 0
- тут все понятно, разжевывать нет смысла
- далее сама функция
- local function paint()
- if not config.get(overlay_enable) then
- return
- end
- if math.floor(globals.realtime()) ~= old_time then
- old_fps = math.floor(1.0 / globals.frametime())
- old_time = math.floor(globals.realtime())
- end
- local r, g, b, a = config.get("menu_color")
- local w, h = engine.get_screen_size()
- surface.set_color(r, g, b, a)
- surface.draw_filled_rect(w - 300, 5, w - 5, 25)
- surface.set_text_font(font)
- surface.set_text_color(255, 255, 255, 255)
- surface.set_text_pos(w - 295, 7)
- surface.draw_text("samoware | " .. cheat.get_user_name() .. " | " .. tostring(old_fps) .. " FPS")
- end
- видим проверку внутри функции
- if not config.get(overlay_enable) then
- return
- end
- что она дает? тупо чек с возвратом на чекбокс, который мы создавали в начале
- чекбокс не активен - функция не выполняется
- палим дальше
- if math.floor(globals.realtime()) ~= old_time then
- old_fps = math.floor(1.0 / globals.frametime())
- old_time = math.floor(globals.realtime())
- end
- тут мы присваиваем значения тем переменным, которые мы задавали вначале (соответственно, значение этих переменных, тобиш фпс мы и будем рендерить в итоге)
- что дальше:
- local r, g, b, a = config.get("menu_color")
- local w, h = engine.get_screen_size()
- surface.set_color(r, g, b, a)
- surface.draw_filled_rect(w - 300, 5, w - 5, 25)
- surface.set_text_font(font)
- surface.set_text_color(255, 255, 255, 255)
- surface.set_text_pos(w - 295, 7)
- surface.draw_text("samoware | " .. cheat.get_user_name() .. " | " .. tostring(old_fps) .. " FPS")
- первые 4 переменные - цвет меню (который используется для окраски прямоугольника для ватермарка)
- далее w & h - записываем разрешение окна игры
- после этого, рисуем на сурфейсе прямоугольник (перед этим присвоив ему цвет с помощью surface.set_color)
- с аргументами при отрисовки прямоугольника думаю все просто - левый край, верхний край, правый край и нижний край прямоугольника
- далее мы создаем шрифт, который будем юзать для буков в ватермарке, красим его в цвет, какой нам нравица, и задаем ему координаты (точнее координаты, возле которых отрисуется 1 буква текста, x и y, как в математике)
- далее идет сама функция draw_text
- поскольку мы хотим юзать не только статичный текст, то нам придется юзать кавычки
- объясню опять же, на примере данной луашки
- сперва открываем кавычку, пишем САМОВАР, шобы все знали что за топ софтец
- потом ставим наш блатной разделитель | , чтоб ватермарк статусно выглядел. дорого-богато
- потом нам нужно сделать отрисовку нашего имени, чтобы на всех скринах и медиях было понятно, кто топ хавэха
- открываем кавычку, ставим 2 точки, пробел, и дальше нашу переменную, которую будет отрисовывать (в данном случае get_user_name, которая берет имя учетной записи винды)
- ставим пробел, 2 точки и закрываем кавычку (все тоже самое что и вначале, тока наоборот)
- дальше опять ставим | (много | не бывает), и теперь делаем отрисовку фпс (юзаю ту самую переменную old_fps)
- все просто, как и c get_user_name. потом тупо пишем FPS, чтобы понятно было, что за цифры отрисовываются, закрываем кавычку и скобку
- Готово, подумаете вы? а хуй там
- теперь нам нужно сделать калбек в paint-traverse, чтобы эта хуета отрисовывалась
- cheat.set_event_callback("on_paint", paint)
- тут все изи
- 1 аргумент отвечает за хук, в котором будет юзатся функция (on_paint - paint-traverse, on_create_move - createmove, on_frame_stage_notify - fsn и т.д.)
- 2 аргумент нужен.. эммм
- хуй его знает, нахуй он нужен, помоему там нихуя не меняется, чтобы я не писал
- окей с этой луашкой +- разбрались
- сама луашка находится в этой теме CLICK
- coming soon..
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement