Luau в Roblox: язык скриптов, документация Engine и Cloud API
Содержание
Язык, на котором пишут логику в Roblox, называется Luau — так его называет сама официальная документация платформы. Не «Lua-подобный язык», не «скриптовый язык Roblox», а конкретное название из конкретного источника: create.roblox.com/docs/luau.
Это важно не из педантизма. Когда ты ищешь ответ на технический вопрос, название — это ключ к правильному справочнику. Поиск по одному слову ведёт в официальный раздел, поиск по другому — на чужие форумы десятилетней давности.
Ниже — что о языке и справочниках известно из первоисточника, чем отличаются Engine API и Cloud API, и отдельно — чего мы здесь не утверждаем.
Что известно точно
Фактов, которые можно подкрепить официальной документацией, немного, и мы перечислим их прямо, без разгона:
- Официальная документация Roblox называет языком скриптов платформы Luau.
- Документация Luau вынесена в отдельный раздел —
create.roblox.com/docs/luau. - Для скриптов внутри опыта Roblox держит отдельный справочник Engine API.
- Cloud API — это другой набор интерфейсов, чем Engine API, и у него собственный раздел документации.
Всё остальное, что можно прочитать о Luau в сети — синтаксис, типы, производительность, история — мы здесь не пересказываем, потому что не можем подкрепить это нашими источниками. Правильное место для этого — сам раздел документации.
Почему язык вынесли в отдельный раздел
Структура документации сама по себе говорит кое-что полезное. Если язык описан отдельно от справочника Engine API, значит это два разных слоя знания:
- Язык — это то, как ты пишешь код вообще: конструкции, правила, синтаксис.
- API — это то, к чему обращается твой код: объекты и интерфейсы платформы.
Практическое следствие простое. Когда что-то не работает, сначала пойми, в каком слое проблема. Ошибка в написании кода — это в раздел Luau. «Не знаю, как обратиться к нужной штуке в игре» — это в Engine API. Путаница между слоями съедает больше всего времени у новичков.
Engine API и Cloud API — это не одно и то же
Самая распространённая ловушка при чтении примеров из интернета: человек берёт фрагмент кода из одной части экосистемы и пытается применить его в другой.
| Вопрос | Engine API | Cloud API |
|---|---|---|
| Что это | справочник для скриптов внутри опыта | другой набор интерфейсов |
| Где документация | собственный раздел на create.roblox.com/docs | собственный раздел на create.roblox.com/docs |
| Взаимозаменяемы? | нет — это разные наборы | нет — это разные наборы |
Что из этого следует для тебя:
Если ты пишешь логику внутри своего опыта — твой справочник Engine API. Если найденный пример находится в разделе Cloud API, он не «сломан» и не «устарел» — он просто о другом. Копировать его в скрипт опыта смысла нет.
⚠️ Чего мы не утверждаем: мы не описываем здесь, для каких именно задач предназначен Cloud API, какие у него возможности и ограничения. Наши источники говорят лишь то, что это другой набор интерфейсов с отдельной документацией. Всё более конкретное — читай в самом разделе, а не в пересказах.
Как пользоваться справочниками, чтобы не тратить время
Порядок, который экономит часы:
- Сформулируй вопрос как «язык» или «платформа». Вопрос о том, как записать конструкцию — это Luau. Вопрос о том, как добраться до чего-то в игре — это API.
- Открой официальный раздел, а не поисковик. Стартовая точка для языка —
create.roblox.com/docs/luau, для остального —create.roblox.com/docs. - Смотри, в каком разделе находится пример. Перед тем как копировать код, проверь его «прописку»: Luau, Engine API или Cloud API.
- Сверяй сторонние материалы с официальными. Видео и статьи удобнее для первого понимания, но первичный источник — документация. Расхождение решается в пользу документации.
- Не делай выводов из молчания. Если чего-то нет в документации, это не значит «невозможно» — это значит «не описано в том месте, куда ты смотрел».
Чего мы здесь сознательно не пишем
Этот материал намеренно узкий. Мы не приводим:
- фрагментов кода и «типовых шаблонов» — они устаревают быстрее статей;
- сравнений Luau с другими языками;
- никаких чисел: версий, дат, размеров, количества функций. Нет числа в проверенном источнике — нет числа в тексте;
- советов «какой язык учить первым» — это выбор, а не факт.
Если тебе нужен именно практический старт в редакторе, а не справка о языке — это другая тема, и у нас она разобрана отдельно: первые шаги в Roblox Studio.
Кому вообще нужен Luau
Игроку — нет. Чтобы запускать чужие опыты, хватает клиента, аккаунта и устройства, которое тянет игру; о последнем — в материале о том, на каких устройствах работает Roblox.
Язык нужен тем, кто делает собственное: логика, правила, поведение объектов в опыте — всё это пишется скриптами. И если цель не «сделать для себя», а «чтобы другие играли и это что-то приносило», дальше идёт отдельная тема выплат — DevEx и обмен Robux.
Обрати внимание на последовательность: сначала язык и справочники, потом результат. Не наоборот. Люди, которые начинают с вопроса «сколько на этом зарабатывают», обычно не доходят до первого рабочего скрипта.
Коротко
Язык скриптов Roblox называется Luau, его документация живёт в отдельном разделе create.roblox.com/docs/luau, а Engine API (для скриптов внутри опыта) и Cloud API — это разные наборы интерфейсов с разными разделами справки. Перед тем как копировать чужой пример кода, проверь, из какого именно раздела он взят.
Частые вопросы
На каком языке пишут скрипты в Roblox?
Официальная документация Roblox называет язык скриптов платформы Luau. Это не наша трактовка — так написано в самой документации на create.roblox.com.
Где официальная документация Luau?
Она вынесена в отдельный раздел на сайте документации Roblox — create.roblox.com/docs/luau. То есть язык описывают отдельно от остальных справочников.
Чем Engine API отличается от Cloud API?
Это разные наборы интерфейсов с разными разделами документации. Engine API — справочник для скриптов внутри опыта; Cloud API описан отдельно и к Engine API не сводится.
Можно ли учить Luau по случайным статьям и видео?
Можно, но сверяться стоит с официальным разделом документации. Он первичен, а сторонние материалы устаревают и не всегда указывают, к какому именно API относится пример.
Почему пример кода не работает именно у меня?
Частая причина — пример относится к другому набору API, чем тот, в котором ты работаешь. Перед копированием посмотри, в каком разделе документации он находится: Luau, Engine API или Cloud API.
Нужно ли знать Luau, чтобы просто играть в Roblox?
Нет. Язык нужен тем, кто делает собственные опыты в Studio. Игроку достаточно клиента и аккаунта.