Headsit GUI V3
Key RequiredUniversal

Headsit GUI V3

Universal ScriptHubmakerHubmaker 2K views 760 executesUpdated Mar 8, 2026
Unrated
00
Lua Script•261 lines (6697 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer

local followConnection
local beam

local function rainbow(h)
	return Color3.fromHSV(h%1,1,1)
end

local function round(obj,r)
	local c = Instance.new("UICorner")
	c.CornerRadius = UDim.new(0,r or 8)
	c.Parent = obj
end

local gui = Instance.new("ScreenGui")
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

-- PASSWORD MENU
local passFrame = Instance.new("Frame")
passFrame.Size = UDim2.new(0,260,0,140)
passFrame.Position = UDim2.new(0.35,0,0.35,0)
passFrame.BackgroundColor3 = Color3.fromRGB(15,15,15)
passFrame.Active = true
passFrame.Draggable = true
passFrame.Parent = gui
round(passFrame)

local passTitle = Instance.new("TextLabel")
passTitle.Size = UDim2.new(1,0,0,30)
passTitle.Text = "Enter Password"
passTitle.TextScaled = true
passTitle.BackgroundColor3 = Color3.fromRGB(30,30,30)
passTitle.TextColor3 = Color3.new(1,1,1)
passTitle.Parent = passFrame
round(passTitle)

local passBox = Instance.new("TextBox")
passBox.Size = UDim2.new(1,-20,0,30)
passBox.Position = UDim2.new(0,10,0,50)
passBox.PlaceholderText = "Password"
passBox.BackgroundColor3 = Color3.fromRGB(40,40,40)
passBox.TextColor3 = Color3.new(1,1,1)
passBox.Parent = passFrame
round(passBox)

local unlock = Instance.new("TextButton")
unlock.Size = UDim2.new(1,-20,0,30)
unlock.Position = UDim2.new(0,10,0,90)
unlock.Text = "Unlock"
unlock.TextColor3 = Color3.new(1,1,1)
unlock.BackgroundColor3 = Color3.fromRGB(60,60,60)
unlock.Parent = passFrame
round(unlock)

-- MAIN MENU
local main = Instance.new("Frame")
main.Size = UDim2.new(0,260,0,210)
main.Position = UDim2.new(0.35,0,0.35,0)
main.BackgroundColor3 = Color3.fromRGB(15,15,15)
main.Visible = false
main.Active = true
main.Draggable = true
main.Parent = gui
round(main)

-- TITLE (shorter so buttons don't cover it)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,-80,0,30)
title.Position = UDim2.new(0,0,0,0)
title.Text = "HEADSITTER MENU V3!"
title.TextScaled = true
title.BackgroundColor3 = Color3.fromRGB(30,30,30)
title.TextColor3 = Color3.new(1,1,1)
title.Parent = main
round(title)

-- CLOSE BUTTON
local close = Instance.new("TextButton")
close.Size = UDim2.new(0,30,0,30)
close.Position = UDim2.new(1,-35,0,0)
close.Text = "X"
close.BackgroundColor3 = Color3.fromRGB(170,0,0)
close.TextColor3 = Color3.new(1,1,1)
close.Parent = main
round(close)

-- MINIMIZE BUTTON
local minimize = Instance.new("TextButton")
minimize.Size = UDim2.new(0,30,0,30)
minimize.Position = UDim2.new(1,-70,0,0)
minimize.Text = "-"
minimize.BackgroundColor3 = Color3.fromRGB(120,120,120)
minimize.TextColor3 = Color3.new(1,1,1)
minimize.Parent = main
round(minimize)

-- CIRCLE RESTORE BUTTON
local restore = Instance.new("TextButton")
restore.Size = UDim2.new(0,50,0,50)
restore.Position = UDim2.new(0,15,1,-65)
restore.Text = "HEADSIT"
restore.TextScaled = true
restore.Visible = false
restore.TextColor3 = Color3.new(1,1,1)
restore.BackgroundColor3 = Color3.fromRGB(50,50,50)
restore.Parent = gui
round(restore,100)

-- TARGET BOX
local targetBox = Instance.new("TextBox")
targetBox.Size = UDim2.new(1,-20,0,30)
targetBox.Position = UDim2.new(0,10,0,50)
targetBox.PlaceholderText = "Target Name or DisplayName"
targetBox.BackgroundColor3 = Color3.fromRGB(35,35,35)
targetBox.TextColor3 = Color3.new(1,1,1)
targetBox.Parent = main
round(targetBox)

-- HEADSIT BUTTON
local sit = Instance.new("TextButton")
sit.Size = UDim2.new(1,-20,0,35)
sit.Position = UDim2.new(0,10,0,95)
sit.Text = "HEADSIT"
sit.TextColor3 = Color3.new(1,1,1)
sit.BackgroundColor3 = Color3.fromRGB(50,50,50)
sit.Parent = main
round(sit)

-- STOP BUTTON
local stop = Instance.new("TextButton")
stop.Size = UDim2.new(1,-20,0,35)
stop.Position = UDim2.new(0,10,0,140)
stop.Text = "STOP"
stop.TextColor3 = Color3.new(1,1,1)
stop.BackgroundColor3 = Color3.fromRGB(50,50,50)
stop.Parent = main
round(stop)

-- RAINBOW
local hue = 0
task.spawn(function()
	while gui.Parent do
		hue += 0.01
		sit.BackgroundColor3 = rainbow(hue)
		stop.BackgroundColor3 = rainbow(hue+0.3)
		restore.BackgroundColor3 = rainbow(hue+0.6)
		unlock.BackgroundColor3 = rainbow(hue+0.8)
		task.wait(0.03)
	end
end)

-- FIND PLAYER
local function findPlayer(name)
	for _,p in pairs(Players:GetPlayers()) do
		if string.lower(p.Name) == string.lower(name) or string.lower(p.DisplayName) == string.lower(name) then
			return p
		end
	end
end

unlock.MouseButton1Click:Connect(function()
	if passBox.Text == "SITTERR1" then
		passFrame.Visible = false
		main.Visible = true
	end
end)

-- MINIMIZE
minimize.MouseButton1Click:Connect(function()

	local tween = TweenService:Create(main,TweenInfo.new(0.4),{BackgroundTransparency = 1})

	for _,v in pairs(main:GetDescendants()) do
		if v:IsA("TextLabel") or v:IsA("TextButton") or v:IsA("TextBox") then
			TweenService:Create(v,TweenInfo.new(0.4),{
				TextTransparency = 1,
				BackgroundTransparency = 1
			}):Play()
		end
	end

	tween:Play()
	tween.Completed:Wait()

	main.Visible = false
	restore.Visible = true

end)

-- RESTORE
restore.MouseButton1Click:Connect(function()

	main.Visible = true
	restore.Visible = false

	for _,v in pairs(main:GetDescendants()) do
		if v:IsA("TextLabel") or v:IsA("TextButton") or v:IsA("TextBox") then
			v.TextTransparency = 0
			v.BackgroundTransparency = 0
		end
	end

	main.BackgroundTransparency = 0

end)

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

-- HEADSIT
sit.MouseButton1Click:Connect(function()

	if followConnection then followConnection:Disconnect() end
	if beam then beam:Destroy() end

	local target = findPlayer(targetBox.Text)
	if not target or not target.Character then return end

	local head = target.Character:FindFirstChild("Head")
	local char = player.Character
	if not head or not char then return end

	local root = char:FindFirstChild("HumanoidRootPart")
	local hum = char:FindFirstChildOfClass("Humanoid")
	if not root or not hum then return end

	hum.Sit = true

	local a0 = Instance.new("Attachment",root)
	local a1 = Instance.new("Attachment",head)

	beam = Instance.new("Beam")
	beam.Attachment0 = a0
	beam.Attachment1 = a1
	beam.Width0 = 0.15
	beam.Width1 = 0.15
	beam.Parent = root

	followConnection = RunService.RenderStepped:Connect(function()
		root.CFrame = head.CFrame * CFrame.new(0,2,0)
	end)

end)

-- STOP
stop.MouseButton1Click:Connect(function()

	if followConnection then followConnection:Disconnect() end
	if beam then beam:Destroy() end

	local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
	if hum then hum.Sit = false end

end)

Features & Information

PASS IS SITTERR1 and by gpt becuz im lazy :p

Community Comments (2)

HubmakerHubmakerMar 8, 2026

probally local tbh

HubmakerHubmakerMar 8, 2026

works on xeno idk the rest becuz im on pc

More Scripts for Universal Scripts