📌 Базовые функции
Эти функции доступны в любом Lua-скрипте Aurora Cheat.
| Функция | Описание |
|---|---|
log(message) | Выводит сообщение в консоль чита. |
sleep(seconds) | Приостанавливает выполнение скрипта (в секундах). |
💾 Чтение и запись памяти
Прямая работа с памятью процесса CS2. Поддерживаются все стандартные типы.
Чтение памяти
| Функция | Описание |
|---|---|
read_float(address) | Читает 4 байта как float. |
read_int(address) | Читает 4 байта как int. |
read_bool(address) | Читает 1 байт как bool. |
read_string(address [, max_len]) | Читает строку (по умолчанию 64 символа). |
read_netvar(entity, prop_name) | Читает поле сущности по имени (автоматически ищет смещение). |
Запись памяти
| Функция | Описание |
|---|---|
write_float(address, value) | Записывает float (4 байта). |
write_int(address, value) | Записывает int. |
write_bool(address, value) | Записывает 0/1 (true/false). |
🎮 Игровые константы (оффсеты)
Все смещения автоматически загружаются из cs2-dumper и доступны как глобальные переменные.
| Переменная | Описание |
|---|---|
dwCSGOInput | Смещение CSGOInput |
dwEntityList | Смещение списка сущностей |
dwGameRules | Смещение игровых правил |
dwGlobalVars | Смещение глобальных переменных |
dwGlowManager | Смещение менеджера свечения |
dwLocalPlayerController | Смещение локального контроллера |
dwLocalPlayerPawn | Смещение локального Pawn |
dwPlantedC4 | Смещение установленной бомбы |
dwPrediction | Смещение Prediction |
dwSensitivity | Смещение чувствительности |
dwSensitivity_sensitivity | Смещение внутри Sensitivity |
dwViewAngles | Смещение ViewAngles |
dwViewMatrix | Смещение матрицы вида |
dwViewRender | Смещение ViewRender |
dwWeaponC4 | Смещение C4 |
📝 Структура скрипта
Каждый скрипт может содержать три опциональных функции жизненного цикла:
function on_enable()
-- вызывается при включении скрипта
end
function on_disable()
-- вызывается при выключении скрипта
end
function on_tick()
-- вызывается ~100 раз в секунду (каждые 10 мс)
end
Совет: тяжёлую логику лучше выносить в
on_tick, но не забывайте про sleep, чтобы не перегружать CPU.
🎯 API: entitylist
Объект entitylist предоставляет методы для работы с сущностями игры.
| Метод | Описание |
|---|---|
entitylist.get_local_player_controller() |
Возвращает адрес локального контроллера (base_entity_t) |
entitylist.get_local_player_pawn() |
Возвращает адрес локального Pawn (base_entity_t) |
entitylist.get_game_rules() |
Возвращает адрес C_CSGameRules |
entitylist.get_entity_from_handle(handle) |
Преобразует handle (число) в указатель на сущность (base_entity_t) |
entitylist.get_entities(callback [, class_name]) |
Перебирает все сущности и вызывает callback(entity, health, team) для каждой. Если указан class_name, фильтрует по имени класса (опционально). |
Пример использования
function on_enable()
log("Scanning entities...")
end
function on_tick()
local pawn = entitylist.get_local_player_pawn()
if pawn ~= 0 then
local hp = read_netvar(pawn, "m_iHealth")
log("My HP: " .. hp)
end
entitylist.get_entities(function(entity, health, team)
if health > 0 and team ~= my_team then
log("Enemy at " .. tostring(entity))
end
end)
end
🔍 Работа с NetVars
Функция read_netvar(entity, prop_name) автоматически находит смещение по имени поля в файле client_dll.json и читает его значение как int.
-- Пример: получить здоровье игрока
local hp = read_netvar(pawn, "m_iHealth")
log("Health: " .. hp)
В будущем планируется поддержка чтения других типов (
float, bool) и записи.
⚙️ Дополнительные возможности
Вы также можете использовать все оффсеты напрямую:
local pawn = read_int(client_base + dwLocalPlayerPawn)
local health = read_int(pawn + m_iHealth)
-- m_iHealth также доступен как глобальная переменная
Все смещения из offsets.json и client_dll.json автоматически загружаются и доступны в Lua как глобальные переменные.
Нашли баг или есть вопросы? Пишите через форму обратной связи.