KEYLESS HAXUI V2
Key RequiredUniversal

KEYLESS HAXUI V2

Universal ScriptBloxx3rpwnerrealBloxx3rpwnerreal 1.1K views 1.4K executesUpdated Dec 26, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•324 lines (8942 chars)
-- services
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local BadgeService = game:GetService("BadgeService")

local player = Players.LocalPlayer
local mouse = player:GetMouse()

local char, hum, root
local function setupChar(c)
	char = c
	hum = c:WaitForChild("Humanoid")
	root = c:WaitForChild("HumanoidRootPart")
end
setupChar(player.Character or player.CharacterAdded:Wait())
player.CharacterAdded:Connect(setupChar)

-- states
local states = {
	infJump = false,
	fly = false,
	noclip = false,
	esp = false,
	clickTP = false,
	npcESP = false,
	spin = false,
	speed = false,
}

-- gui
local gui = Instance.new("ScreenGui")
gui.Name = "HAXUI (kinda shit)"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local main = Instance.new("Frame", gui)
main.Size = UDim2.fromOffset(260, 420)
main.Position = UDim2.fromScale(0.4, 0.3)
main.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
main.Active = true
main.Draggable = true

Instance.new("UICorner", main).CornerRadius = UDim.new(0, 18)
local stroke = Instance.new("UIStroke", main)
stroke.Color = Color3.fromRGB(70, 70, 70)

local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "HAXUI (kinda shit)"
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.TextColor3 = Color3.fromRGB(230,230,230)

local destroyBtn = Instance.new("TextButton", main)
destroyBtn.Size = UDim2.fromOffset(30,30)
destroyBtn.Position = UDim2.fromOffset(215,5)
destroyBtn.Text = "X"
destroyBtn.Font = Enum.Font.GothamBold
destroyBtn.TextSize = 14
destroyBtn.TextColor3 = Color3.fromRGB(255,120,120)
destroyBtn.BackgroundTransparency = 1

-- scrolling list
local list = Instance.new("ScrollingFrame", main)
list.Position = UDim2.fromOffset(0,45)
list.Size = UDim2.new(1,0,1,-45)
list.CanvasSize = UDim2.new(0,0,0,0)
list.ScrollBarImageTransparency = 0.4
list.BackgroundTransparency = 1

local layout = Instance.new("UIListLayout", list)
layout.Padding = UDim.new(0,8)
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
	list.CanvasSize = UDim2.fromOffset(0, layout.AbsoluteContentSize.Y + 10)
end)

local function makeButton(text)
	local b = Instance.new("TextButton")
	b.Size = UDim2.new(1,-20,0,34)
	b.BackgroundColor3 = Color3.fromRGB(38,38,38)
	b.TextColor3 = Color3.new(1,1,1)
	b.Font = Enum.Font.Gotham
	b.TextSize = 14
	b.Text = text
	Instance.new("UICorner", b).CornerRadius = UDim.new(0,10)
	b.Parent = list
	return b
end

-- infinite jump
UIS.JumpRequest:Connect(function()
	if states.infJump then
		hum:ChangeState(Enum.HumanoidStateType.Jumping)
	end
end)

-- fly
local bv, bg
RunService.RenderStepped:Connect(function()
	if states.fly then
		if not bv then
			bv = Instance.new("BodyVelocity", root)
			bg = Instance.new("BodyGyro", root)
			bv.MaxForce = Vector3.new(1e5,1e5,1e5)
			bg.MaxTorque = Vector3.new(1e5,1e5,1e5)
		end

		local move = Vector3.zero
		local cam = workspace.CurrentCamera
		if UIS:IsKeyDown(Enum.KeyCode.W) then move += cam.CFrame.LookVector end
		if UIS:IsKeyDown(Enum.KeyCode.S) then move -= cam.CFrame.LookVector end
		if UIS:IsKeyDown(Enum.KeyCode.A) then move -= cam.CFrame.RightVector end
		if UIS:IsKeyDown(Enum.KeyCode.D) then move += cam.CFrame.RightVector end
		if UIS:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0,1,0) end
		if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then move -= Vector3.new(0,1,0) end

		bv.Velocity = move * 60
		bg.CFrame = cam.CFrame
	else
		if bv then bv:Destroy() bg:Destroy() bv, bg = nil, nil end
	end
end)

-- noclip
RunService.Stepped:Connect(function()
	if states.noclip and char then
		for _,v in ipairs(char:GetDescendants()) do
			if v:IsA("BasePart") then
				v.CanCollide = false
			end
		end
	end
end)

-- esp
local espCache = {}
local function refreshESP()
	for _,plr in ipairs(Players:GetPlayers()) do
		if plr ~= player then
			if states.esp and plr.Character then
				if not espCache[plr] then
					local h = Instance.new("Highlight", plr.Character)
					h.FillColor = Color3.fromRGB(255,80,80)
					h.OutlineTransparency = 1
					espCache[plr] = h
				end
			else
				if espCache[plr] then
					espCache[plr]:Destroy()
					espCache[plr] = nil
				end
			end
		end
	end
end
Players.PlayerAdded:Connect(refreshESP)
Players.PlayerRemoving:Connect(refreshESP)

-- click tp
mouse.Button1Down:Connect(function()
	if states.clickTP and mouse.Hit then
		root.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0,3,0))
	end
end)

-- speed
makeButton("SPEED: OFF").MouseButton1Click:Connect(function(btn)
	states.speed = not states.speed
	hum.WalkSpeed = states.speed and 32 or 16
	btn.Text = "SPEED: "..(states.speed and "ON" or "OFF")
end)

-- toggles
local toggles = {
	{"INFINITE JUMP", "infJump"},
	{"FLY", "fly"},
	{"NOCLIP", "noclip"},
	{"ESP", "esp"},
	{"CLICK TP", "clickTP"},
}

for _,t in ipairs(toggles) do
	local btn = makeButton(t[1]..": OFF")
	btn.MouseButton1Click:Connect(function()
		states[t[2]] = not states[t[2]]
		btn.Text = t[1]..": "..(states[t[2]] and "ON" or "OFF")
		if t[2] == "esp" then refreshESP() end
	end)
end

-- live player list (TP)
local playerButtons = {}

local function rebuildPlayerList()
	for _,b in pairs(playerButtons) do b:Destroy() end
	playerButtons = {}

	for _,plr in ipairs(Players:GetPlayers()) do
		if plr ~= player then
			local b = makeButton("→ "..plr.Name)
			playerButtons[plr] = b
			b.MouseButton1Click:Connect(function()
				if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
					root.CFrame = plr.Character.HumanoidRootPart.CFrame * CFrame.new(0,0,-3)
				end
			end)
		end
	end
end

Players.PlayerAdded:Connect(rebuildPlayerList)
Players.PlayerRemoving:Connect(rebuildPlayerList)
makeButton("TP TO PLAYER").MouseButton1Click:Connect(rebuildPlayerList)

-- spin
makeButton("SPIN: OFF").MouseButton1Click:Connect(function(btn)
	states.spin = not states.spin
	btn.Text = "SPIN: "..(states.spin and "ON" or "OFF")
end)

RunService.RenderStepped:Connect(function(dt)
	if states.spin then
		root.CFrame *= CFrame.Angles(0, math.rad(360*dt), 0)
	end
end)

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

UIS.InputBegan:Connect(function(i,g)
	if not g and i.KeyCode == Enum.KeyCode.RightShift then
		main.Visible = not main.Visible
	end
end)

----------------------------------------------------------------
-- EXTRA TROLL FEATURES + SEARCH BAR (APPEND ONLY)
----------------------------------------------------------------

-- search bar
local searchBox = Instance.new("TextBox")
searchBox.Size = UDim2.new(1, -20, 0, 32)
searchBox.PlaceholderText = "Search feature..."
searchBox.Text = ""
searchBox.ClearTextOnFocus = false
searchBox.Font = Enum.Font.Gotham
searchBox.TextSize = 14
searchBox.TextColor3 = Color3.new(1,1,1)
searchBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
Instance.new("UICorner", searchBox).CornerRadius = UDim.new(0,10)
searchBox.Parent = list

-- keep track of all buttons for filtering
local allButtons = {}

-- wrap makeButton to register buttons
local oldMakeButton = makeButton
function makeButton(text)
	local b = oldMakeButton(text)
	allButtons[b] = true
	return b
end
-- god this shit code is a mess
-- live search filter
searchBox:GetPropertyChangedSignal("Text"):Connect(function()
	local q = searchBox.Text:lower()
	for b,_ in pairs(allButtons) do
		b.Visible = (q == "" or b.Text:lower():find(q, 1, true))
	end
end)

----------------------------------------------------------------
-- TROLL ACTIONS
----------------------------------------------------------------

-- trip yourself
makeButton("TRIP YOURSELF").MouseButton1Click:Connect(function()
	if hum then
		hum:ChangeState(Enum.HumanoidStateType.FallingDown)
	end
end)

-- sit yourself
makeButton("SIT YOURSELF").MouseButton1Click:Connect(function()
	if hum then
		hum.Sit = true
	end
end)

----------------------------------------------------------------
-- GRAVITY CONTROL
----------------------------------------------------------------

local defaultGravity = workspace.Gravity

local gravLabel = makeButton("GRAVITY: "..defaultGravity)
gravLabel.Active = false
gravLabel.AutoButtonColor = false

makeButton("GRAVITY +").MouseButton1Click:Connect(function()
	workspace.Gravity += 25
	gravLabel.Text = "GRAVITY: "..math.floor(workspace.Gravity)
end)

makeButton("GRAVITY -").MouseButton1Click:Connect(function()
	workspace.Gravity = math.max(0, workspace.Gravity - 25)
	gravLabel.Text = "GRAVITY: "..math.floor(workspace.Gravity)
end)

makeButton("RESET GRAVITY").MouseButton1Click:Connect(function()
	workspace.Gravity = defaultGravity
	gravLabel.Text = "GRAVITY: "..defaultGravity
end)

----------------------------------------------------------------
-- CLEANUP SAFETY
----------------------------------------------------------------

gui.Destroying:Connect(function()
	workspace.Gravity = defaultGravity
end)

Features & Information

-my friend's discord server: https://discord.gg/fwPtu7pay -CLICKTP -GOTO PLAYER -VIEW BADGES (probably broken) -INFJUMP -FLY (probably broken) -MOBILE/PC SUPPORT -ESP -NPCESP -GRAVITY CONTROL -I FORGOR -TROLL PLAYERS -TRIP YOURSELF -SIT YOURSELF -I FORGOR -FUNNY -I FORGOR
#Keyless#Universal#Hub#Troll

Community Comments (2)

Bloxx3rpwnerrealBloxx3rpwnerrealDec 26, 2025

I forgor

Account83581Account83581Sep 11, 2026

My dumb* lost access to the bloxx3r account so uh new account i guess

More Scripts for Universal Scripts