
Key Required

--[[
âš¡ RAI HUB | PHANTOM EDITION (UNIVERSAL COMPATIBILITY)
Premium Minimalist Dark UI & Tactically Optimized
Key System Integrated [0]
Toggle Menu: [RIGHT SHIFT] or [RAI BUTTON]
]]
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local workspace = game:GetService("Workspace")
local CORRECT_KEY = "2011"
local TOGGLE_KEY = Enum.KeyCode.RightShift
local BALL_NAME = "Ball"
local DEFAULT_SIZE = 1
local MAX_SIZE = 10
local MIN_SIZE = 0.5
local enabled = false
local allowCollision = true
local currentSize = DEFAULT_SIZE
local guiVisible = true
local keyUnlocked = false
local trackedBalls = {}
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "RAIHUB_PHANTOM_UNIVERSAL"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = player:WaitForChild("PlayerGui")
local loopConnection
-- ==========================================
-- THEME COLOR PALETTE (PHANTOM RED/DARK)
-- ==========================================
local BG_MAIN = Color3.fromRGB(10, 10, 13)
local BG_SECONDARY = Color3.fromRGB(18, 18, 24)
local ACCENT_COLOR = Color3.fromRGB(255, 46, 82) -- Neon Crimson
local TEXT_PRIMARY = Color3.fromRGB(245, 245, 250)
local TEXT_MUTED = Color3.fromRGB(100, 105, 120)
local BORDER_COLOR = Color3.fromRGB(28, 29, 36)
-- ==========================================
-- SMOOTH TWEEN HELPER
-- ==========================================
local function tween(object, info, property)
TweenService:Create(object, TweenInfo.new(info, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), property):Play()
end
-- ==========================================
-- UNIVERSAL DRAG FUNCTION (PC & MOBILE)
-- ==========================================
local function makeDraggable(frame)
local dragging, dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
end
-- ==========================================
-- FIXED FLOATING MOBILE TOGGLE BUTTON
-- ==========================================
local mobileToggleBtn = Instance.new("TextButton")
mobileToggleBtn.Name = "MobileToggleBtn"
mobileToggleBtn.Size = UDim2.new(0, 75, 0, 40) -- Adjusted dimensions to safely contain string layout
mobileToggleBtn.Position = UDim2.new(0, 20, 0, 20)
mobileToggleBtn.BackgroundColor3 = BG_MAIN
mobileToggleBtn.Text = "RAI"
mobileToggleBtn.TextColor3 = ACCENT_COLOR
mobileToggleBtn.TextSize = 13
mobileToggleBtn.Font = Enum.Font.GothamBold
mobileToggleBtn.Visible = false
mobileToggleBtn.Active = true
mobileToggleBtn.Parent = screenGui
local mobileToggleCorner = Instance.new("UICorner")
mobileToggleCorner.CornerRadius = UDim.new(0, 6)
mobileToggleCorner.Parent = mobileToggleBtn
local mobileToggleStroke = Instance.new("UIStroke")
mobileToggleStroke.Color = ACCENT_COLOR
mobileToggleStroke.Thickness = 1.5
mobileToggleStroke.Parent = mobileToggleBtn
makeDraggable(mobileToggleBtn)
-- ==========================================
-- MAIN INTERFACE FRAME (ENLARGED WINDOW)
-- ==========================================
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 380, 0, 320)
mainFrame.Position = UDim2.new(0.5, -190, 0.5, -160)
mainFrame.BackgroundColor3 = BG_MAIN
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Visible = false
mainFrame.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = mainFrame
local stroke = Instance.new("UIStroke")
stroke.Color = BORDER_COLOR
stroke.Thickness = 1
stroke.Parent = mainFrame
makeDraggable(mainFrame)
-- Top Accent Bar
local topBar = Instance.new("Frame")
topBar.Size = UDim2.new(1, 0, 0, 3)
topBar.Position = UDim2.new(0, 0, 0, 0)
topBar.BackgroundColor3 = ACCENT_COLOR
topBar.BorderSizePixel = 0
topBar.Parent = mainFrame
Instance.new("UICorner", topBar).CornerRadius = UDim.new(0, 8)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -24, 0, 50)
title.Position = UDim2.new(0, 16, 0, 3)
title.BackgroundTransparency = 1
title.Text = "HITBOX EXPANDER // DASHBOARD"
title.TextColor3 = TEXT_PRIMARY
title.TextSize = 14
title.Font = Enum.Font.Code
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = mainFrame
local infoLabel = Instance.new("TextLabel")
infoLabel.Size = UDim2.new(1, -24, 0, 50)
infoLabel.Position = UDim2.new(0, 0, 0, 0)
infoLabel.BackgroundTransparency = 1
infoLabel.Text = "[R-SHIFT]"
infoLabel.TextColor3 = TEXT_MUTED
infoLabel.TextSize = 11
infoLabel.Font = Enum.Font.Code
infoLabel.TextXAlignment = Enum.TextXAlignment.Right
infoLabel.Parent = title
local container = Instance.new("Frame")
container.Size = UDim2.new(1, -32, 1, -70)
container.Position = UDim2.new(0, 16, 0, 55)
container.BackgroundTransparency = 1
container.Parent = mainFrame
local toggleBtn = Instance.new("TextButton")
toggleBtn.Name = "ToggleBtn"
toggleBtn.Size = UDim2.new(0.48, 0, 0, 42)
toggleBtn.Position = UDim2.new(0, 0, 0, 5)
toggleBtn.BackgroundColor3 = BG_SECONDARY
toggleBtn.Text = "INITIALIZE"
toggleBtn.TextColor3 = TEXT_MUTED
toggleBtn.TextSize = 11
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.Parent = container
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 4)
toggleCorner.Parent = toggleBtn
local toggleStroke = Instance.new("UIStroke")
toggleStroke.Color = BORDER_COLOR
toggleStroke.Thickness = 1
toggleStroke.Parent = toggleBtn
local colBtn = Instance.new("TextButton")
colBtn.Name = "ColBtn"
colBtn.Size = UDim2.new(0.48, 0, 0, 42)
colBtn.Position = UDim2.new(0.52, 0, 0, 5)
colBtn.BackgroundColor3 = BG_SECONDARY
colBtn.Text = "COLLISION: ON"
colBtn.TextColor3 = ACCENT_COLOR
colBtn.TextSize = 11
colBtn.Font = Enum.Font.GothamBold
colBtn.Parent = container
local colCorner = Instance.new("UICorner")
colCorner.CornerRadius = UDim.new(0, 4)
colCorner.Parent = colBtn
local colStroke = Instance.new("UIStroke")
colStroke.Color = ACCENT_COLOR
colStroke.Thickness = 1
colStroke.Parent = colBtn
local sliderContainer = Instance.new("Frame")
sliderContainer.Size = UDim2.new(1, 0, 0, 65)
sliderContainer.Position = UDim2.new(0, 0, 0, 65)
sliderContainer.BackgroundTransparency = 1
sliderContainer.Parent = container
local sliderLabel = Instance.new("TextLabel")
sliderLabel.Size = UDim2.new(1, 0, 0, 20)
sliderLabel.Position = UDim2.new(0, 0, 0, 5)
sliderLabel.BackgroundTransparency = 1
sliderLabel.Text = "TARGET MULTIPLIER: " .. string.format("%.1f", currentSize) .. "X"
sliderLabel.TextColor3 = TEXT_PRIMARY
sliderLabel.TextSize = 11
sliderLabel.Font = Enum.Font.Code
sliderLabel.TextXAlignment = Enum.TextXAlignment.Left
sliderLabel.Parent = sliderContainer
local sliderBg = Instance.new("Frame")
sliderBg.Name = "SliderBg"
sliderBg.Size = UDim2.new(1, 0, 0, 4)
sliderBg.Position = UDim2.new(0, 0, 0, 40)
sliderBg.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
sliderBg.BorderSizePixel = 0
sliderBg.Parent = sliderContainer
local sliderBgCorner = Instance.new("UICorner")
sliderBgCorner.CornerRadius = UDim.new(0, 2)
sliderBgCorner.Parent = sliderBg
local sliderFill = Instance.new("Frame")
sliderFill.Size = UDim2.new((currentSize - MIN_SIZE) / (MAX_SIZE - MIN_SIZE), 0, 1, 0)
sliderFill.BackgroundColor3 = ACCENT_COLOR
sliderFill.BorderSizePixel = 0
sliderFill.Parent = sliderBg
local sliderFillCorner = Instance.new("UICorner")
sliderFillCorner.CornerRadius = UDim.new(0, 2)
sliderFillCorner.Parent = sliderFill
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 12, 0, 12)
knob.Position = UDim2.new((currentSize - MIN_SIZE) / (MAX_SIZE - MIN_SIZE), -6, 0.5, -6)
knob.BackgroundColor3 = TEXT_PRIMARY
knob.Parent = sliderBg
local knobCorner = Instance.new("UICorner")
knobCorner.CornerRadius = UDim.new(1, 0)
knobCorner.Parent = knob
local killBtn = Instance.new("TextButton")
killBtn.Name = "KillBtn"
killBtn.Size = UDim2.new(1, 0, 0, 42)
killBtn.Position = UDim2.new(0, 0, 0, 150)
killBtn.BackgroundColor3 = Color3.fromRGB(22, 12, 15)
killBtn.Text = "TERMINATE OPERATIONS"
killBtn.TextColor3 = Color3.fromRGB(255, 60, 80)
killBtn.TextSize = 11
killBtn.Font = Enum.Font.GothamBold
killBtn.Parent = container
local killCorner = Instance.new("UICorner")
killCorner.CornerRadius = UDim.new(0, 4)
killCorner.Parent = killBtn
local killStroke = Instance.new("UIStroke")
killStroke.Color = Color3.fromRGB(70, 20, 30)
killStroke.Thickness = 1
killStroke.Parent = killBtn
local creditsLabel = Instance.new("TextLabel")
creditsLabel.Size = UDim2.new(1, 0, 0, 20)
creditsLabel.Position = UDim2.new(0, 0, 1, -5)
creditsLabel.BackgroundTransparency = 1
creditsLabel.Text = "SYSTEMS BY RAIDEN // BUILD 2.5"
creditsLabel.TextColor3 = Color3.fromRGB(50, 52, 65)
creditsLabel.TextSize = 10
creditsLabel.Font = Enum.Font.Code
creditsLabel.TextXAlignment = Enum.TextXAlignment.Left
creditsLabel.Parent = container
-- ==========================================
-- KEY GATE INTERFACE SYSTEM (ENLARGED WINDOW)
-- ==========================================
local keyFrame = Instance.new("Frame")
keyFrame.Name = "KeyFrame"
keyFrame.Size = UDim2.new(0, 340, 0, 200)
keyFrame.Position = UDim2.new(0.5, -170, 0.5, -100)
keyFrame.BackgroundColor3 = BG_MAIN
keyFrame.BorderSizePixel = 0
keyFrame.Active = true
keyFrame.Parent = screenGui
local keyCorner = Instance.new("UICorner")
keyCorner.CornerRadius = UDim.new(0, 8)
keyCorner.Parent = keyFrame
local keyStroke = Instance.new("UIStroke")
keyStroke.Color = BORDER_COLOR
keyStroke.Thickness = 1
keyStroke.Parent = keyFrame
makeDraggable(keyFrame)
local keyTopBar = Instance.new("Frame")
keyTopBar.Size = UDim2.new(1, 0, 0, 3)
keyTopBar.Position = UDim2.new(0, 0, 0, 0)
keyTopBar.BackgroundColor3 = ACCENT_COLOR
keyTopBar.BorderSizePixel = 0
keyTopBar.Parent = keyFrame
Instance.new("UICorner", keyTopBar).CornerRadius = UDim.new(0, 8)
local keyTitle = Instance.new("TextLabel")
keyTitle.Size = UDim2.new(1, -24, 0, 50)
keyTitle.Position = UDim2.new(0, 16, 0, 3)
keyTitle.BackgroundTransparency = 1
keyTitle.Text = "RAI HUB // SECURE GATEWAY"
keyTitle.TextColor3 = TEXT_PRIMARY
keyTitle.TextSize = 13
keyTitle.Font = Enum.Font.Code
keyTitle.TextXAlignment = Enum.TextXAlignment.Left
keyTitle.Parent = keyFrame
local noticeBox = Instance.new("TextBox")
noticeBox.Name = "NoticeBox"
noticeBox.Size = UDim2.new(1, -32, 0, 28)
noticeBox.Position = UDim2.new(0, 16, 0, 53)
noticeBox.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
noticeBox.BorderSizePixel = 0
noticeBox.ClearTextOnFocus = false
noticeBox.Text = "FIND SECURITY KEY IN COMMUNITY PLATFORM"
noticeBox.TextColor3 = Color3.fromRGB(130, 135, 150)
noticeBox.TextSize = 10
noticeBox.Font = Enum.Font.Code
noticeBox.TextEditable = false
noticeBox.Parent = keyFrame
local noticeCorner = Instance.new("UICorner")
noticeCorner.CornerRadius = UDim.new(0, 4)
noticeCorner.Parent = noticeBox
local noticeStroke = Instance.new("UIStroke")
noticeStroke.Color = Color3.fromRGB(25, 26, 33)
noticeStroke.Thickness = 1
noticeStroke.Parent = noticeBox
local keyInput = Instance.new("TextBox")
keyInput.Name = "KeyInput"
keyInput.Size = UDim2.new(1, -32, 0, 42)
keyInput.Position = UDim2.new(0, 16, 0, 93)
keyInput.BackgroundColor3 = BG_SECONDARY
keyInput.BorderSizePixel = 0
keyInput.ClearTextOnFocus = true
keyInput.Text = ""
keyInput.PlaceholderText = "ENTER ACCESS CREDENTIAL..."
keyInput.PlaceholderColor3 = TEXT_MUTED
keyInput.TextColor3 = TEXT_PRIMARY
keyInput.TextSize = 11
keyInput.Font = Enum.Font.Code
keyInput.Parent = keyFrame
local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0, 4)
inputCorner.Parent = keyInput
local inputStroke = Instance.new("UIStroke")
inputStroke.Color = BORDER_COLOR
inputStroke.Thickness = 1
inputStroke.Parent = keyInput
local submitBtn = Instance.new("TextButton")
submitBtn.Name = "SubmitBtn"
submitBtn.Size = UDim2.new(1, -32, 0, 42)
submitBtn.Position = UDim2.new(0, 16, 0, 145)
submitBtn.BackgroundColor3 = BG_SECONDARY
submitBtn.Text = "EXECUTE AUTHENTICATION"
submitBtn.TextColor3 = ACCENT_COLOR
submitBtn.TextSize = 11
submitBtn.Font = Enum.Font.GothamBold
submitBtn.Parent = keyFrame
local submitCorner = Instance.new("UICorner")
submitCorner.CornerRadius = UDim.new(0, 4)
submitCorner.Parent = submitBtn
local submitStroke = Instance.new("UIStroke")
submitStroke.Color = ACCENT_COLOR
submitStroke.Thickness = 1
submitStroke.Parent = submitBtn
-- ==========================================
-- HOVER EFFECT ANIMATIONS
-- ==========================================
local function applyHoverEffects(button, strokeObj, normalColor, hoverColor)
button.MouseEnter:Connect(function()
tween(button, 0.2, {BackgroundColor3 = Color3.fromRGB(24, 25, 32)})
if strokeObj then tween(strokeObj, 0.2, {Color = hoverColor}) end
end)
button.MouseLeave:Connect(function()
tween(button, 0.2, {BG_SECONDARY})
if strokeObj then tween(strokeObj, 0.2, {Color = normalColor}) end
end)
end
applyHoverEffects(submitBtn, submitStroke, ACCENT_COLOR, Color3.fromRGB(255, 100, 120))
applyHoverEffects(colBtn, colStroke, ACCENT_COLOR, Color3.fromRGB(255, 100, 120))
-- ==========================================
-- FUNCTIONAL CORE
-- ==========================================
local function addBall(part)
if part:IsA("BasePart") and not trackedBalls[part] then
trackedBalls[part] = {
Size = part.Size,
CanCollide = part.CanCollide
}
part.AncestryChanged:Connect(function()
if part.Parent == nil then
trackedBalls[part] = nil
end
end)
end
end
workspace.DescendantAdded:Connect(function(descendant)
if descendant.Name == BALL_NAME then
addBall(descendant)
end
end)
for _, descendant in pairs(workspace:GetDescendants()) do
if descendant.Name == BALL_NAME then
addBall(descendant)
end
end
local function updateCollisionUI()
if allowCollision then
colBtn.Text = "COLLISION: ON"
colBtn.TextColor3 = ACCENT_COLOR
colStroke.Color = ACCENT_COLOR
else
colBtn.Text = "COLLISION: OFF"
colBtn.TextColor3 = TEXT_MUTED
colStroke.Color = BORDER_COLOR
end
end
loopConnection = RunService.Heartbeat:Connect(function()
if not enabled then return end
for part, originalProps in pairs(trackedBalls) do
if part and part.Parent then
local newSize = Vector3.new(
originalProps.Size.X * currentSize,
originalProps.Size.Y * currentSize,
originalProps.Size.Z * currentSize
)
if part.Size ~= newSize then
part.Size = newSize
end
if allowCollision then
if part.CanCollide ~= true then
part.CanCollide = true
end
else
if part.CanCollide ~= originalProps.CanCollide then
part.CanCollide = originalProps.CanCollide
end
end
end
end
end)
toggleBtn.MouseButton1Click:Connect(function()
enabled = not enabled
if enabled then
toggleBtn.Text = "ACTIVE OPERATIONAL"
toggleBtn.TextColor3 = Color3.fromRGB(0, 255, 140)
toggleStroke.Color = Color3.fromRGB(0, 255, 140)
else
toggleBtn.Text = "INITIALIZE"
toggleBtn.TextColor3 = TEXT_MUTED
toggleStroke.Color = BORDER_COLOR
for part, originalProps in pairs(trackedBalls) do
if part and part.Parent then
part.Size = originalProps.Size
part.CanCollide = originalProps.CanCollide
end
end
end
end)
colBtn.MouseButton1Click:Connect(function()
allowCollision = not allowCollision
updateCollisionUI()
end)
-- Universal Slider Input Logic
local dragging = false
local function updateSlider(input)
local mouseX = input.Position.X
local sliderAbsPos = sliderBg.AbsolutePosition.X
local sliderAbsSize = sliderBg.AbsoluteSize.X
local percent = math.clamp((mouseX - sliderAbsPos) / sliderAbsSize, 0, 1)
currentSize = MIN_SIZE + percent * (MAX_SIZE - MIN_SIZE)
sliderFill.Size = UDim2.new(percent, 0, 1, 0)
knob.Position = UDim2.new(percent, -6, 0.5, -6)
sliderLabel.Text = "TARGET MULTIPLIER: " .. string.format("%.1f", currentSize) .. "X"
end
sliderBg.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
updateSlider(input)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
updateSlider(input)
end
end)
local function toggleGui()
if not keyUnlocked then return end
guiVisible = not guiVisible
mainFrame.Visible = guiVisible
end
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == TOGGLE_KEY then
toggleGui()
end
end)
mobileToggleBtn.MouseButton1Click:Connect(function()
toggleGui()
end)
-- Verification Handle
submitBtn.MouseButton1Click:Connect(function()
if keyInput.Text == CORRECT_KEY then
keyUnlocked = true
keyFrame:Destroy()
mainFrame.Visible = true
mobileToggleBtn.Visible = true
else
keyInput.Text = ""
keyInput.PlaceholderText = "CRITICAL: INVALID KEY SEQUENCE"
keyInput.PlaceholderColor3 = Color3.fromRGB(255, 50, 50)
inputStroke.Color = Color3.fromRGB(255, 50, 50)
task.delay(2, function()
if keyInput and keyInput.Parent then
keyInput.PlaceholderText = "ENTER ACCESS CREDENTIAL..."
keyInput.PlaceholderColor3 = TEXT_MUTED
inputStroke.Color = BORDER_COLOR
end
end)
end
end)
-- Clean Terminal Shutdown
killBtn.MouseButton1Click:Connect(function()
enabled = false
if loopConnection then
loopConnection:Disconnect()
end
for part, originalProps in pairs(trackedBalls) do
if part and part.Parent then
part.Size = originalProps.Size
part.CanCollide = originalProps.CanCollide
end
end
trackedBalls = nil
screenGui:Destroy()
end)



Nga just stealed my script 🤣
@e8y3 no i aint i made this