Что делать если нужной функции нет в api

Урок (или не урок)

Если нет функции для получения чего-либо из игры

Если вам не хватает какой-либо функции, допустим если вы хотите получить фпс из игры, вы всегда можете написать мне в вк с просьбой добавить её. Мой ВКонтакте.

Если нет другой функции

Для этого случая есть довольно простой выход. Можно получить данные из Java. За пример возьмём получение даты.

Для начала ищем нужный нам код на Java

Смотрим, что для этого используется. В данном случае нам нужен SimpleDateFormat и Date

Вводим оба в браузер и добавляем к слову " java"

и на первой высветившейся странице ищем путь до файла в таком виде

java.text.SimpleDateFormat - то что нам надо

Проделаем то же самое с Date - получим java.util.Date

Далее нам нужно импортировать их в наш скрипт и перевести код с Java на Lua.

script:name("Get Date")
script:devs({"ConeTin"})
script:desc(":D")

SimpleDateFormat = luajava.bindClass("java.text.SimpleDateFormat")
Date = luajava.bindClass("java.util.Date")

print(SimpleDateFormat.new("dd-MM-yyyy"):format(Date.new()));

Ради бонуса, можно переписать этот код на получение времени и добавить его в ватермарку.

script:name("Watermark") -- Имя скрипта
script:devs({"ConeTin"}) -- Разработчики
script:desc("Example Script") -- Описание

SimpleDateFormat = luajava.bindClass("java.text.SimpleDateFormat")
Date = luajava.bindClass("java.util.Date")

watermark = drag.new("Watermark"):set_x(100):set_y(100):set_width(100):set_height(20)

events.render_2d:set(function(event)
    text = "Example.lua | " .. SimpleDateFormat.new("HH:mm:ss"):format(Date.new())

    render:rect(watermark:x(), watermark:y(), render:text_width(text) + 25, 19, 4, color.new(1,1,1,1))
    render:image("icon.png", watermark:x() + 3, watermark:y() + 3, 12, 12, color.new(0,0,0))
    render:text(text, watermark:x() + 18, watermark:y() + 3, color.new(0,0,0))
end)

Last updated