--[[ ⚡ 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)