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

> Как сделать в Роблокс Студио кнопки, меню, телепорт и табличку друга: пошаговые инструкции для начинающих по Roblox Studio, GUI, spawn и серверу

Source: https://codims.ru/stati/kak-sdelat-v-roblox-studio/

---

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

Платная покупка в Роблокс — это 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 ₽. Готовую игру можно показать родителям, а можно позвать друга и проверить её вместе.

[Подробнее о курсе](/courses/roblox/)

try { var k = 'codims\_bridge\_ab', v = localStorage.getItem(k); if (v !== 'project' && v !== 'tv') { v = Math.random() < 0.5 ? 'project' : 'tv'; localStorage.setItem(k, v); } document.documentElement.setAttribute('data-bridge', v); } catch (e) {} [Курс Roblox Studio — пробный урок 500 ₽](/courses/roblox/)

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

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

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

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

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

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

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

[Курс Roblox Studio — пробный урок 500 ₽](/courses/roblox/)
