--// Vacationonsss GUI --// Full LocalScript --// 🌍 ON/OFF + Grab local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Remove old GUI local oldGui = playerGui:FindFirstChild("VacationonsssGUI") if oldGui then oldGui:Destroy() end --================================================== -- SCREEN GUI --================================================== local screenGui = Instance.new("ScreenGui") screenGui.Name = "VacationonsssGUI" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui --================================================== -- MAIN FRAME --================================================== local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 300, 0, 300) frame.Position = UDim2.new(0.5, -150, 0.5, -150) frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 8) frameCorner.Parent = frame -- Rainbow outline local frameStroke = Instance.new("UIStroke") frameStroke.Thickness = 3 frameStroke.Parent = frame --================================================== -- TITLE --================================================== local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 0, 30) titleLabel.Position = UDim2.new(0, 0, 0, 0) titleLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.Font = Enum.Font.Arcade titleLabel.TextScaled = true titleLabel.Text = "Vacationonsss" titleLabel.BorderSizePixel = 0 titleLabel.Parent = frame --================================================== -- SCROLLING FRAME --================================================== local scrollingFrame = Instance.new("ScrollingFrame") scrollingFrame.Name = "ScrollingFrame" scrollingFrame.Size = UDim2.new(1, 0, 1, -30) scrollingFrame.Position = UDim2.new(0, 0, 0, 30) scrollingFrame.BackgroundTransparency = 1 scrollingFrame.BorderSizePixel = 0 scrollingFrame.ScrollBarThickness = 8 scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollingFrame.Parent = frame local layout = Instance.new("UIListLayout") layout.FillDirection = Enum.FillDirection.Vertical layout.Padding = UDim.new(0, 5) layout.Parent = scrollingFrame layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() scrollingFrame.CanvasSize = UDim2.new( 0, 0, 0, layout.AbsoluteContentSize.Y + 10 ) end) --================================================== -- STATUS --================================================== local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, -10, 0, 25) statusLabel.BackgroundTransparency = 1 statusLabel.TextColor3 = Color3.fromRGB(255, 255, 255) statusLabel.TextScaled = true statusLabel.Text = "" statusLabel.Parent = scrollingFrame local function updateStatus(message, color) statusLabel.Text = message statusLabel.TextColor3 = color end --================================================== -- KEY INPUT --================================================== local keyInput = Instance.new("TextBox") keyInput.Size = UDim2.new(1, -10, 0, 30) keyInput.BackgroundColor3 = Color3.fromRGB(30, 30, 30) keyInput.TextColor3 = Color3.fromRGB(255, 255, 255) keyInput.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) keyInput.PlaceholderText = "Enter key here" keyInput.Text = "" keyInput.TextScaled = true keyInput.ClearTextOnFocus = false keyInput.Parent = scrollingFrame local keyCorner = Instance.new("UICorner") keyCorner.CornerRadius = UDim.new(0, 6) keyCorner.Parent = keyInput --================================================== -- SUBMIT --================================================== local submitButton = Instance.new("TextButton") submitButton.Size = UDim2.new(1, -10, 0, 30) submitButton.Text = "Submit" submitButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0) submitButton.TextColor3 = Color3.fromRGB(0, 0, 0) submitButton.TextScaled = true submitButton.BorderSizePixel = 0 submitButton.Parent = scrollingFrame local submitCorner = Instance.new("UICorner") submitCorner.CornerRadius = UDim.new(0, 6) submitCorner.Parent = submitButton --================================================== -- COPY KEY --================================================== local copyButton = Instance.new("TextButton") copyButton.Size = UDim2.new(1, -10, 0, 30) copyButton.Text = "Copy Key" copyButton.BackgroundColor3 = Color3.fromRGB(0, 255, 255) copyButton.TextColor3 = Color3.fromRGB(0, 0, 0) copyButton.TextScaled = true copyButton.BorderSizePixel = 0 copyButton.Parent = scrollingFrame local copyCorner = Instance.new("UICorner") copyCorner.CornerRadius = UDim.new(0, 6) copyCorner.Parent = copyButton --================================================== -- BUTTON DATA --================================================== local buttonsData = { { name = "Fly GUI V3", url = "https://rawscripts.net/raw/Universal-Script-Fly-gui-v3-51813" }, { name = "Brookhaven RP SP Hub", url = "https://rawscripts.net/raw/Brookhaven-RP-Sp-Hub-52646" }, { name = "System Broken", url = "https://rawscripts.net/raw/Universal-Script-System-Broken-29259" }, { name = "GhostHub", url = "https://rawscripts.net/raw/Universal-Script-Ghost-Hub-55646" }, } --================================================== -- CREATE SCRIPT BUTTON --================================================== local buttons = {} local function createButton(name, url) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -10, 0, 30) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(0, 0, 255) btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.TextScaled = true btn.BorderSizePixel = 0 btn.Visible = false btn.Parent = scrollingFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = btn local stroke = Instance.new("UIStroke") stroke.Thickness = 2 stroke.Parent = btn -- Use Activated for mouse + touch + gamepad btn.Activated:Connect(function() local success, err = pcall(function() loadstring(game:HttpGet(url))() end) if not success then updateStatus( "❌ Script failed", Color3.fromRGB(255, 0, 0) ) warn(err) end end) table.insert(buttons, { button = btn, stroke = stroke }) return btn end for _, data in ipairs(buttonsData) do createButton(data.name, data.url) end --================================================== -- GRAB BUTTON --================================================== local grabButton = Instance.new("TextButton") grabButton.Size = UDim2.new(1, -10, 0, 35) grabButton.Text = "🤲 Grab: OFF" grabButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) grabButton.TextColor3 = Color3.fromRGB(255, 255, 255) grabButton.TextScaled = true grabButton.BorderSizePixel = 0 grabButton.Visible = false grabButton.Parent = scrollingFrame local grabCorner = Instance.new("UICorner") grabCorner.CornerRadius = UDim.new(0, 6) grabCorner.Parent = grabButton local grabStroke = Instance.new("UIStroke") grabStroke.Thickness = 2 grabStroke.Parent = grabButton --================================================== -- GRAB SYSTEM --================================================== local grabEnabled = false local grabbedPart = nil local function getCharacter() return player.Character or player.CharacterAdded:Wait() end local function getRoot() local character = getCharacter() return character:FindFirstChild("HumanoidRootPart") end local function findNearestPart() local root = getRoot() if not root then return nil end local nearest = nil local nearestDistance = 25 for _, object in ipairs(workspace:GetDescendants()) do if object:IsA("BasePart") and not object.Anchored and not object:IsDescendantOf(getCharacter()) then local distance = (object.Position - root.Position).Magnitude if distance < nearestDistance then nearestDistance = distance nearest = object end end end return nearest end local function startGrab() local part = findNearestPart() if not part then updateStatus( "❌ No nearby part", Color3.fromRGB(255, 0, 0) ) return end grabbedPart = part grabEnabled = true grabButton.Text = "🤲 Grab: ON" grabButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) updateStatus( "🤲 Grabbed: " .. part.Name, Color3.fromRGB(0, 255, 0) ) end local function stopGrab() grabEnabled = false grabbedPart = nil grabButton.Text = "🤲 Grab: OFF" grabButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) updateStatus( "🤲 Released", Color3.fromRGB(255, 255, 255) ) end grabButton.Activated:Connect(function() if grabEnabled then stopGrab() else startGrab() end end) --================================================== -- CREDIT --================================================== local creditLabel = Instance.new("TextLabel") creditLabel.Size = UDim2.new(1, -10, 0, 25) creditLabel.Text = "Made by REAL_LONA3 / ChatGPT" creditLabel.TextColor3 = Color3.fromRGB(255, 255, 255) creditLabel.BackgroundTransparency = 1 creditLabel.TextScaled = true creditLabel.Parent = scrollingFrame --================================================== -- 🌍 ON/OFF BUTTON --================================================== local toggleButton = Instance.new("TextButton") toggleButton.Name = "WorldToggle" toggleButton.Size = UDim2.new(0, 120, 0, 40) toggleButton.Position = UDim2.new(0.5, -60, 0, 10) toggleButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleButton.Text = "🌍 ON" toggleButton.TextScaled = true toggleButton.Font = Enum.Font.Arcade toggleButton.BorderSizePixel = 0 toggleButton.Parent = screenGui local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 10) toggleCorner.Parent = toggleButton local toggleStroke = Instance.new("UIStroke") toggleStroke.Thickness = 2 toggleStroke.Parent = toggleButton local guiEnabled = true toggleButton.Activated:Connect(function() guiEnabled = not guiEnabled frame.Visible = guiEnabled if guiEnabled then toggleButton.Text = "🌍 ON" toggleButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) else toggleButton.Text = "🌍 OFF" toggleButton.BackgroundColor3 = Color3.fromRGB(200, 0, 0) end end) --================================================== -- KEY SYSTEM --================================================== local correctKey = "BEST123" local function revealButtons() keyInput:Destroy() submitButton:Destroy() copyButton:Destroy() for _, data in ipairs(buttons) do data.button.Visible = true end grabButton.Visible = true end submitButton.Activated:Connect(function() if keyInput.Text == correctKey then updateStatus( "✅ Verified!", Color3.fromRGB(0, 255, 0) ) revealButtons() else updateStatus( "❌ Wrong key!", Color3.fromRGB(255, 0, 0) ) keyInput.Text = "" end end) copyButton.Activated:Connect(function() if setclipboard then setclipboard(correctKey) updateStatus( "📋 Key copied!", Color3.fromRGB(0, 255, 255) ) else updateStatus( "Clipboard unavailable", Color3.fromRGB(255, 150, 0) ) end end) --================================================== -- GRAB FOLLOW LOOP --================================================== RunService.Heartbeat:Connect(function() local hue = tick() * 0.2 % 1 local rainbow = Color3.fromHSV(hue, 1, 1) frameStroke.Color = rainbow titleLabel.TextColor3 = rainbow toggleStroke.Color = rainbow grabStroke.Color = rainbow for _, data in ipairs(buttons) do if data.stroke then data.stroke.Color = rainbow end end -- Grabbed part follows the player if grabEnabled and grabbedPart then if not grabbedPart.Parent then stopGrab() return end local root = getRoot() if root then local targetCFrame = root.CFrame * CFrame.new(0, 0, -6) grabbedPart.CFrame = targetCFrame -- Stop it from flying away due to physics grabbedPart.AssemblyLinearVelocity = Vector3.zero grabbedPart.AssemblyAngularVelocity = Vector3.zero end end end) --================================================== -- INITIAL STATUS --================================================== updateStatus( "Enter key here", Color3.fromRGB(255, 255, 255) )