Документация
Скрипты
К скриптам
Данные

Игрок и мир

Всё, что скрипт знает об игре: собственное состояние, чужие сущности, блоки вокруг и модули самого клиента.

Игрок

player.exists()игрок в мире — с этой проверки начинается колбэк
player.pos() / player.eye_pos()координаты, три значения
player.rotation()yaw и pitch
player.speed()горизонтальная скорость в блоках в секунду
player.health() / absorption() / armor() / food()показатели
player.state()sneaking, sprinting, in_water, flying и прочее
player.effects()эффекты: id, name, level, duration, category
player.cooldowns()перезарядка предметов: progress, ticks, seconds
player.held_item(hand) / armor_items() / hotbar()экипировка
player.max_health() / saturation() / xp() / air()расширенные показатели
player.attack_cooldown() / reach() / using()заряд удара, досягаемость, что сейчас используется
player.block_pos() / look_vector() / collision()блок под ногами, вектор взгляда, упор в стену
player.jump() / set_sprinting() / set_rotation() / set_velocity()управление движением
player.set_key(name, bool)держать клавишу движения
player.find_item(id) / swap_slot / select_slotвзять предмет в руку — подробно в «Инвентарь и действия»

Предмет приходит таблицей: id, name, empty, count, damage, max_damage, durability от нуля до единицы и enchanted.

Сущности

Один и тот же объект сущности возвращают world.players(), world.crosshair_entity(), aura.target() и событие attack.

local target = aura.target() or world.crosshair_entity()

if target then
    local hp = target.health() + target.absorption()
    render.font_text(target.name() .. "  " .. math.floor(hp), x, y, 0xFFFFFFFF, 7, "medium")
end
entity.name() / health() / max_health()имя и здоровье
entity.absorption()золотые сердца
entity.armor()четыре слота брони сверху вниз
entity.held_item(hand)предмет в руке
entity.effects()эффекты цели
entity.ping() / gamemode()данные из таб-листа
entity.sneaking() / sprinting() / using_item()состояние
entity.hurt_time()тики красной вспышки после удара
entity.distance_to_player()расстояние до вас

Мир

world.block_info(x, y, z)id, air, solid, replaceable, liquid, hardness
world.light(x, y, z) / is_air(x, y, z)свет и проверка на воздух
world.entities() / players()списки сущностей
world.nearest_player(dist)ближайший игрок
world.entities_in_box(range)всё вокруг игрока
world.raycast(distance, yaw, pitch)луч из глаз: hit, x, y, z, side, block

Обход большого объёма блоков дробите по тикам: один вызов колбэка ограничен четвертью секунды, иначе клиент выгрузит скрипт.

Модули клиента

for _, module in ipairs(modules.list()) do
    if module.enabled() and module.bind() ~= 0 then
        print(module.name, module.bind_name())
    end
end

modules.list(category) отдаёт модули выбранной категории — Combat, Movement, Visuals, Player, Miscellaneous. У модуля есть enabled(), toggle(), bind_name(), animation() и доступ к настройкам.

Своё состояние между сессиями

Локальные переменные живут до перезагрузки скрипта. Чтобы значение пережило перезаход в игру, положите его в storage — оно уйдёт в конфиг клиента.

local best = storage.get("best_combo", 0)

if combo > best then
    best = combo
    storage.set("best_combo", best)
end