Игрок и мир
Всё, что скрипт знает об игре: собственное состояние, чужие сущности, блоки вокруг и модули самого клиента.
Игрок
player.exists()игрок в мире — с этой проверки начинается колбэкplayer.pos() / player.eye_pos()координаты, три значенияplayer.rotation()yaw и pitchplayer.speed()горизонтальная скорость в блоках в секундуplayer.health() / absorption() / armor() / food()показателиplayer.state()sneaking, sprinting, in_water, flying и прочееplayer.effects()эффекты: id, name, level, duration, categoryplayer.cooldowns()перезарядка предметов: progress, ticks, secondsplayer.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")
endentity.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, hardnessworld.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
endmodules.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