Перейти к содержимому
#АйДаКодить
#АйДаКодить
школа программирования
Лагерь с 15.11
Ребёнок делает игру в Roblox Studio

Как сделать свой Roblox GUI: кнопки, spawn, табличка друга.

Собрали в одном месте механики, которые чаще всего хотят сделать начинающие в Roblox Studio: кнопки и GUI, точка Spawn, серверный скрипт, приглашение друга. Каждая — короткими шагами. Всё пишется на одном языке — если в Roblox Studio пока не разобрались, какой язык программирования используется в редакторе, начните с него. Все шаги предполагают, что редактор уже запущен, — если нет, сначала разберитесь, как открыть редактор и соберите первую карту: поставьте Spawn, кнопку старта и кнопку выхода, а друга позовите проверить. Каждую кнопку, окно GUI и точку Spawn проверяйте в режиме Play: друг на сервере нажмёт ту же кнопку и увидит то же самое — покажите друзьям.

Как оформить внутриигровую покупку в Роблокс

Платная покупка в Роблокс — это Game Pass (покупается один раз, даёт постоянную плюшку) или Developer Product (можно покупать много раз, например игровая валюта). Начни с Game Pass — он проще.

  1. 1 Открой Creator Dashboard на сайте платформы и выбери нужную игру.
  2. 2 Слева найди раздел Monetization → Passes → Create a Pass. Загрузи картинку и придумай название — например «VIP». Эти настройки пригодятся позже: от них зависит, появятся ли в торговом окне кнопки покупки.
  3. 3 После создания открой пасс и в разделе Sales включи Item for Sale, поставь цену в Robux.
  4. 4 В Studio напиши скрипт, который проверяет владение пассом через MarketplaceService:UserOwnsGamePassAsync(player.UserId, passId) — и выдаёт бонус: ускорение, меч, доступ в VIP-комнату. А значок за достижение выдают через BadgeService: local BadgeService = game:GetService("BadgeService").

Собираем торговое окно в редакторе

Торговое окно — это GUI-интерфейс (то есть экранная панель) с кнопками, где игрок тратит игровую валюту на предметы. Валюту хранят в leaderstats, а сами покупки обрабатывает скрипт.

  1. 1 В StarterGui создай ScreenGui, внутри — Frame (торговое окно) и пару TextButton (товары).
  2. 2 Заведи игровую валюту: скрипт в ServerScriptService создаёт в leaderstats значение IntValue с именем «Монеты». Позже эти монеты будут тратиться по нажатию на кнопку покупки, а баланс проверит скрипт.
  3. 3 На обе кнопки товаров повесь LocalScript: при нажатии он через RemoteEvent просит сервер продать товар.
  4. 4 Серверный скрипт проверяет, хватает ли монет, списывает цену и выдаёт товар — например копирует меч из ServerStorage в Backpack игрока.

Как создать кнопку в Studio

Кнопка на экране — это TextButton внутри ScreenGui, то есть элемент GUI: игрок нажимает, и что-то происходит. В торговом окне и на стартовом экране кнопки уже встречались в составе сборки, но собрать одну кнопку «с нуля» стоит отдельно — на клике держится весь интерфейс. Сначала добейся, чтобы нажатие срабатывало, и только потом возись с оформлением кнопки. Одна кнопка открывает окно, другая закрывает его. Надпись на кнопке подсказывает игроку, что будет дальше. Каждую кнопку стоит проверить отдельно.

  1. 1 В StarterGui создай ScreenGui, а внутрь него — TextButton. Он сразу появляется на экране у каждого игрока.
  2. 2 Настрой вид: свойство Text — надпись на кнопке, Size в формате UDim2 — её размер, а вложенный UICorner скругляет углы, чтобы кнопка не выглядела квадратом.
  3. 3 Оживи кнопку LocalScript-ом внутри неё: script.Parent.MouseButton1Click:Connect(function() ... end) — код в скобках сработает по нажатию. Для проверки положи туда print("нажали").
  4. 4 Если по кнопке должно происходить что-то важное — выдаваться награда, списываться валюта, — не делай это прямо в LocalScript: отправь сигнал на сервер через RemoteEvent. Клиент только ловит нажатие, а решает и проверяет сервер.

Как собрать лобби-телепорт в другую игру

Лобби — это отдельный плейс, из которого игрок попадает в основную игру. Перенос между разными плейсами и играми делает не CFrame, а TeleportService: назначение — другой сервер, поэтому телепорт запускают серверным скриптом и по ID нужного места.

  1. 1 Опубликуй лобби и основную игру двумя плейсами одного проекта: File → Publish to Roblox → внутри проекта создай второй плейс. У каждого плейса есть отдельный Place ID — его видно в Creator Dashboard.
  2. 2 Скопируй Place ID того плейса, куда переносишь игрока, — он понадобится в скрипте.
  3. 3 В лобби поставь платформу-портал со Script и событием Touched; проверь, что коснулся именно игрок — ищи Humanoid в hit.Parent.
  4. 4 Запусти перенос: game:GetService('TeleportService'):Teleport(placeId, player). Платформа сама загрузит нужный плейс и перекинет игрока на его сервер.

Спавн игроков: пошаговая настройка

Спавн — точка, где появляются игроки. Без неё все падают в нулевую точку карты. Редактор можно установить бесплатно, а проверить точку появления удобно прямо в игре с помощью режима Play.

  1. 1 На вкладке Home открой Toolbox-панель Spawn и вставь SpawnLocation — или найди её в списке объектов через плюсик у Workspace.
  2. 2 Передвинь площадку туда, где должны появляться игроки.
  3. 3 Хочешь несколько точек — расставь несколько объектов Spawn: игроки будут появляться на случайной.
  4. 4 Для командных игр задай каждой точке появления TeamColor и включи Neutral = false — команды будут появляться на базах. Для каждой базы ставь отдельный объект Spawn с цветом команды, чтобы игроки не появлялись на чужой стороне.

Совместная работа над картой: Team Create

Строить карту вдвоём можно через Team Create — это встроенный совместный режим Studio.

  1. 1 Открой место в Studio и опубликуй его (File → Publish to Roblox), если ещё не публиковал.
  2. 2 На вкладке View включи панель Team Create и нажми Turn On.
  3. 3 В появившейся панели введи ник друга и отправь приглашение.
  4. 4 Друг открывает Studio → раздел Shared With Me — и заходит в ваше общее место. Правки видны обоим в реальном времени. Вдвоём удобно разделить работу: один расставляет Spawn и платформы, другой пишет скрипты.

Как позвать друга в свою игру

Team Create выше — это совместная стройка карты в Studio. А чтобы просто поиграть в готовую игру вместе, друга сначала добавляют в друзья на самой платформе, и дальше он заходит к тебе на сервер.

  1. 1 Добавь друга в друзья: открой его профиль на сайте платформы или в приложении (найди по никнейму через поиск), нажми Add Friend и дождись, пока он подтвердит заявку в разделе Friends.
  2. 2 Опубликуй игру, чтобы в неё можно было зайти: File → Publish to Roblox. Пока плейс не опубликован, друг его не увидит.
  3. 3 Позови друга в сессию: зайди в созданную игру, нажми на собственное имя в списке игроков и выбери Invite Friends — или попроси друга открыть твой профиль и нажать Join рядом с ником.
  4. 4 Хотите играть только вдвоём, без посторонних, — включи приватный сервер (VIP Server) в настройках игры: у него отдельная ссылка, по ней заходят лишь те, кого ты позвал.

Хочешь делать свои игры по-настоящему?

На курсе по Studio дети 8–12 лет проходят всё это с преподавателем: Lua, механики, платные покупки, публикация в каталог. Покажи эту страницу родителям — первый урок стоит 500 ₽. Готовую игру можно показать родителям, а можно позвать друга и проверить её вместе.

Подробнее о курсе

Частые вопросы

Можно ли сделать платную покупку без группы?

Да. Game Pass и Developer Products создаются с обычного аккаунта — группа не обязательна. Но чтобы вывести заработанные Robux в реальные деньги, понадобится Premium-подписка и возраст 13+, поэтому доход обычно оформляют через родителей.

Почему телепорт не работает?

Самая частая причина — скрипт обращается к Touched, но проверяет не ту часть персонажа. Проверять нужно, что коснувшийся объект принадлежит игроку: ищите Humanoid в Parent коснувшейся детали. Вторая причина — телепортируете модель, а не HumanoidRootPart.

С какого возраста можно разобраться в Studio?

С 8–9 лет — строить карты из готовых деталей. Скрипты на Lua обычно идут с 9–10 лет. Тем, кто начинает с карт, до доната пока далеко: сначала нужно освоить готовые детали и Lua.

Пробный урок — 500 ₽
500 ₽ · полный урок 60 минут
Формат
Ваш телефон
В каком классе учится ребёнок? Выберите класс — так подберём группу и формат первой встречи