Найти в Дзене
IT Step by step

🚪 Геймпасс-дверь в Roblox: открываем VIP-локацию

Привет! Сегодня разберём, как сделать дверь, которая открывается только для тех, кто купил специальный геймпасс. Такой способ часто используют для VIP-комнат, секретных баз или эксклюзивных зон. 🔑 Как это работает? Геймпасс — это платный пропуск, который можно купить за Robux. Его ID ты найдёшь в адресе страницы геймпасса на сайте Roblox. Скрипт проверяет, есть ли у игрока нужный геймпасс. Если да — дверь становится прозрачной и не мешает пройти. Если нет — можно вывести подсказку или предложить купить геймпасс. 🛠 Пример кода (LocalScript в StarterPlayerScripts): local MarketplaceService = game:GetService("MarketplaceService") local Players = game:GetService("Players") local gamePassID = 123456789 -- замени на свой GamePass ID local door = workspace:WaitForChild("GamepassDoor") -- имя двери в Workspace local player = Players.LocalPlayer -- Функция проверки наличия геймпасса local function hasGamepass() local success, hasPass = pcall(function() return MarketplaceService:UserOwnsGameP

Привет! Сегодня разберём, как сделать дверь, которая открывается только для тех, кто купил специальный геймпасс. Такой способ часто используют для VIP-комнат, секретных баз или эксклюзивных зон.

🔑 Как это работает?

Геймпасс — это платный пропуск, который можно купить за Robux. Его ID ты найдёшь в адресе страницы геймпасса на сайте Roblox.

Скрипт проверяет, есть ли у игрока нужный геймпасс. Если да — дверь становится прозрачной и не мешает пройти. Если нет — можно вывести подсказку или предложить купить геймпасс.

🛠 Пример кода (LocalScript в StarterPlayerScripts):

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local gamePassID = 123456789 -- замени на свой GamePass ID
local door = workspace:WaitForChild("GamepassDoor") -- имя двери в Workspace
local player = Players.LocalPlayer
-- Функция проверки наличия геймпасса
local function hasGamepass()
local success, hasPass = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, gamePassID)
end)
return success and hasPass
end
-- Функция открытия двери
local function tryOpenDoor()
if hasGamepass() then
door.Transparency = 0.7 -- делаем дверь полупрозрачной
door.CanCollide = false -- игрок может пройти сквозь дверь
else
door.Transparency = 0 -- дверь остаётся обычной
door.CanCollide = true
-- Можно добавить подсказку или кнопку покупки:
MarketplaceService:PromptGamePassPurchase(player, gamePassID)
end
end
-- Проверяем при приближении к двери (например, через .Touched)
door.Touched:Connect(function(hit)
if hit.Parent == player.Character then
tryOpenDoor()
end
end)

💡 Советы от Терри:

✨ID геймпасса — это число из адреса страницы твоего геймпасса.

✨Скрипт лучше размещать в LocalScript, чтобы дверь открывалась только для конкретного игрока.

✨Можно использовать ProximityPrompt для красивого взаимодействия: при попытке открыть дверь появляется кнопка “Купить VIP-доступ”.

✨Не забудь протестировать: если у игрока нет геймпасса, скрипт предложит купить его через стандартное окно Roblox.

Теперь твоя VIP-дверь готова!

Если хочешь подробный видеоурок или есть вопросы по настройке — пиши в комментариях, Терри и Тим всегда помогут! 🐢

Полезные ссылки:

Официальная документация Roblox по Game Pass