Kembali
VIP DOOR SYSTEM
Script VIP Door System ini berfungsi untuk membuat pintu khusus yang hanya bisa dilewati oleh player pemilik Gamepass VIP. Ketika player menyentuh pintu, sistem akan mengecek apakah player memiliki gamepass tertentu. Jika memiliki, pintu akan terbuka sementara. Jika tidak memiliki, player akan ditahan dan dapat diarahkan untuk membeli gamepass. Cocok digunakan untuk VIP Room, lounge eksklusif, area premium, club map, hangout map, roleplay, lobby, atau fitur khusus dalam game Roblox.
--[[
VIP Door Script
Author : NEOBLOX
License : MIT
Description:
Script pintu VIP berbasis Gamepass.
Player yang memiliki gamepass bisa melewati pintu.
Player yang tidak memiliki gamepass akan tertahan.
Place:
Masukkan Script ini ke dalam Part Door.
Setup:
1. Buat Part sebagai pintu.
2. Masukkan Script ini ke dalam Part tersebut.
3. Ganti GAMEPASS_ID dengan ID gamepass VIP kamu.
]]
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local door = script.Parent
local GAMEPASS_ID = 123456789 -- Ganti dengan Gamepass ID kamu
local DEFAULT_TRANSPARENCY = 0.35
local OPEN_TRANSPARENCY = 0.75
local OPEN_TIME = 1.5
door.Transparency = DEFAULT_TRANSPARENCY
door.CanCollide = true
local debounce = {}
local function playerHasGamepass(player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, GAMEPASS_ID)
end)
if success then
return result
end
warn("Gagal mengecek gamepass untuk:", player.Name)
return false
end
local function openDoorForPlayer(player)
if debounce[player.UserId] then
return
end
debounce[player.UserId] = true
door.CanCollide = false
door.Transparency = OPEN_TRANSPARENCY
task.wait(OPEN_TIME)
door.CanCollide = true
door.Transparency = DEFAULT_TRANSPARENCY
task.wait(0.5)
debounce[player.UserId] = nil
end
door.Touched:Connect(function(hit)
local character = hit.Parent
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if not humanoid then
return
end
local player = Players:GetPlayerFromCharacter(character)
if not player then
return
end
if playerHasGamepass(player) then
openDoorForPlayer(player)
else
-- Opsional: tampilkan prompt beli gamepass
MarketplaceService:PromptGamePassPurchase(player, GAMEPASS_ID)
end
end)