cheat
Три core-хелпера от Serotonin runtime: регистрация event'ов (Register), запрос window size (GetWindowSize), runtime-исполнение кода (LoadString). 3 канонических функции.
| Функций | 3 (8 с алиасами) |
| Проверено вживую | 2 из 3 (Register и GetWindowSize) |
| Требуемый event | нет |
| Сайд-эффекты | Register добавляет персистентный per-event callback который нельзя unregister на время жизни скрипта. LoadString исполнял бы код если бы работал. |
Алиасы.
Registerимеет две формы (cheat.Register/cheat.register).GetWindowSizeиLoadStringимеют по три формы (PascalCase / camelCase / snake_case). См. Обзор / Конвенция именования.
Алиасы это разные function objects. Проверено:
cheat.Register == cheat.registerвозвращаетfalse, хотя они вызывают одну underlying C-функцию и ведут себя идентично. Не полагайся на==для идентификации конкретной API-функции, сравнивай по имени.
Краткий справочник
| Функция | Сигнатура | Заметка | Статус |
|---|---|---|---|
Register | (event: string, callback: function) | регистрирует callback для именованного event'а. Без валидации event-имени, см. ниже | проверено |
GetWindowSize | () → width, height (multi-return) | размер окна Roblox в пикселях | проверено |
LoadString | (name: string, code: string) | runtime-исполнение кода. Сломан в билде version-390ba09e7e944154 | частично |
Register
cheat.Register(event: string, callback: function)
Регистрирует callback для именованного event'а. Callback вызывается каждый раз когда чит диспатчит этот event.
Известные диспатчируемые event'ы
| Имя event'а | Когда срабатывает |
|---|---|
onUpdate | logic tick (~5 мс) |
onSlowUpdate | background tick (~1 с) |
onPaint | per-frame, обязательный контекст для всех draw.* |
shutdown | при выгрузке скрипта |
newPlace | при teleport'е игрока в новое место |
Важно: НЕТ валидации event-имени
Проверено: cheat.Register молча принимает любую строку (или число) в первом аргументе, включая:
- Garbage-имена вроде
"totally_invalid_event_xyz_999"→ok = true, без ошибки - Пустую строку
""→ok = true - Wrong-case версии known events:
"OnUpdate","ONUPDATE","on_update"→ всеok = true - Число:
Register(123, function() end)→ok = true
Эти вызовы регистрируют callback во внутреннюю таблицу, но callback никогда не сработает потому что никто не диспатчит это event-имя. 5 имён в таблице выше case-sensitive и единственные которые чит реально диспатчит.