Vacation
Key RequiredUniversal

Vacation

Universal Scriptbiotionbranboolbiotionbranbool 60 views 435 executesUpdated Aug 20, 2026
Unrated
00
Lua Script•531 lines (12459 chars)
--// 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)
)

Features & Information

ANY JUST CALL SUCK ON THIS SCRIPT
#Bruh#Adventure#I hate this

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts