В отличие от событийно-ориентированного скриптинга, как в Roblox, игры в All Out используют модель жизненного цикла кадра, которая позволяет запускать код при старте игры, каждый кадр и в конце сессии.
Все игры All Out работают по простому жизненному циклу: некоторые обратные вызовы происходят один раз при запуске, а некоторые — каждый кадр.
Вы будете реализовывать эти обратные вызовы одним из следующих способов:
Глобально (верхнеуровневые ao_* процедуры в main.csl), или
На компонентах (методы вроде ao_update внутри Player или ваших собственных Component подклассов)
Повторно используемое поведение сущностей: поместите это в пользовательские компоненты (см. Сущности и компоненты)
Глобальная координация / правила: поместите это в глобальный жизненный цикл (ao_* процедуры)
Сервер против локального
All Out синхронизирует состояние игрового процесса с сервера на клиенты автоматически, но вам всё равно стоит держать только косметические вещи локальными.
Используйте:
is_local_or_server() для игрового интерфейса + обработки ввода (работает на сервере и локальном клиенте)
is_local() для косметического интерфейса/эффектов (работает только на локальном клиенте)