WatterB0y GUI
Key RequiredUniversal

WatterB0y GUI

Universal ScriptWatterB0Y_K11ngWatterB0Y_K11ng 6.4K views 53 executesUpdated Jul 5, 2025
Unrated
00
Lua Script•834 lines (25529 chars)
-- Services
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

-- Player & Character
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("HumanoidRootPart")

-- GUI Setup - Main GUI
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "WatterB0y_GUI"
gui.ResetOnSpawn = false

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 260, 0, 780)
frame.Position = UDim2.new(0, 20, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 112)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)

-- Title
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, -40, 0, 40)
title.Position = UDim2.new(0, 5, 0, 0)
title.Text = "🌊WatterB0y GUI🌊"
title.Font = Enum.Font.GothamBold
title.TextSize = 20
title.TextColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.TextXAlignment = Enum.TextXAlignment.Left

-- Minimize Button
local minimize = Instance.new("TextButton", frame)
minimize.Size = UDim2.new(0, 30, 0, 30)
minimize.Position = UDim2.new(1, -35, 0, 5)
minimize.Text = "🞃"
minimize.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
minimize.TextColor3 = Color3.new(1, 1, 1)
minimize.Font = Enum.Font.GothamBold
minimize.TextSize = 18
Instance.new("UICorner", minimize).CornerRadius = UDim.new(0, 6)

-- Close Button (X)
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -70, 0, 5)
closeBtn.Text = "✕"
closeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 18
closeBtn.AutoButtonColor = true
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)

closeBtn.MouseButton1Click:Connect(function()
    gui:Destroy()
end)

-- Colors
local activeColor = Color3.fromRGB(34, 139, 34)
local inactiveColor = Color3.fromRGB(70, 130, 180)
local guiElements = {}

-- Create Button Helper
local function createButton(name, yPos, callback)
	local btn = Instance.new("TextButton", frame)
	btn.Size = UDim2.new(1, -10, 0, 40)
	btn.Position = UDim2.new(0, 5, 0, yPos)
	btn.Text = name
	btn.BackgroundColor3 = inactiveColor
	btn.TextColor3 = Color3.new(1, 1, 1)
	btn.Font = Enum.Font.SourceSansBold
	btn.TextSize = 20
	Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
	btn.MouseButton1Click:Connect(function()
		local isOn = callback()
		btn.BackgroundColor3 = isOn and activeColor or inactiveColor
	end)
	table.insert(guiElements, btn)
	return btn
end

-- Fly GUI Loader
local flyGuiLoaded = false
local flyGui

local function createFlyGui()
	if flyGuiLoaded then return end
	flyGuiLoaded = true

	flyGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
	flyGui.Name = "WatterB0y_Fly_GUI"
	flyGui.ResetOnSpawn = false

	local flyFrame = Instance.new("Frame", flyGui)
	flyFrame.Size = UDim2.new(0, 260, 0, 180)
	flyFrame.Position = UDim2.new(0, 300, 0.3, 0)
	flyFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 112)
	flyFrame.BorderSizePixel = 0
	flyFrame.Active = true
	flyFrame.Draggable = true
	Instance.new("UICorner", flyFrame).CornerRadius = UDim.new(0, 10)

	-- Title for Fly GUI
	local flyTitle = Instance.new("TextLabel", flyFrame)
	flyTitle.Size = UDim2.new(1, -40, 0, 40)
	flyTitle.Position = UDim2.new(0, 5, 0, 0)
	flyTitle.Text = "🌊WatterB0y GUI Fly🌊!"
	flyTitle.Font = Enum.Font.GothamBold
	flyTitle.TextSize = 20
	flyTitle.TextColor3 = Color3.new(1, 1, 1)
	flyTitle.BackgroundTransparency = 1
	flyTitle.TextXAlignment = Enum.TextXAlignment.Left

	local bodyVelocity
	local moveDirection = Vector3.new(0,0,0)
	local speed = 50
	local flying = false

	-- Create fly buttons to control movement manually
	local function createFlyButton(name, posX, posY, directionVec)
		local btn = Instance.new("TextButton", flyFrame)
		btn.Size = UDim2.new(0, 60, 0, 40)
		btn.Position = UDim2.new(0, posX, 0, posY)
		btn.Text = name
		btn.Font = Enum.Font.SourceSansBold
		btn.TextSize = 18
		btn.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
		btn.TextColor3 = Color3.new(1, 1, 1)
		Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)

		-- While pressed, move the player in that direction
		btn.MouseButton1Down:Connect(function()
			moveDirection = directionVec
			if not flying then
				flying = true
				bodyVelocity = Instance.new("BodyVelocity", hum)
				bodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9)
				RunService:BindToRenderStep("FlyMovement", Enum.RenderPriority.Character.Value, function()
					if bodyVelocity then
						bodyVelocity.Velocity = moveDirection * speed
					end
				end)
			end
		end)
		btn.MouseButton1Up:Connect(function()
			moveDirection = Vector3.new(0,0,0)
			if bodyVelocity then
				bodyVelocity.Velocity = Vector3.new(0,0,0)
			end
			if flying then
				flying = false
				if bodyVelocity then
					bodyVelocity:Destroy()
					bodyVelocity = nil
				end
				RunService:UnbindFromRenderStep("FlyMovement")
			end
		end)

		return btn
	end

	-- Create buttons: Forward, Backward, Left, Right, Up, Down
	createFlyButton("↑", 95, 50, Vector3.new(0,0,-1))    -- Forward (negative Z)
	createFlyButton("↓", 95, 110, Vector3.new(0,0,1))    -- Backward
	createFlyButton("←", 25, 80, Vector3.new(-1,0,0))    -- Left
	createFlyButton("→", 165, 80, Vector3.new(1,0,0))    -- Right
	createFlyButton("Up", 95, 10, Vector3.new(0,1,0))    -- Up
	createFlyButton("Down", 95, 150, Vector3.new(0,-1,0))-- Down

	-- Close Fly GUI button
	local closeFlyBtn = Instance.new("TextButton", flyFrame)
	closeFlyBtn.Size = UDim2.new(0, 30, 0, 30)
	closeFlyBtn.Position = UDim2.new(1, -35, 0, 5)
	closeFlyBtn.Text = "✕"
	closeFlyBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	closeFlyBtn.TextColor3 = Color3.new(1, 1, 1)
	closeFlyBtn.Font = Enum.Font.GothamBold
	closeFlyBtn.TextSize = 18
	closeFlyBtn.AutoButtonColor = true
	Instance.new("UICorner", closeFlyBtn).CornerRadius = UDim.new(0, 6)

	closeFlyBtn.MouseButton1Click:Connect(function()
		flyGui:Destroy()
		flyGuiLoaded = false
	end)
end

-- Main GUI Buttons

-- Fly Button (opens fly GUI)
createButton("Fly", 50, function()
	if flyGuiLoaded then
		if flyGui then flyGui:Destroy() end
		flyGuiLoaded = false
		return false
	else
		createFlyGui()
		return true
	end
end)

-- Noclip!
local noclip = false
local noclipConn
createButton("Noclip", 100, function()
	noclip = not noclip
	if noclip then
		noclipConn = RunService.Stepped:Connect(function()
			for _, v in pairs(char:GetDescendants()) do
				if v:IsA("BasePart") then v.CanCollide = false end
			end
		end)
	else
		if noclipConn then noclipConn:Disconnect() end
	end
	return noclip
end)

-- Infinite Jump Toggle
local infJump = false
local infJumpConn
createButton("Infinite Jump", 150, function()
	infJump = not infJump
	if infJump then
		infJumpConn = UIS.JumpRequest:Connect(function()
			if not hum or not hum.Parent then return end
			if UIS:GetFocusedTextBox() then return end
			local humanoid = hum.Parent:FindFirstChildOfClass("Humanoid")
			if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end
		end)
	else
		if infJumpConn then infJumpConn:Disconnect() end
	end
	return infJump
end)

-- Teleport TextBoxes helper
local function createTextbox(placeholder, xPos)
	local box = Instance.new("TextBox", frame)
	box.PlaceholderText = placeholder
	box.Position = UDim2.new(0, xPos, 0, 200)
	box.Size = UDim2.new(0, 75, 0, 30)
	box.Text = ""
	box.Font = Enum.Font.SourceSans
	box.TextSize = 18
	box.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
	box.TextColor3 = Color3.new(1, 1, 1)
	Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6)
	table.insert(guiElements, box)
	return box
end
local xBox = createTextbox("X", 5)
local yBox = createTextbox("Y", 90)
local zBox = createTextbox("Z", 175)

createButton("Teleport", 240, function()
	local x = tonumber(xBox.Text)
	local y = tonumber(yBox.Text)
	local z = tonumber(zBox.Text)
	if x and y and z then
		hum.CFrame = CFrame.new(Vector3.new(x, y, z))
	end
	return false
end)

-- Function to create a basic Tool with a name and handle
local function createBasicTool(toolName)
	local tool = Instance.new("Tool")
	tool.Name = toolName
	tool.RequiresHandle = true
	tool.CanBeDropped = true
	
	local handle = Instance.new("Part")
	handle.Name = "Handle"
	handle.Size = Vector3.new(1,1,1)
	handle.Color = Color3.fromRGB(100, 100, 100)
	handle.Material = Enum.Material.Metal
	handle.Parent = tool
	
	tool.Parent = nil
	
	return tool
end

-- BTools Button (creates tools and gives to player)
createButton("BTools", 290, function()
	-- Clear current tools
	for _, tool in pairs(player.Backpack:GetChildren()) do
		if tool:IsA("Tool") then
			tool:Destroy()
		end
	end
	
	-- Create and give Hammer, Clone, Grab, Delete
	local toolNames = {"Hammer", "Clone", "Grab", "Delete"}
	for _, name in ipairs(toolNames) do
		local tool = createBasicTool(name)
		tool.Parent = player.Backpack
	end
	return true
end)

-- Watter ESP
local espOn = false
local espConnections = {}
createButton("ESP", 340, function()
	espOn = not espOn
	if espOn then
		for _, plr in pairs(Players:GetPlayers()) do
			if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
				local root = plr.Character.HumanoidRootPart
				local billboard = Instance.new("BillboardGui", root)
				billboard.Name = "WatterESP"
				billboard.Adornee = root
				billboard.Size = UDim2.new(0, 100, 0, 40)
				billboard.AlwaysOnTop = true
				local label = Instance.new("TextLabel", billboard)
				label.Size = UDim2.new(1, 0, 1, 0)
				label.BackgroundTransparency = 1
				label.TextColor3 = Color3.new(1, 0, 0)
				label.Font = Enum.Font.SourceSansBold
				label.TextSize = 20
				label.Text = plr.Name
				label.TextStrokeTransparency = 0.5
				label.TextStrokeColor3 = Color3.new(0, 0, 0)
				table.insert(espConnections, billboard)
			end
		end
	else
		for _, esp in pairs(espConnections) do esp:Destroy() end
		espConnections = {}
	end
	return espOn
end)

-- Script Executor
local execBox = Instance.new("TextBox", frame)
execBox.PlaceholderText = "Enter A ScriptBlox or your script here..."
execBox.Size = UDim2.new(1, -10, 0, 100)
execBox.Position = UDim2.new(0, 5, 0, 390)
execBox.Text = ""
execBox.ClearTextOnFocus = false
execBox.Font = Enum.Font.Code
execBox.TextSize = 16
execBox.TextColor3 = Color3.new(1, 1, 1)
execBox.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
execBox.TextWrapped = true
execBox.TextYAlignment = Enum.TextYAlignment.Top
execBox.MultiLine = true
Instance.new("UICorner", execBox).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, execBox)

local execBtn = Instance.new("TextButton", frame)
execBtn.Size = UDim2.new(1, -10, 0, 40)
execBtn.Position = UDim2.new(0, 5, 0, 500)
execBtn.Text = "Execute!"
execBtn.Font = Enum.Font.GothamBold
execBtn.TextSize = 18
execBtn.BackgroundColor3 = activeColor
execBtn.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", execBtn).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, execBtn)

execBtn.MouseButton1Click:Connect(function()
	local scriptText = execBox.Text
	if scriptText == "" or scriptText:match("^%s*$") then
		warn("N0 C0DE EXECUTED")
		return
	end
	local success, err = pcall(function()
		loadstring(scriptText)()
	end)
	if not success then
		warn("Executor Error: " .. err)
	end
end)

-- Coming Soon Button
local comingSoonBtn = Instance.new("TextButton", frame)
comingSoonBtn.Size = UDim2.new(1, -10, 0, 40)
comingSoonBtn.Position = UDim2.new(0, 5, 0, 550)
comingSoonBtn.Text = "🔧W0rk In pr0gress.."
comingSoonBtn.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
comingSoonBtn.TextColor3 = Color3.new(1, 1, 1)
comingSoonBtn.Font = Enum.Font.FredokaOne
comingSoonBtn.TextSize = 18
comingSoonBtn.AutoButtonColor = false
Instance.new("UICorner", comingSoonBtn).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, comingSoonBtn)

-- Note below coming soon about fly beta
local noteLabel = Instance.new("TextLabel", frame)
noteLabel.Size = UDim2.new(1, -10, 0, 40)
noteLabel.Position = UDim2.new(0, 5, 0, 600)
noteLabel.Text = "n0te - Fly is in beta, aspect s0me issues/bugs! Also, btools is down!"
noteLabel.Font = Enum.Font.FredokaOne
noteLabel.TextSize = 14
noteLabel.TextColor3 = Color3.new(1, 1, 1)
noteLabel.BackgroundTransparency = 1
noteLabel.TextWrapped = true
noteLabel.TextXAlignment = Enum.TextXAlignment.Left

-- Minimize Logic
local minimized = false
minimize.MouseButton1Click:Connect(function()
	minimized = not minimized
	for _, el in ipairs(guiElements) do
		el.Visible = not minimized
	end
	minimize.Text = minimized and "🞂" or "🞃"
end)
-- Services
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

-- Player & Character
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("HumanoidRootPart")

-- GUI Setup - Main GUI
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "WatterB0y_GUI"
gui.ResetOnSpawn = false

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 260, 0, 780)
frame.Position = UDim2.new(0, 20, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 112)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)

-- Title
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, -40, 0, 40)
title.Position = UDim2.new(0, 5, 0, 0)
title.Text = "🌊WatterB0y GUI🌊"
title.Font = Enum.Font.GothamBold
title.TextSize = 20
title.TextColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.TextXAlignment = Enum.TextXAlignment.Left

-- Minimize Button
local minimize = Instance.new("TextButton", frame)
minimize.Size = UDim2.new(0, 30, 0, 30)
minimize.Position = UDim2.new(1, -35, 0, 5)
minimize.Text = "🞃"
minimize.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
minimize.TextColor3 = Color3.new(1, 1, 1)
minimize.Font = Enum.Font.GothamBold
minimize.TextSize = 18
Instance.new("UICorner", minimize).CornerRadius = UDim.new(0, 6)

-- Close Button (X)
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -70, 0, 5)
closeBtn.Text = "✕"
closeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 18
closeBtn.AutoButtonColor = true
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)

closeBtn.MouseButton1Click:Connect(function()
    gui:Destroy()
end)

-- Colors
local activeColor = Color3.fromRGB(34, 139, 34)
local inactiveColor = Color3.fromRGB(70, 130, 180)
local guiElements = {}

-- Create Button Helper
local function createButton(name, yPos, callback)
	local btn = Instance.new("TextButton", frame)
	btn.Size = UDim2.new(1, -10, 0, 40)
	btn.Position = UDim2.new(0, 5, 0, yPos)
	btn.Text = name
	btn.BackgroundColor3 = inactiveColor
	btn.TextColor3 = Color3.new(1, 1, 1)
	btn.Font = Enum.Font.SourceSansBold
	btn.TextSize = 20
	Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
	btn.MouseButton1Click:Connect(function()
		local isOn = callback()
		btn.BackgroundColor3 = isOn and activeColor or inactiveColor
	end)
	table.insert(guiElements, btn)
	return btn
end

-- Fly GUI Loader
local flyGuiLoaded = false
local flyGui

local function createFlyGui()
	if flyGuiLoaded then return end
	flyGuiLoaded = true

	flyGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
	flyGui.Name = "WatterB0y_Fly_GUI"
	flyGui.ResetOnSpawn = false

	local flyFrame = Instance.new("Frame", flyGui)
	flyFrame.Size = UDim2.new(0, 260, 0, 180)
	flyFrame.Position = UDim2.new(0, 300, 0.3, 0)
	flyFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 112)
	flyFrame.BorderSizePixel = 0
	flyFrame.Active = true
	flyFrame.Draggable = true
	Instance.new("UICorner", flyFrame).CornerRadius = UDim.new(0, 10)

	-- Title for Fly GUI
	local flyTitle = Instance.new("TextLabel", flyFrame)
	flyTitle.Size = UDim2.new(1, -40, 0, 40)
	flyTitle.Position = UDim2.new(0, 5, 0, 0)
	flyTitle.Text = "🌊WatterB0y GUI Fly🌊!"
	flyTitle.Font = Enum.Font.GothamBold
	flyTitle.TextSize = 20
	flyTitle.TextColor3 = Color3.new(1, 1, 1)
	flyTitle.BackgroundTransparency = 1
	flyTitle.TextXAlignment = Enum.TextXAlignment.Left

	local bodyVelocity
	local moveDirection = Vector3.new(0,0,0)
	local speed = 50
	local flying = false

	-- Create fly buttons to control movement manually
	local function createFlyButton(name, posX, posY, directionVec)
		local btn = Instance.new("TextButton", flyFrame)
		btn.Size = UDim2.new(0, 60, 0, 40)
		btn.Position = UDim2.new(0, posX, 0, posY)
		btn.Text = name
		btn.Font = Enum.Font.SourceSansBold
		btn.TextSize = 18
		btn.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
		btn.TextColor3 = Color3.new(1, 1, 1)
		Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)

		-- While pressed, move the player in that direction
		btn.MouseButton1Down:Connect(function()
			moveDirection = directionVec
			if not flying then
				flying = true
				bodyVelocity = Instance.new("BodyVelocity", hum)
				bodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9)
				RunService:BindToRenderStep("FlyMovement", Enum.RenderPriority.Character.Value, function()
					if bodyVelocity then
						bodyVelocity.Velocity = moveDirection * speed
					end
				end)
			end
		end)
		btn.MouseButton1Up:Connect(function()
			moveDirection = Vector3.new(0,0,0)
			if bodyVelocity then
				bodyVelocity.Velocity = Vector3.new(0,0,0)
			end
			if flying then
				flying = false
				if bodyVelocity then
					bodyVelocity:Destroy()
					bodyVelocity = nil
				end
				RunService:UnbindFromRenderStep("FlyMovement")
			end
		end)

		return btn
	end

	-- Create buttons: Forward, Backward, Left, Right, Up, Down
	createFlyButton("↑", 95, 50, Vector3.new(0,0,-1))    -- Forward (negative Z)
	createFlyButton("↓", 95, 110, Vector3.new(0,0,1))    -- Backward
	createFlyButton("←", 25, 80, Vector3.new(-1,0,0))    -- Left
	createFlyButton("→", 165, 80, Vector3.new(1,0,0))    -- Right
	createFlyButton("Up", 95, 10, Vector3.new(0,1,0))    -- Up
	createFlyButton("Down", 95, 150, Vector3.new(0,-1,0))-- Down

	-- Close Fly GUI button
	local closeFlyBtn = Instance.new("TextButton", flyFrame)
	closeFlyBtn.Size = UDim2.new(0, 30, 0, 30)
	closeFlyBtn.Position = UDim2.new(1, -35, 0, 5)
	closeFlyBtn.Text = "✕"
	closeFlyBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	closeFlyBtn.TextColor3 = Color3.new(1, 1, 1)
	closeFlyBtn.Font = Enum.Font.GothamBold
	closeFlyBtn.TextSize = 18
	closeFlyBtn.AutoButtonColor = true
	Instance.new("UICorner", closeFlyBtn).CornerRadius = UDim.new(0, 6)

	closeFlyBtn.MouseButton1Click:Connect(function()
		flyGui:Destroy()
		flyGuiLoaded = false
	end)
end

-- Main GUI Buttons

-- Fly Button (opens fly GUI)
createButton("Fly", 50, function()
	if flyGuiLoaded then
		if flyGui then flyGui:Destroy() end
		flyGuiLoaded = false
		return false
	else
		createFlyGui()
		return true
	end
end)

-- Noclip!
local noclip = false
local noclipConn
createButton("Noclip", 100, function()
	noclip = not noclip
	if noclip then
		noclipConn = RunService.Stepped:Connect(function()
			for _, v in pairs(char:GetDescendants()) do
				if v:IsA("BasePart") then v.CanCollide = false end
			end
		end)
	else
		if noclipConn then noclipConn:Disconnect() end
	end
	return noclip
end)

-- Infinite Jump Toggle
local infJump = false
local infJumpConn
createButton("Infinite Jump", 150, function()
	infJump = not infJump
	if infJump then
		infJumpConn = UIS.JumpRequest:Connect(function()
			if not hum or not hum.Parent then return end
			if UIS:GetFocusedTextBox() then return end
			local humanoid = hum.Parent:FindFirstChildOfClass("Humanoid")
			if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end
		end)
	else
		if infJumpConn then infJumpConn:Disconnect() end
	end
	return infJump
end)

-- Teleport TextBoxes helper
local function createTextbox(placeholder, xPos)
	local box = Instance.new("TextBox", frame)
	box.PlaceholderText = placeholder
	box.Position = UDim2.new(0, xPos, 0, 200)
	box.Size = UDim2.new(0, 75, 0, 30)
	box.Text = ""
	box.Font = Enum.Font.SourceSans
	box.TextSize = 18
	box.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
	box.TextColor3 = Color3.new(1, 1, 1)
	Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6)
	table.insert(guiElements, box)
	return box
end
local xBox = createTextbox("X", 5)
local yBox = createTextbox("Y", 90)
local zBox = createTextbox("Z", 175)

createButton("Teleport", 240, function()
	local x = tonumber(xBox.Text)
	local y = tonumber(yBox.Text)
	local z = tonumber(zBox.Text)
	if x and y and z then
		hum.CFrame = CFrame.new(Vector3.new(x, y, z))
	end
	return false
end)

-- Function to create a basic Tool with a name and handle
local function createBasicTool(toolName)
	local tool = Instance.new("Tool")
	tool.Name = toolName
	tool.RequiresHandle = true
	tool.CanBeDropped = true
	
	local handle = Instance.new("Part")
	handle.Name = "Handle"
	handle.Size = Vector3.new(1,1,1)
	handle.Color = Color3.fromRGB(100, 100, 100)
	handle.Material = Enum.Material.Metal
	handle.Parent = tool
	
	tool.Parent = nil
	
	return tool
end

-- BTools Button (creates tools and gives to player)
createButton("BTools", 290, function()
	-- Clear current tools
	for _, tool in pairs(player.Backpack:GetChildren()) do
		if tool:IsA("Tool") then
			tool:Destroy()
		end
	end
	
	-- Create and give Hammer, Clone, Grab, Delete
	local toolNames = {"Hammer", "Clone", "Grab", "Delete"}
	for _, name in ipairs(toolNames) do
		local tool = createBasicTool(name)
		tool.Parent = player.Backpack
	end
	return true
end)

-- Watter ESP
local espOn = false
local espConnections = {}
createButton("ESP", 340, function()
	espOn = not espOn
	if espOn then
		for _, plr in pairs(Players:GetPlayers()) do
			if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
				local root = plr.Character.HumanoidRootPart
				local billboard = Instance.new("BillboardGui", root)
				billboard.Name = "WatterESP"
				billboard.Adornee = root
				billboard.Size = UDim2.new(0, 100, 0, 40)
				billboard.AlwaysOnTop = true
				local label = Instance.new("TextLabel", billboard)
				label.Size = UDim2.new(1, 0, 1, 0)
				label.BackgroundTransparency = 1
				label.TextColor3 = Color3.new(1, 0, 0)
				label.Font = Enum.Font.SourceSansBold
				label.TextSize = 20
				label.Text = plr.Name
				label.TextStrokeTransparency = 0.5
				label.TextStrokeColor3 = Color3.new(0, 0, 0)
				table.insert(espConnections, billboard)
			end
		end
	else
		for _, esp in pairs(espConnections) do esp:Destroy() end
		espConnections = {}
	end
	return espOn
end)

-- Script Executor
local execBox = Instance.new("TextBox", frame)
execBox.PlaceholderText = "Enter A ScriptBlox or your script here..."
execBox.Size = UDim2.new(1, -10, 0, 100)
execBox.Position = UDim2.new(0, 5, 0, 390)
execBox.Text = ""
execBox.ClearTextOnFocus = false
execBox.Font = Enum.Font.Code
execBox.TextSize = 16
execBox.TextColor3 = Color3.new(1, 1, 1)
execBox.BackgroundColor3 = Color3.fromRGB(40, 40, 90)
execBox.TextWrapped = true
execBox.TextYAlignment = Enum.TextYAlignment.Top
execBox.MultiLine = true
Instance.new("UICorner", execBox).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, execBox)

local execBtn = Instance.new("TextButton", frame)
execBtn.Size = UDim2.new(1, -10, 0, 40)
execBtn.Position = UDim2.new(0, 5, 0, 500)
execBtn.Text = "Execute!"
execBtn.Font = Enum.Font.GothamBold
execBtn.TextSize = 18
execBtn.BackgroundColor3 = activeColor
execBtn.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", execBtn).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, execBtn)

execBtn.MouseButton1Click:Connect(function()
	local scriptText = execBox.Text
	if scriptText == "" or scriptText:match("^%s*$") then
		warn("N0 C0DE EXECUTED")
		return
	end
	local success, err = pcall(function()
		loadstring(scriptText)()
	end)
	if not success then
		warn("Executor Error: " .. err)
	end
end)

-- Coming Soon Button
local comingSoonBtn = Instance.new("TextButton", frame)
comingSoonBtn.Size = UDim2.new(1, -10, 0, 40)
comingSoonBtn.Position = UDim2.new(0, 5, 0, 550)
comingSoonBtn.Text = "🔧W0rk In pr0gress.."
comingSoonBtn.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
comingSoonBtn.TextColor3 = Color3.new(1, 1, 1)
comingSoonBtn.Font = Enum.Font.FredokaOne
comingSoonBtn.TextSize = 18
comingSoonBtn.AutoButtonColor = false
Instance.new("UICorner", comingSoonBtn).CornerRadius = UDim.new(0, 6)
table.insert(guiElements, comingSoonBtn)

-- Note below coming soon about fly beta
local noteLabel = Instance.new("TextLabel", frame)
noteLabel.Size = UDim2.new(1, -10, 0, 40)
noteLabel.Position = UDim2.new(0, 5, 0, 600)
noteLabel.Text = "n0te - Fly is in beta, aspect s0me issues/bugs! Also, btools is down!"
noteLabel.Font = Enum.Font.FredokaOne
noteLabel.TextSize = 14
noteLabel.TextColor3 = Color3.new(1, 1, 1)
noteLabel.BackgroundTransparency = 1
noteLabel.TextWrapped = true
noteLabel.TextXAlignment = Enum.TextXAlignment.Left

-- Minimize Logic
local minimized = false
minimize.MouseButton1Click:Connect(function()
	minimized = not minimized
	for _, el in ipairs(guiElements) do
		el.Visible = not minimized
	end
	minimize.Text = minimized and "🞂" or "🞃"
end)

Features & Information

You can teleport, noclip, fly, btools is down, and I forgot the rest..
#Universal

Community Comments (3)

FearSoloFearSoloJul 5, 2025(edited)

1 made by ChatGPT 2 any ChatGPT script sucks, so actually make a script by yourself

WatterB0Y_K11ngWatterB0Y_K11ngJul 5, 2025

1 Shut Up 2 If your * wants to say stuff about people’s scripts, shut up, because *ody will want to be hated on.

Player456Player456Jul 5, 2025

Happmod

More Scripts for Universal Scripts