Как оформить внутриигровую покупку в Роблокс
Платная покупка в Роблокс — это Game Pass (покупается один раз, даёт постоянную плюшку) или Developer Product (можно покупать много раз, например игровая валюта). Начни с Game Pass — он проще.
- 1 Открой Creator Dashboard на сайте платформы и выбери нужную игру.
- 2 Слева найди раздел Monetization → Passes → Create a Pass. Загрузи картинку и придумай название — например «VIP». Эти настройки пригодятся позже: от них зависит, появятся ли в торговом окне кнопки покупки.
- 3 После создания открой пасс и в разделе Sales включи Item for Sale, поставь цену в Robux.
- 4 В Studio напиши скрипт, который проверяет владение пассом через MarketplaceService:UserOwnsGamePassAsync(player.UserId, passId) — и выдаёт бонус: ускорение, меч, доступ в VIP-комнату. А значок за достижение выдают через BadgeService: local BadgeService = game:GetService("BadgeService").
Собираем торговое окно в редакторе
Торговое окно — это GUI-интерфейс (то есть экранная панель) с кнопками, где игрок тратит игровую валюту на предметы. Валюту хранят в leaderstats, а сами покупки обрабатывает скрипт.
- 1 В StarterGui создай ScreenGui, внутри — Frame (торговое окно) и пару TextButton (товары).
- 2 Заведи игровую валюту: скрипт в ServerScriptService создаёт в leaderstats значение IntValue с именем «Монеты». Позже эти монеты будут тратиться по нажатию на кнопку покупки, а баланс проверит скрипт.
- 3 На обе кнопки товаров повесь LocalScript: при нажатии он через RemoteEvent просит сервер продать товар.
- 4 Серверный скрипт проверяет, хватает ли монет, списывает цену и выдаёт товар — например копирует меч из ServerStorage в Backpack игрока.
Как создать кнопку в Studio
Кнопка на экране — это TextButton внутри ScreenGui, то есть элемент GUI: игрок нажимает, и что-то происходит. В торговом окне и на стартовом экране кнопки уже встречались в составе сборки, но собрать одну кнопку «с нуля» стоит отдельно — на клике держится весь интерфейс. Сначала добейся, чтобы нажатие срабатывало, и только потом возись с оформлением кнопки. Одна кнопка открывает окно, другая закрывает его. Надпись на кнопке подсказывает игроку, что будет дальше. Каждую кнопку стоит проверить отдельно.
- 1 В StarterGui создай ScreenGui, а внутрь него — TextButton. Он сразу появляется на экране у каждого игрока.
- 2 Настрой вид: свойство Text — надпись на кнопке, Size в формате UDim2 — её размер, а вложенный UICorner скругляет углы, чтобы кнопка не выглядела квадратом.
- 3 Оживи кнопку LocalScript-ом внутри неё: script.Parent.MouseButton1Click:Connect(function() ... end) — код в скобках сработает по нажатию. Для проверки положи туда print("нажали").
- 4 Если по кнопке должно происходить что-то важное — выдаваться награда, списываться валюта, — не делай это прямо в LocalScript: отправь сигнал на сервер через RemoteEvent. Клиент только ловит нажатие, а решает и проверяет сервер.
Как собрать лобби-телепорт в другую игру
Лобби — это отдельный плейс, из которого игрок попадает в основную игру. Перенос между разными плейсами и играми делает не CFrame, а TeleportService: назначение — другой сервер, поэтому телепорт запускают серверным скриптом и по ID нужного места.
- 1 Опубликуй лобби и основную игру двумя плейсами одного проекта: File → Publish to Roblox → внутри проекта создай второй плейс. У каждого плейса есть отдельный Place ID — его видно в Creator Dashboard.
- 2 Скопируй Place ID того плейса, куда переносишь игрока, — он понадобится в скрипте.
- 3 В лобби поставь платформу-портал со Script и событием Touched; проверь, что коснулся именно игрок — ищи Humanoid в hit.Parent.
- 4 Запусти перенос: game:GetService('TeleportService'):Teleport(placeId, player). Платформа сама загрузит нужный плейс и перекинет игрока на его сервер.
Спавн игроков: пошаговая настройка
Спавн — точка, где появляются игроки. Без неё все падают в нулевую точку карты. Редактор можно установить бесплатно, а проверить точку появления удобно прямо в игре с помощью режима Play.
- 1 На вкладке Home открой Toolbox-панель Spawn и вставь SpawnLocation — или найди её в списке объектов через плюсик у Workspace.
- 2 Передвинь площадку туда, где должны появляться игроки.
- 3 Хочешь несколько точек — расставь несколько объектов Spawn: игроки будут появляться на случайной.
- 4 Для командных игр задай каждой точке появления TeamColor и включи Neutral = false — команды будут появляться на базах. Для каждой базы ставь отдельный объект Spawn с цветом команды, чтобы игроки не появлялись на чужой стороне.
Совместная работа над картой: Team Create
Строить карту вдвоём можно через Team Create — это встроенный совместный режим Studio.
- 1 Открой место в Studio и опубликуй его (File → Publish to Roblox), если ещё не публиковал.
- 2 На вкладке View включи панель Team Create и нажми Turn On.
- 3 В появившейся панели введи ник друга и отправь приглашение.
- 4 Друг открывает Studio → раздел Shared With Me — и заходит в ваше общее место. Правки видны обоим в реальном времени. Вдвоём удобно разделить работу: один расставляет Spawn и платформы, другой пишет скрипты.
Как позвать друга в свою игру
Team Create выше — это совместная стройка карты в Studio. А чтобы просто поиграть в готовую игру вместе, друга сначала добавляют в друзья на самой платформе, и дальше он заходит к тебе на сервер.
- 1 Добавь друга в друзья: открой его профиль на сайте платформы или в приложении (найди по никнейму через поиск), нажми Add Friend и дождись, пока он подтвердит заявку в разделе Friends.
- 2 Опубликуй игру, чтобы в неё можно было зайти: File → Publish to Roblox. Пока плейс не опубликован, друг его не увидит.
- 3 Позови друга в сессию: зайди в созданную игру, нажми на собственное имя в списке игроков и выбери Invite Friends — или попроси друга открыть твой профиль и нажать Join рядом с ником.
- 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.