-- Ultimate Roblox ESP with Skeletons, Wallhacks & Godmode (Client-Side
LocalScript)
-- Features:
-- - Red outline wallhack
-- - Cyan skeletons (R6/R15)
-- - Small name + dist above head
-- - Small vertical HP bar next to player (8x50, right side, green/red)
-- - Godmode: Infinite health, anti-fling, no collision (except root), state lock
-- - H key = ESP toggle
-- - G key = Godmode toggle
-- - Insert key = Sleek draggable menu
local player = [Link]
local camera = [Link]
local userInputService = game:GetService("UserInputService")
local runService = game:GetService("RunService")
local players = game:GetService("Players")
local espEnabled = false
local godmodeEnabled = false
local menuVisible = false
local highlights = {}
local nameTags = {}
local skeletonBeams = {}
print("=== ESP + GODMODE LOADED! H = ESP | G = Godmode | Insert = Menu ===")
local connections = {
{"Head", "Torso"},
{"Torso", "Left Arm"},
{"Torso", "Right Arm"},
{"Torso", "Left Leg"},
{"Torso", "Right Leg"},
{"Head", "UpperTorso"},
{"UpperTorso", "LowerTorso"},
{"UpperTorso", "LeftUpperArm"},
{"LeftUpperArm", "LeftLowerArm"},
{"LeftLowerArm", "LeftHand"},
{"UpperTorso", "RightUpperArm"},
{"RightUpperArm", "RightLowerArm"},
{"RightLowerArm", "RightHand"},
{"LowerTorso", "LeftUpperLeg"},
{"LeftUpperLeg", "LeftLowerLeg"},
{"LeftLowerLeg", "LeftFoot"},
{"LowerTorso", "RightUpperLeg"},
{"RightUpperLeg", "RightLowerLeg"},
{"RightLowerLeg", "RightFoot"}
}
local function createESP(targetPlayer)
if highlights[targetPlayer] or not [Link] then return end
local char = [Link]
local humanoid = char:FindFirstChild("Humanoid")
if not humanoid then return end
local head = char:FindFirstChild("Head")
local root = char:FindFirstChild("HumanoidRootPart") or
char:FindFirstChild("Torso")
if not head or not root then return end
-- Wallhack
local highlight = [Link]("Highlight")
[Link] = char
[Link] = 1
[Link] = [Link](1, 0, 0)
[Link] = 0
[Link] = [Link]
[Link] = char
highlights[targetPlayer] = highlight
-- Name + Dist
local billboard = [Link]("BillboardGui")
[Link] = head
[Link] = [Link](0, 70, 0, 30)
[Link] = [Link](0, 3, 0)
[Link] = true
[Link] = head
local nameLabel = [Link]("TextLabel")
[Link] = [Link](1, 0, 0.6, 0)
[Link] = 1
[Link] = [Link]
nameLabel.TextColor3 = [Link](1, 1, 1)
[Link] = true
[Link] = [Link]
[Link] = billboard
local distLabel = [Link]("TextLabel")
[Link] = [Link](1, 0, 0.4, 0)
[Link] = [Link](0, 0, 0.6, 0)
[Link] = 1
distLabel.TextColor3 = [Link](1, 1, 0)
[Link] = true
[Link] = billboard
-- Vertical HP bar
local hpBillboard = [Link]("BillboardGui")
[Link] = root
[Link] = [Link](0, 8, 0, 50)
[Link] = [Link](3, 0, 0)
[Link] = true
[Link] = root
local hpBg = [Link]("Frame")
[Link] = [Link](1, 0, 1, 0)
hpBg.BackgroundColor3 = [Link](0.2, 0.2, 0.2)
[Link] = 0
[Link] = hpBillboard
local hpFill = [Link]("Frame")
[Link] = [Link](1, 0, 1, 0)
[Link] = [Link](0, 1)
[Link] = [Link](0, 0, 1, 0)
hpFill.BackgroundColor3 = [Link](0, 1, 0)
[Link] = 0
[Link] = hpBg
nameTags[targetPlayer] = {distLabel = distLabel, hpFill = hpFill}
-- Skeletons
local data = {beams = {}}
skeletonBeams[targetPlayer] = data
for _, conn in ipairs(connections) do
local p1, p2 = conn[1], conn[2]
local part1 = char:FindFirstChild(p1)
local part2 = char:FindFirstChild(p2)
if part1 and part2 then
local att1 = [Link]("Attachment", part1)
local att2 = [Link]("Attachment", part2)
local beam = [Link]("Beam")
beam.Attachment0 = att1
beam.Attachment1 = att2
[Link] = [Link]([Link](0, 1, 1))
[Link] = [Link](0.1)
beam.Width0 = 0.25
beam.Width1 = 0.25
[Link] = 1
[Link] = 0
[Link] = true
[Link] = char
[Link]([Link], beam)
end
end
end
local function removeESP(targetPlayer)
if highlights[targetPlayer] then highlights[targetPlayer]:Destroy()
highlights[targetPlayer] = nil end
local data = skeletonBeams[targetPlayer]
if data then for _, b in ipairs([Link]) do b:Destroy() end
skeletonBeams[targetPlayer] = nil end
if nameTags[targetPlayer] then nameTags[targetPlayer].[Link]:Destroy()
nameTags[targetPlayer] = nil end
end
local function toggleESP()
espEnabled = not espEnabled
print("ESP Toggled: " .. tostring(espEnabled))
if espEnabled then
for _, p in players:GetPlayers() do
if p ~= player and [Link] then createESP(p) end
end
else
for p, _ in pairs(highlights) do removeESP(p) end
end
[Link] = "ESP: " .. (espEnabled and "ON" or "OFF") .. " (H)"
espButton.TextColor3 = espEnabled and [Link](0, 1, 0) or [Link](1, 1, 1)
end
-- Godmode
local function applyGodmode(char)
if not char then return end
local humanoid = char:FindFirstChild("Humanoid")
local root = char:FindFirstChild("HumanoidRootPart")
if not humanoid or not root then return end
[Link] = [Link]
[Link] = [Link]
[Link]:Connect(function()
if godmodeEnabled then [Link] = [Link] end
end)
[Link]:Connect(function()
if godmodeEnabled and root and [Link] then
if [Link] > 100 then
[Link] = [Link]([Link].X * 0.1, [Link].Y, [Link].Z
* 0.1)
end
if [Link].Y < -50 then
[Link] = [Link]([Link].X, -10, [Link].Z)
end
if [Link] then [Link] = false end
end
end)
[Link] = true
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") and part ~= root then
[Link] = false
end
end
spawn(function()
while godmodeEnabled and humanoid and [Link] do
humanoid:ChangeState([Link])
[Link](0.1)
end
end)
end
local function toggleGodmode()
godmodeEnabled = not godmodeEnabled
print("Godmode Toggled: " .. tostring(godmodeEnabled))
if godmodeEnabled then
if [Link] then applyGodmode([Link]) end
[Link]:Connect(function(char)
[Link](1)
if godmodeEnabled then applyGodmode(char) end
end)
end
[Link] = "Godmode: " .. (godmodeEnabled and "ON" or "OFF") .. " (G)"
godButton.TextColor3 = godmodeEnabled and [Link](0, 1, 0) or [Link](1, 1,
1)
end
-- Update loop
[Link]:Connect(function()
if not espEnabled then return end
local myPos = [Link] and
([Link]:FindFirstChild("HumanoidRootPart") or
[Link]:FindFirstChild("Torso")) and ([Link] or
[Link]).Position
for p, tags in pairs(nameTags) do
if [Link] and ([Link]:FindFirstChild("HumanoidRootPart") or
[Link]:FindFirstChild("Torso")) then
local dist = myPos and ([Link] - myPos).Magnitude or
0
[Link] = [Link](dist) .. "m"
local hum = [Link]:FindFirstChild("Humanoid")
if hum then
local hpPct = [Link] / [Link]
[Link] = [Link](1, 0, hpPct, 0)
[Link].BackgroundColor3 = hpPct > 0.5 and [Link](0, 1, 0) or (hpPct > 0.25
and [Link](1, 1, 0) or [Link](1, 0, 0))
end
else
removeESP(p)
end
end
end)
-- Player events
local function onPlayerAdded(p)
if p == player then return end
[Link]:Connect(function()
[Link](1)
if espEnabled then createESP(p) end
end)
if [Link] and espEnabled then createESP(p) end
end
[Link]:Connect(onPlayerAdded)
for _, p in players:GetPlayers() do onPlayerAdded(p) end
-- Sleek Menu (Insert to toggle)
local menuGui = [Link]("ScreenGui")
[Link] = "UniversalESPMenu"
[Link] = false
[Link] = player:WaitForChild("PlayerGui")
local menuFrame = [Link]("Frame")
[Link] = [Link](0, 200, 0, 150)
[Link] = [Link](0.5, -100, 0.5, -75)
menuFrame.BackgroundColor3 = [Link](0, 0, 0)
[Link] = 0.3
[Link] = 0
[Link] = false
[Link] = menuGui
local menuCorner = [Link]("UICorner")
[Link] = [Link](0, 10)
[Link] = menuFrame
local menuStroke = [Link]("UIStroke")
[Link] = [Link](0, 1, 1)
[Link] = 2
[Link] = menuFrame
local titleLabel = [Link]("TextLabel")
[Link] = [Link](1, 0, 0.3, 0)
[Link] = 1
[Link] = "ULTIMATE TOOLKIT"
titleLabel.TextColor3 = [Link](1, 1, 1)
[Link] = true
[Link] = [Link]
[Link] = menuFrame
local espButton = [Link]("TextButton")
[Link] = [Link](0.8, 0, 0.25, 0)
[Link] = [Link](0.1, 0, 0.35, 0)
espButton.BackgroundColor3 = [Link](0.1, 0.1, 0.1)
[Link] = "ESP: OFF (H)"
espButton.TextColor3 = [Link](1, 1, 1)
[Link] = true
[Link] = menuFrame
local godButton = [Link]("TextButton")
[Link] = [Link](0.8, 0, 0.25, 0)
[Link] = [Link](0.1, 0, 0.65, 0)
godButton.BackgroundColor3 = [Link](0.1, 0.1, 0.1)
[Link] = "Godmode: OFF (G)"
godButton.TextColor3 = [Link](1, 1, 1)
[Link] = true
[Link] = menuFrame
espButton.MouseButton1Click:Connect(toggleESP)
godButton.MouseButton1Click:Connect(toggleGodmode)
-- Update buttons
spawn(function()
while [Link](0.2) do
if [Link] then
[Link] = "ESP: " .. (espEnabled and "ON" or "OFF") .. " (H)"
espButton.TextColor3 = espEnabled and [Link](0, 1, 0) or [Link](1, 1, 1)
[Link] = "Godmode: " .. (godmodeEnabled and "ON" or "OFF") .. " (G)"
godButton.TextColor3 = godmodeEnabled and [Link](0, 1, 0) or [Link](1, 1,
1)
end
end
end)
-- Draggable menu
local dragging = false
local dragStart, startPos
[Link]:Connect(function(input)
if [Link] == [Link].MouseButton1 then
dragging = true
dragStart = [Link]
startPos = [Link]
end
end)
[Link]:Connect(function(input)
if dragging and [Link] == [Link] then
local delta = [Link] - dragStart
[Link] = [Link]([Link], [Link] + delta.X,
[Link], [Link] + delta.Y)
end
end)
[Link]:Connect(function(input)
if [Link] == [Link].MouseButton1 then dragging = false end
end)
-- Toggle menu with Insert
[Link]:Connect(function(input, gameProcessed)
if gameProcessed then return end
if [Link] == [Link] then
menuVisible = not menuVisible
[Link] = menuVisible
end
if [Link] == [Link].H then toggleESP() end
if [Link] == [Link].G then toggleGodmode() end
end)
print("=== ESP + GODMODE READY! Insert = menu | H = ESP | G = Godmode ===")