Нейросеть для Lua и Roblox: как писать скрипты на Luau с ИИ
Модель без подсказки может спутать Lua с Luau и предложить устаревший API Roblox. Показываем, как формулировать задачу, проверять код и подключить агента к проекту.
6 мин · · разработка · IDE
Нейросеть для программирования на Lua удобна тем, что скрипты обычно короткие и проверяются быстро. Но у Roblox есть свой диалект, Luau, свои сервисы и разделение на сервер и клиент, и модель, которой об этом не сказали, пишет код «вообще на Lua»: он выглядит правдоподобно и не работает в Studio. Ниже: как ставить задачу, на что обращать внимание при проверке, как подключить агента к проекту и сколько это стоит.
Lua и Luau: что нужно сообщить модели
Roblox использует Luau, язык на основе Lua 5.1 с собственными расширениями: необязательные аннотации типов, цикл for ... in по таблице без вызова pairs, библиотека task. Поэтому начните каждую сессию с одной вводной фразы: «Пишем на Luau для Roblox Studio, не на стандартном Lua». Без неё модель может предложить функции, которых в Roblox нет (например, чтение файлов через io), или стиль из других Lua-окружений.
Вторая вещь, которую стоит сообщать: где живёт скрипт. В Roblox это принципиально:
Scriptвыполняется на сервере (обычно вServerScriptService);LocalScriptвыполняется на клиенте игрока;ModuleScript— общий модуль, который подключается черезrequire.
Клиенту доверять нельзя, поэтому проверки и начисление очков должны быть на сервере, а клиент лишь отправляет запросы через RemoteEvent. Если не указать тип скрипта, модель легко положит награду за действие в LocalScript, и игрок сможет её подделать.
Шаблон задачи
Рабочая формулировка включает пять пунктов: что нужно, где лежит скрипт, какие объекты уже есть в иерархии, ограничения и формат ответа.
Пиши на Luau для Roblox Studio. Нужен серверный Script в ServerScriptService.
Задача: при заходе игрока создать в нём папку leaderstats со счётчиком Coins.
Ограничения: используй game:GetService, task.wait вместо wait, не используй
устаревшие функции. Верни один блок кода и список объектов, которые я должен
создать в Explorer вручную.Последняя строка важна: модель не видит ваш Explorer, и если скрипт ссылается на workspace.Door, пока такого объекта нет, вы получите ошибку в окне Output. Пусть она явно перечисляет всё, что должно существовать.
Пример результата, который стоит ожидать:
local Players = game:GetService("Players")
local function onPlayerAdded(player: Player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Value = 0
coins.Parent = stats
stats.Parent = player
end
Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in Players:GetPlayers() do
task.spawn(onPlayerAdded, player)
endЦикл в конце нужен для игроков, которые уже вошли до запуска скрипта; если модель его пропустила, попросите добавить.
Что проверять в коде от модели
- Устаревший API. Функции
wait()иspawn()заменены наtask.wait()иtask.spawn(); о современных вариантах напомните в промпте. - Доверие клиенту. Всё, что влияет на экономику или данные игрока, должно проверяться в серверном обработчике
OnServerEvent. - Сохранение данных. Вызовы
DataStoreServiceмогут завершаться ошибкой, поэтому их оборачивают вpcall; если модель вызывает их без защиты, попросите исправить. - Утечки соединений. Подписки
:Connectна объекты, которые удаляются, нужно отключать. - Несуществующие свойства и методы. Модели иногда придумывают свойства. Сверьтесь с документацией Roblox (Creator Hub) для каждого незнакомого API.
Проверка в Studio: запустите игру, откройте окно Output и посмотрите на ошибки. Для проверки логики на сервере и клиенте удобно запускать тест с несколькими игроками. Если у вас есть тесты в проекте, дайте агенту команду их запускать; для линтинга и форматирования Luau существуют сторонние инструменты вроде Selene и StyLua, но их подключение и флаги сверяйте по их документации.
Как подключить агента к проекту Roblox
Скрипты в Studio живут внутри файла места, а агенты вроде Cursor или Claude Code работают с файлами на диске. Мост между ними — синхронизация: популярный вариант — инструмент Rojo, который хранит скрипты в виде файлов .lua или .luau и синхронизирует их со Studio. Настройка Rojo выходит за рамки статьи, смотрите его документацию. Если не хотите ничего настраивать, работайте в чате: копируйте скрипт в запрос и вставляйте ответ в Studio.
Для Cursor с собственным ключом: в настройках моделей укажите ключ fetch_... и адрес https://api.zukko.pro/v1 в поле переопределения base URL для OpenAI, затем добавьте модель. Имя модели берите из таблицы в документации Zukko по Cursor: Cursor не даёт завести модель с именем, которое уже знает, поэтому для части моделей там есть отдельные имена (например, cursor-sonnet-5), а у остальных, вроде gpt-6.1-sol, работает обычное имя. В официальной справке Cursor о своих ключах эта настройка сейчас не описана, а доступность своих ключей зависит от тарифа, поэтому сверяйтесь с актуальной версией Cursor. Типичные проблемы с пропавшими моделями разобраны в статье Cursor не видит модели. Правила проекта удобно держать в файле правил Cursor, туда же стоит записать «Luau, не Lua; task.wait; серверная проверка».
Часто спрашивают, можно ли подключить ключ Gemini API к Roblox Studio. У Roblox Studio есть собственный встроенный ассистент; поддерживает ли он подключение стороннего ключа и какого именно, мы не знаем, актуальное смотрите в документации Roblox. Надёжный путь — внешний редактор или чат, где ключ и адрес задаёте вы.
Какую модель брать и сколько это стоит
Качество кода на Luau мы не сравниваем: выбирайте по цене и контексту и проверяйте на своих скриптах. Для таких задач запрос небольшой. Допустим, 8 000 входных токенов (задача плюс соседние скрипты) и 1 500 выходных. Цены Zukko на 18 октября 2026 за 1M токенов, без кэша:
| Модель | Вход / выход, $ | Формула | Один запрос, $ |
|---|---|---|---|
deepseek-v4.1-flash | 0.013 / 0.038 | 0,008 × 0,013 + 0,0015 × 0,038 | 0.00016 |
gpt-6.1-sol | 0.27 / 1.32 | 0,008 × 0,27 + 0,0015 × 1,32 | 0.00414 |
claude-sonnet-5-5 | 0.4 / 2 | 0,008 × 0,4 + 0,0015 × 2 | 0.0062 |
Сто таких запросов за вечер на claude-sonnet-5-5 обойдутся в 100 × 0,0062 = $0.62. Агент, который сам ходит по проекту, расходует больше, потому что отправляет накопленную историю на каждом шаге; как это считается, написано в статье про стоимость агентной сессии. Чтобы не удивиться счёту, поставьте на ключ дневной лимит, как в статье про лимит на ключ. Актуальные цены доступны через GET https://api.zukko.pro/v1/models.
Частые вопросы
Какая нейросеть лучше для Lua?
Ответа «лучше всех» нет, и мы его не даём. Сравните две-три модели на своих типовых задачах: возьмите три-пять скриптов, которые вам реально нужны, и посмотрите, сколько правок требуется каждому результату. Ориентируйтесь на цену и индекс силы из каталога.
Нужен ли Cursor для Roblox?
Нет. Он удобен, если вы синхронизируете проект с диском через Rojo или аналог. Без этого достаточно чата в браузере или API: код вы вставляете в Studio вручную.
Можно ли доверять скрипту, который написала модель?
Только после проверки в Studio. Особенно проверяйте серверную сторону (RemoteEvent), работу с DataStore и обращения к несуществующим объектам.
Как оплатить API из России?
Доступ из России идёт через шлюз, оплата СБП (платёжная страница добавляет комиссию 8,5% сверху), картой MasterCard или криптой.
Чтобы попробовать, создайте ключ в кабинете и подключите его в чат или редактор по примеру выше.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Как подключить Qwen к VS Code: Companion, Cline и ContinueДва способа получить Qwen в редакторе: официальный Companion для Qwen Code и расширения Cline, Kilo Code, Continue с OpenAI-совместимым ключом.
- Claude Code в JetBrains: IntelliJ IDEA и PyCharm на своём ключеПлагин не содержит собственной копии Claude Code, а запускает консольный агент в терминале IDE. Разбираем установку, ключ шлюза, диффы и типичные сбои.
- Cursor для 1С: как писать код на BSL с ИИ-агентомКак открыть выгрузку конфигурации 1С в Cursor, написать правила для BSL, давать агенту метаданные и не принимать выдуманный код. С расчётом стоимости сессии.
- Настройка Cursor AI: модели, свой ключ, правила и индексацияПошаговая настройка Cursor: свой ключ с адресом шлюза, модели, правила проекта, исключения из контекста и проверка подключения. Что делать в первый день.