
Key RequiredUniversal

if not game or not game.GetService then
return
end
local cloneref = cloneref or function(o) return o end
local Players = cloneref(game:GetService("Players"))
local RunService = cloneref(game:GetService("RunService"))
local UserInputService = cloneref(game:GetService("UserInputService"))
local TeleportService = cloneref(game:GetService("TeleportService"))
local HttpService = cloneref(game:GetService("HttpService"))
local Lighting = cloneref(game:GetService("Lighting"))
local VirtualUser = cloneref(game:GetService("VirtualUser"))
local CoreGui = cloneref(game:GetService("CoreGui"))
local Workspace = cloneref(workspace)
local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
LocalPlayer = Players.LocalPlayer
end
local Mouse = LocalPlayer:GetMouse()
local Camera = Workspace.CurrentCamera
Workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
Camera = Workspace.CurrentCamera
end)
local rawRequest = (syn and syn.request) or http_request or request or (fluxus and fluxus.request) or (Fluxus and Fluxus.request)
local function SafeHttpGet(url)
if rawRequest then
local ok, response = pcall(rawRequest, {
Url = url,
Method = "GET",
})
if ok and response and response.Body then
return response.Body
end
end
return game:HttpGet(url)
end
local WindUI
do
local ok, result = pcall(function()
if isfile and readfile and isfile("WindUI.lua") then
return loadstring(readfile("WindUI.lua"))()
end
end)
if ok and result then
WindUI = result
else
if not loadstring then
warn("WindUI requires loadstring.")
return
end
WindUI = loadstring(SafeHttpGet("https://raw.githubusercontent.com/Footagesus/WindUI/main/dist/main.lua"))()
end
end
local function Notify(title, content)
if WindUI and WindUI.Notify then
WindUI:Notify({ Title = title, Content = content })
end
end
local DefaultGravity = Workspace.Gravity
local DefaultFov = Camera and Camera.FieldOfView or 70
local DefaultState = {
AimbotEnabled = false,
AimbotMode = "Hold",
AimbotKey = "E",
AimbotFov = 220,
AimbotUseFov = true,
AimbotSmooth = 12,
AimbotPart = "Head",
AimbotTeam = true,
AimbotVisible = false,
AimbotPrediction = 0.12,
AimbotPriority = "Cursor",
SilentAimEnabled = false,
SilentAimPart = "Head",
SilentAimFov = 220,
SilentAimUseFov = true,
SilentAimPrediction = 0.12,
SilentAimTeam = true,
TriggerbotEnabled = false,
TriggerbotMode = "Hold",
TriggerbotKey = "T",
TriggerbotDelay = 0.05,
TriggerbotTeam = true,
AutoClickerEnabled = false,
AutoClickerCps = 12,
HitboxEnabled = false,
HitboxPart = "HumanoidRootPart",
HitboxSize = 6,
HitboxTransparency = 0.5,
ESPEnabled = false,
ESPShowName = true,
ESPShowDistance = true,
ESPShowHealth = true,
ESPTeamColor = false,
ESPFillColor = Color3.fromRGB(255, 80, 80),
ESPOutlineColor = Color3.fromRGB(255, 255, 255),
ESPFillTransparency = 0.6,
ESPOutlineTransparency = 0,
TracersEnabled = false,
TracerColor = Color3.fromRGB(255, 255, 255),
CrosshairEnabled = false,
CrosshairColor = Color3.fromRGB(255, 255, 255),
CrosshairSize = 8,
CrosshairThickness = 1,
ShowFov = true,
FovColor = Color3.fromRGB(255, 200, 80),
FovSource = "Aimbot",
CameraFov = DefaultFov,
Fullbright = false,
NoFog = false,
WalkSpeedEnabled = false,
WalkSpeedValue = 22,
JumpPowerEnabled = false,
JumpPowerValue = 60,
GravityEnabled = false,
GravityValue = DefaultGravity,
FlyEnabled = false,
FlySpeed = 2,
FlyKey = "X",
NoclipEnabled = false,
InfiniteJump = false,
BunnyHop = false,
AntiAFK = true,
AntiKick = true,
AntiVoid = false,
AntiVoidHeight = -30,
AntiFling = false,
AntiRagdoll = false,
StealthMode = false,
PanicKey = "RightControl",
UiKey = "RightShift",
AutoLoadConfig = false,
}
local State = {}
for k, v in pairs(DefaultState) do
State[k] = v
end
local ConfigFile = "UniversalHub_Config.json"
local function ColorToTable(color)
return { color.R, color.G, color.B }
end
local function TableToColor(tbl, fallback)
if type(tbl) == "table" then
local r = tonumber(tbl[1]) or fallback.R
local g = tonumber(tbl[2]) or fallback.G
local b = tonumber(tbl[3]) or fallback.B
return Color3.new(r, g, b)
end
return fallback
end
local function SerializeState()
local data = {}
for k, v in pairs(State) do
if typeof(v) == "Color3" then
data[k] = ColorToTable(v)
else
data[k] = v
end
end
return data
end
local function DeserializeState(data)
if type(data) ~= "table" then
return
end
for k, v in pairs(data) do
if State[k] ~= nil then
if typeof(State[k]) == "Color3" then
State[k] = TableToColor(v, State[k])
else
State[k] = v
end
end
end
end
local UiRefs = {}
local function RegisterRef(key, element)
UiRefs[key] = element
return element
end
local function TrySetValue(key, value)
local element = UiRefs[key]
if not element then
return
end
if type(element.SetValue) == "function" then
pcall(element.SetValue, element, value)
return
end
if type(element.Set) == "function" then
pcall(element.Set, element, value)
return
end
if type(element.SetState) == "function" then
pcall(element.SetState, element, value)
end
end
local Connections = {}
local function BindConnection(name, connection)
if Connections[name] then
Connections[name]:Disconnect()
end
Connections[name] = connection
end
local function UnbindConnection(name)
if Connections[name] then
Connections[name]:Disconnect()
Connections[name] = nil
end
end
local function WrapClosure(fn)
if newcclosure then
return newcclosure(fn)
end
return fn
end
local function HookMetamethod(obj, method, fn)
if hookmetamethod then
return hookmetamethod(obj, method, fn)
end
if not getrawmetatable or not setreadonly then
return nil
end
local mt = getrawmetatable(obj)
local old = mt[method]
setreadonly(mt, false)
mt[method] = WrapClosure(fn)
setreadonly(mt, true)
return old
end
local function IsCaller()
if checkcaller then
return checkcaller()
end
return false
end
local function GetKeyCode(key)
if typeof(key) == "EnumItem" then
return key
end
if type(key) == "string" then
return Enum.KeyCode[key]
end
return nil
end
local function IsKeyDown(keyName)
local keyCode = GetKeyCode(keyName)
if not keyCode then
return false
end
return UserInputService:IsKeyDown(keyCode)
end
local function GetCharacter()
return LocalPlayer.Character
end
local function GetHumanoid()
local char = GetCharacter()
return char and char:FindFirstChildOfClass("Humanoid")
end
local function GetRoot()
local char = GetCharacter()
return char and char:FindFirstChild("HumanoidRootPart")
end
local function IsAlive(plr)
local char = plr.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
return hum and hum.Health > 0
end
local function IsEnemy(plr, teamCheck)
if plr == LocalPlayer then
return false
end
if teamCheck and plr.Team ~= nil and plr.Team == LocalPlayer.Team then
return false
end
return true
end
local function GetAimPart(character, partName)
if not character then
return nil
end
if partName == "Auto" then
return character:FindFirstChild("Head")
or character:FindFirstChild("UpperTorso")
or character:FindFirstChild("HumanoidRootPart")
end
return character:FindFirstChild(partName)
end
local InternalNamecall = false
local function IsVisible(part, character)
if not part or not Camera then
return false
end
local origin = Camera.CFrame.Position
local direction = (part.Position - origin)
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Blacklist
params.FilterDescendantsInstances = { GetCharacter() }
InternalNamecall = true
local result = Workspace:Raycast(origin, direction, params)
InternalNamecall = false
if not result then
return true
end
return result.Instance and result.Instance:IsDescendantOf(character)
end
local function GetPredictedPosition(part, prediction)
local velocity = part.AssemblyLinearVelocity or part.Velocity
return part.Position + (velocity * (prediction or 0))
end
local function GetClosestTarget(fov, useFov, priority, useVisible, partName, teamCheck)
if not Camera then
return nil
end
local mousePos = UserInputService:GetMouseLocation()
local best = nil
local bestScore = math.huge
for _, plr in ipairs(Players:GetPlayers()) do
if IsEnemy(plr, teamCheck) and IsAlive(plr) then
local char = plr.Character
local part = GetAimPart(char, partName)
if part then
local screenPos, onScreen = Camera:WorldToViewportPoint(part.Position)
if onScreen then
local screenVec = Vector2.new(screenPos.X, screenPos.Y)
local dist = (screenVec - mousePos).Magnitude
if not useFov or dist <= fov then
if not useVisible or IsVisible(part, char) then
local score = dist
if priority == "Distance" then
score = (Camera.CFrame.Position - part.Position).Magnitude
end
if score < bestScore then
bestScore = score
best = { Player = plr, Part = part, Screen = screenVec }
end
end
end
end
end
end
end
return best
end
local function HasClicker()
if type(mouse1click) == "function" then
return true
end
if type(mouse1press) == "function" and type(mouse1release) == "function" then
return true
end
return false
end
local function DoClick()
if type(mouse1click) == "function" then
mouse1click()
return
end
if type(mouse1press) == "function" and type(mouse1release) == "function" then
mouse1press()
task.wait()
mouse1release()
end
end
local AimbotActive = false
local function IsAimbotActive()
if not State.AimbotEnabled then
return false
end
if State.AimbotMode == "Hold" then
return IsKeyDown(State.AimbotKey)
end
return AimbotActive
end
local function SetAimbotEnabled(enabled)
State.AimbotEnabled = enabled
if enabled then
BindConnection("Aimbot", RunService.RenderStepped:Connect(function()
if not IsAimbotActive() then
return
end
local target = GetClosestTarget(
State.AimbotFov,
State.AimbotUseFov,
State.AimbotPriority,
State.AimbotVisible,
State.AimbotPart,
State.AimbotTeam
)
if target and target.Part and Camera then
local aimPos = GetPredictedPosition(target.Part, State.AimbotPrediction)
local aimCFrame = CFrame.new(Camera.CFrame.Position, aimPos)
local smooth = math.clamp(State.AimbotSmooth, 0, 100)
local alpha = smooth <= 0 and 1 or math.clamp(1 - (smooth / 100), 0.05, 1)
Camera.CFrame = Camera.CFrame:Lerp(aimCFrame, alpha)
end
end))
else
UnbindConnection("Aimbot")
AimbotActive = false
end
end
local function GetSilentAimTarget()
return GetClosestTarget(
State.SilentAimFov,
State.SilentAimUseFov,
State.AimbotPriority,
State.AimbotVisible,
State.SilentAimPart,
State.SilentAimTeam
)
end
local NamecallHooked = false
local BaseNamecall = nil
local function EnsureNamecallHook()
if NamecallHooked then
return true
end
if not getnamecallmethod then
return false
end
BaseNamecall = HookMetamethod(game, "__namecall", function(self, ...)
if IsCaller() or InternalNamecall then
return BaseNamecall(self, ...)
end
local method = getnamecallmethod()
if State.AntiKick and method == "Kick" then
return nil
end
if State.SilentAimEnabled and self == Workspace then
local target = GetSilentAimTarget()
if target and target.Part then
if method == "Raycast" then
local origin = select(1, ...)
local direction = select(2, ...)
if typeof(origin) == "Vector3" and typeof(direction) == "Vector3" then
local aimPos = GetPredictedPosition(target.Part, State.SilentAimPrediction)
local newDir = (aimPos - origin)
if direction.Magnitude > 0 then
newDir = newDir.Unit * direction.Magnitude
end
local args = { ... }
args[2] = newDir
return BaseNamecall(self, table.unpack(args))
end
elseif method == "FindPartOnRay"
or method == "FindPartOnRayWithIgnoreList"
or method == "FindPartOnRayWithWhitelist"
then
local ray = select(1, ...)
if typeof(ray) == "Ray" then
local origin = ray.Origin
local direction = ray.Direction
local aimPos = GetPredictedPosition(target.Part, State.SilentAimPrediction)
local newDir = (aimPos - origin)
if direction.Magnitude > 0 then
newDir = newDir.Unit * direction.Magnitude
end
local args = { ... }
args[1] = Ray.new(origin, newDir)
return BaseNamecall(self, table.unpack(args))
end
end
end
end
return BaseNamecall(self, ...)
end)
NamecallHooked = BaseNamecall ~= nil
return NamecallHooked
end
local SilentAimHooked = false
local OldIndex = nil
local function SetupSilentAim()
if SilentAimHooked then
return true
end
if not getrawmetatable or not setreadonly then
return false
end
OldIndex = HookMetamethod(game, "__index", function(self, key)
if not IsCaller()
and State.SilentAimEnabled
and (key == "Hit" or key == "Target" or key == "UnitRay")
then
local target = GetSilentAimTarget()
if target and target.Part then
if key == "Hit" then
local pos = GetPredictedPosition(target.Part, State.SilentAimPrediction)
return CFrame.new(pos)
end
if key == "Target" then
return target.Part
end
if key == "UnitRay" and Camera then
local origin = Camera.CFrame.Position
local aimPos = GetPredictedPosition(target.Part, State.SilentAimPrediction)
local direction = (aimPos - origin).Unit
return Ray.new(origin, direction)
end
end
end
return OldIndex(self, key)
end)
SilentAimHooked = OldIndex ~= nil
return SilentAimHooked
end
local function SetSilentAimEnabled(enabled)
State.SilentAimEnabled = enabled
if enabled then
local ok = SetupSilentAim()
if not ok then
State.SilentAimEnabled = false
TrySetValue("SilentAimEnabled", false)
Notify("Silent Aim", "Index hook failed. Executor missing functions.")
return
end
local namecallOk = EnsureNamecallHook()
if not namecallOk then
Notify("Silent Aim", "Raycast hook missing. Some games won't be affected.")
end
end
end
local TriggerbotLastShot = 0
local function SetTriggerbotEnabled(enabled)
State.TriggerbotEnabled = enabled
if enabled then
if not HasClicker() then
State.TriggerbotEnabled = false
TrySetValue("TriggerbotEnabled", false)
Notify("Triggerbot", "Mouse click API missing.")
return
end
BindConnection("Triggerbot", RunService.RenderStepped:Connect(function()
if not State.TriggerbotEnabled then
return
end
if State.TriggerbotMode == "Hold" and not IsKeyDown(State.TriggerbotKey) then
return
end
local now = os.clock()
if now - TriggerbotLastShot < State.TriggerbotDelay then
return
end
local targetPart = Mouse.Target
if targetPart then
local model = targetPart:FindFirstAncestorOfClass("Model")
local plr = model and Players:GetPlayerFromCharacter(model)
if plr and IsEnemy(plr, State.TriggerbotTeam) then
TriggerbotLastShot = now
DoClick()
end
end
end))
else
UnbindConnection("Triggerbot")
end
end
local AutoClickLast = 0
local function SetAutoClickerEnabled(enabled)
State.AutoClickerEnabled = enabled
if enabled then
if not HasClicker() then
State.AutoClickerEnabled = false
TrySetValue("AutoClickerEnabled", false)
Notify("Auto Clicker", "Mouse click API missing.")
return
end
BindConnection("AutoClicker", RunService.Heartbeat:Connect(function()
local cps = math.max(State.AutoClickerCps, 1)
local delay = 1 / cps
local now = os.clock()
if now - AutoClickLast >= delay then
AutoClickLast = now
DoClick()
end
end))
else
UnbindConnection("AutoClicker")
end
end
local HitboxCache = {}
local function ApplyHitboxToCharacter(character)
local part = character:FindFirstChild(State.HitboxPart)
if part and part:IsA("BasePart") then
if not HitboxCache[part] then
HitboxCache[part] = {
Size = part.Size,
Transparency = part.Transparency,
CanCollide = part.CanCollide,
}
end
part.Size = Vector3.new(State.HitboxSize, State.HitboxSize, State.HitboxSize)
part.Transparency = State.HitboxTransparency
part.CanCollide = false
end
end
local function RestoreHitboxes()
for part, data in pairs(HitboxCache) do
if part and part.Parent then
part.Size = data.Size
part.Transparency = data.Transparency
part.CanCollide = data.CanCollide
end
end
HitboxCache = {}
end
local function UpdateHitboxes()
if not State.HitboxEnabled then
RestoreHitboxes()
return
end
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character then
ApplyHitboxToCharacter(plr.Character)
end
end
end
local function SetHitboxEnabled(enabled)
State.HitboxEnabled = enabled
UpdateHitboxes()
end
local function RandomName(length)
local chars = "abcdefghijklmnopqrstuvwxyz0123456789"
local result = ""
for _ = 1, length do
local idx = math.random(1, #chars)
result = result .. chars:sub(idx, idx)
end
return result
end
local function SafeParent(instance, preferred, fallback)
if not instance then
return
end
if preferred then
local ok = pcall(function()
instance.Parent = preferred
end)
if ok then
return
end
end
if fallback then
instance.Parent = fallback
end
end
local function GetStealthParent()
if not State.StealthMode then
return nil
end
if gethui then
local ok, gui = pcall(gethui)
if ok and gui then
return gui
end
end
return CoreGui
end
local ESPObjects = {}
local function ApplyStealthToEsp(plr)
local obj = ESPObjects[plr]
if not obj then
return
end
local char = plr.Character
local head = char and char:FindFirstChild("Head")
local parent = GetStealthParent()
if obj.Highlight then
obj.Highlight.Name = State.StealthMode and RandomName(10) or "UniversalHubESP"
SafeParent(obj.Highlight, parent, char)
end
if obj.Tag and head then
obj.Tag.Name = State.StealthMode and RandomName(10) or "UniversalHubTag"
SafeParent(obj.Tag, parent, head)
end
end
local function ApplyStealthToAll()
for _, plr in ipairs(Players:GetPlayers()) do
ApplyStealthToEsp(plr)
end
end
local function CreateNameTag(head)
local billboard = Instance.new("BillboardGui")
billboard.Name = "UniversalHubTag"
billboard.Adornee = head
billboard.Size = UDim2.new(0, 200, 0, 50)
billboard.StudsOffset = Vector3.new(0, 2.5, 0)
billboard.AlwaysOnTop = true
local label = Instance.new("TextLabel")
label.Name = "Label"
label.BackgroundTransparency = 1
label.Size = UDim2.new(1, 0, 1, 0)
label.Font = Enum.Font.SourceSansBold
label.TextSize = 16
label.TextColor3 = Color3.new(1, 1, 1)
label.TextStrokeTransparency = 0.2
label.Parent = billboard
return billboard
end
local function SetupESPForPlayer(plr)
if plr == LocalPlayer then
return
end
local function onChar(char)
local previous = ESPObjects[plr]
if previous then
if previous.Highlight then
previous.Highlight:Destroy()
end
if previous.Tag then
previous.Tag:Destroy()
end
end
local highlight = Instance.new("Highlight")
highlight.Name = "UniversalHubESP"
highlight.Adornee = char
highlight.Enabled = State.ESPEnabled
local head = char:FindFirstChild("Head")
local tag = nil
if head then
tag = CreateNameTag(head)
end
ESPObjects[plr] = { Highlight = highlight, Tag = tag }
ApplyStealthToEsp(plr)
end
plr.CharacterAdded:Connect(onChar)
if plr.Character then
onChar(plr.Character)
end
end
local espTick = 0
local function UpdateESP(dt)
espTick = espTick + dt
if espTick < 0.15 then
return
end
espTick = 0
for plr, obj in pairs(ESPObjects) do
local char = plr.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
if obj.Highlight then
obj.Highlight.Enabled = State.ESPEnabled
local fill = State.ESPFillColor
if State.ESPTeamColor and plr.TeamColor then
fill = plr.TeamColor.Color
end
obj.Highlight.FillColor = fill
obj.Highlight.OutlineColor = State.ESPOutlineColor
obj.Highlight.FillTransparency = State.ESPFillTransparency
obj.Highlight.OutlineTransparency = State.ESPOutlineTransparency
end
if obj.Tag then
local label = obj.Tag:FindFirstChild("Label")
if label then
local textParts = {}
if State.ESPShowName then
table.insert(textParts, plr.Name)
end
if State.ESPShowDistance and root and Camera then
local dist = (Camera.CFrame.Position - root.Position).Magnitude
table.insert(textParts, tostring(math.floor(dist)) .. "m")
end
if State.ESPShowHealth and hum then
local hp = math.floor((hum.Health / math.max(hum.MaxHealth, 1)) * 100)
table.insert(textParts, tostring(hp) .. "%")
end
label.Text = table.concat(textParts, " | ")
end
obj.Tag.Enabled = State.ESPEnabled and (State.ESPShowName or State.ESPShowDistance or State.ESPShowHealth)
end
end
end
local function ApplyEspVisibility(enabled)
for _, obj in pairs(ESPObjects) do
if obj.Highlight then
obj.Highlight.Enabled = enabled
end
if obj.Tag then
obj.Tag.Enabled = enabled
end
end
end
local function SetEspEnabled(enabled)
State.ESPEnabled = enabled
if enabled then
BindConnection("ESPUpdate", RunService.Heartbeat:Connect(UpdateESP))
else
UnbindConnection("ESPUpdate")
ApplyEspVisibility(false)
end
end
local FovCircle = nil
local CrosshairLines = nil
local TracerLines = nil
local function EnsureFovCircle()
if not Drawing or not Drawing.new then
return
end
if FovCircle then
return
end
local circle = Drawing.new("Circle")
circle.Filled = false
circle.NumSides = 90
circle.Thickness = 1.5
circle.Visible = false
FovCircle = circle
end
local function EnsureCrosshair()
if not Drawing or not Drawing.new then
return
end
if CrosshairLines then
return
end
CrosshairLines = {}
for _ = 1, 4 do
local line = Drawing.new("Line")
line.Visible = false
line.Thickness = State.CrosshairThickness
line.Color = State.CrosshairColor
table.insert(CrosshairLines, line)
end
end
local function EnsureTracers()
if not Drawing or not Drawing.new then
return
end
if not TracerLines then
TracerLines = {}
end
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and not TracerLines[plr] then
local line = Drawing.new("Line")
line.Visible = false
line.Thickness = 1
TracerLines[plr] = line
end
end
end
local function UpdateDrawing()
local mousePos = UserInputService:GetMouseLocation()
if FovCircle then
FovCircle.Visible = State.ShowFov
if State.FovSource == "Silent" then
FovCircle.Radius = State.SilentAimFov
else
FovCircle.Radius = State.AimbotFov
end
FovCircle.Position = mousePos
FovCircle.Color = State.FovColor
end
if CrosshairLines then
local visible = State.CrosshairEnabled
for _, line in ipairs(CrosshairLines) do
line.Visible = visible
line.Thickness = State.CrosshairThickness
line.Color = State.CrosshairColor
end
if visible then
local size = State.CrosshairSize
local x, y = mousePos.X, mousePos.Y
CrosshairLines[1].From = Vector2.new(x - size, y)
CrosshairLines[1].To = Vector2.new(x - 2, y)
CrosshairLines[2].From = Vector2.new(x + 2, y)
CrosshairLines[2].To = Vector2.new(x + size, y)
CrosshairLines[3].From = Vector2.new(x, y - size)
CrosshairLines[3].To = Vector2.new(x, y - 2)
CrosshairLines[4].From = Vector2.new(x, y + 2)
CrosshairLines[4].To = Vector2.new(x, y + size)
end
end
if State.TracersEnabled and TracerLines and Camera then
local screenBottom = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
local line = TracerLines[plr]
if line then
local char = plr.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if root then
local pos, onScreen = Camera:WorldToViewportPoint(root.Position)
if onScreen then
line.From = screenBottom
line.To = Vector2.new(pos.X, pos.Y)
line.Color = State.TracerColor
line.Visible = true
else
line.Visible = false
end
else
line.Visible = false
end
end
end
end
elseif TracerLines then
for _, line in pairs(TracerLines) do
line.Visible = false
end
end
end
local function RefreshDrawingLoop()
local want = State.ShowFov or State.CrosshairEnabled or State.TracersEnabled
if want and Drawing and Drawing.new then
EnsureFovCircle()
EnsureCrosshair()
EnsureTracers()
if not Connections.Drawing then
BindConnection("Drawing", RunService.RenderStepped:Connect(UpdateDrawing))
end
else
UnbindConnection("Drawing")
if FovCircle then
FovCircle.Visible = false
end
if CrosshairLines then
for _, line in ipairs(CrosshairLines) do
line.Visible = false
end
end
if TracerLines then
for _, line in pairs(TracerLines) do
line.Visible = false
end
end
end
end
local function SetTracersEnabled(enabled)
State.TracersEnabled = enabled
if enabled and not (Drawing and Drawing.new) then
State.TracersEnabled = false
TrySetValue("TracersEnabled", false)
Notify("Tracers", "Drawing API missing.")
end
RefreshDrawingLoop()
end
local function SetCrosshairEnabled(enabled)
State.CrosshairEnabled = enabled
if enabled and not (Drawing and Drawing.new) then
State.CrosshairEnabled = false
TrySetValue("CrosshairEnabled", false)
Notify("Crosshair", "Drawing API missing.")
end
RefreshDrawingLoop()
end
local function SetFovEnabled(enabled)
State.ShowFov = enabled
if enabled and not (Drawing and Drawing.new) then
State.ShowFov = false
TrySetValue("ShowFov", false)
Notify("FOV", "Drawing API missing.")
end
RefreshDrawingLoop()
end
local function SetWalkSpeedEnabled(enabled)
State.WalkSpeedEnabled = enabled
if enabled then
BindConnection("WalkSpeed", RunService.Heartbeat:Connect(function()
local hum = GetHumanoid()
if hum and hum.WalkSpeed ~= State.WalkSpeedValue then
hum.WalkSpeed = State.WalkSpeedValue
end
end))
else
UnbindConnection("WalkSpeed")
end
end
local function SetJumpPowerEnabled(enabled)
State.JumpPowerEnabled = enabled
if enabled then
BindConnection("JumpPower", RunService.Heartbeat:Connect(function()
local hum = GetHumanoid()
if hum then
hum.UseJumpPower = true
if hum.JumpPower ~= State.JumpPowerValue then
hum.JumpPower = State.JumpPowerValue
end
end
end))
else
UnbindConnection("JumpPower")
end
end
local function SetGravityEnabled(enabled)
State.GravityEnabled = enabled
if enabled then
Workspace.Gravity = State.GravityValue
else
Workspace.Gravity = DefaultGravity
end
end
local FlyVelocity, FlyGyro
local function EnsureFlyBodies(root)
if not root then
return
end
if FlyVelocity and FlyVelocity.Parent ~= root then
FlyVelocity:Destroy()
FlyVelocity = nil
end
if FlyGyro and FlyGyro.Parent ~= root then
FlyGyro:Destroy()
FlyGyro = nil
end
if not FlyVelocity then
FlyVelocity = Instance.new("BodyVelocity")
FlyVelocity.MaxForce = Vector3.new(1, 1, 1) * 1000000
FlyVelocity.Velocity = Vector3.new()
FlyVelocity.Parent = root
end
if not FlyGyro then
FlyGyro = Instance.new("BodyGyro")
FlyGyro.MaxTorque = Vector3.new(1, 1, 1) * 1000000
FlyGyro.P = 10000
FlyGyro.Parent = root
end
end
local function SetFlyEnabled(enabled)
State.FlyEnabled = enabled
if enabled then
BindConnection("Fly", RunService.RenderStepped:Connect(function()
local root = GetRoot()
if not root or not Camera then
return
end
EnsureFlyBodies(root)
local move = Vector3.new()
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
move = move + Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
move = move - Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
move = move - Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
move = move + Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
move = move + Vector3.new(0, 1, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
move = move - Vector3.new(0, 1, 0)
end
if move.Magnitude > 0 then
FlyVelocity.Velocity = move.Unit * (State.FlySpeed * 16)
else
FlyVelocity.Velocity = Vector3.new()
end
FlyGyro.CFrame = Camera.CFrame
end))
else
UnbindConnection("Fly")
if FlyVelocity then
FlyVelocity:Destroy()
FlyVelocity = nil
end
if FlyGyro then
FlyGyro:Destroy()
FlyGyro = nil
end
end
end
local function SetNoclipEnabled(enabled)
State.NoclipEnabled = enabled
if enabled then
BindConnection("Noclip", RunService.Stepped:Connect(function()
local char = GetCharacter()
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end))
else
UnbindConnection("Noclip")
end
end
local function SetInfiniteJumpEnabled(enabled)
State.InfiniteJump = enabled
if enabled then
BindConnection("InfiniteJump", UserInputService.JumpRequest:Connect(function()
local hum = GetHumanoid()
if hum then
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end
end))
else
UnbindConnection("InfiniteJump")
end
end
local function SetBunnyHopEnabled(enabled)
State.BunnyHop = enabled
if enabled then
BindConnection("BunnyHop", RunService.Heartbeat:Connect(function()
local hum = GetHumanoid()
if hum and hum.FloorMaterial ~= Enum.Material.Air then
hum.Jump = true
end
end))
else
UnbindConnection("BunnyHop")
end
end
local function SetAntiAfkEnabled(enabled)
State.AntiAFK = enabled
if enabled then
BindConnection("AntiAFK", LocalPlayer.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end))
else
UnbindConnection("AntiAFK")
end
end
local function SetAntiKickEnabled(enabled)
State.AntiKick = enabled
if enabled then
local ok = EnsureNamecallHook()
if not ok then
State.AntiKick = false
TrySetValue("AntiKick", false)
Notify("Anti Kick", "Hook failed. Executor missing functions.")
end
end
end
local LastSafeCFrame = nil
local function SetAntiVoidEnabled(enabled)
State.AntiVoid = enabled
if enabled then
BindConnection("AntiVoid", RunService.Heartbeat:Connect(function()
local hum = GetHumanoid()
local root = GetRoot()
if not hum or not root then
return
end
if hum.FloorMaterial ~= Enum.Material.Air then
LastSafeCFrame = root.CFrame
end
if root.Position.Y < State.AntiVoidHeight and LastSafeCFrame then
root.CFrame = LastSafeCFrame
end
end))
else
UnbindConnection("AntiVoid")
end
end
local function SetAntiFlingEnabled(enabled)
State.AntiFling = enabled
if enabled then
BindConnection("AntiFling", RunService.Heartbeat:Connect(function()
local root = GetRoot()
if root then
local vel = root.AssemblyLinearVelocity
if vel.Magnitude > 120 then
root.AssemblyLinearVelocity = vel.Unit * 60
end
root.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end
end))
else
UnbindConnection("AntiFling")
end
end
local function SetAntiRagdollEnabled(enabled)
State.AntiRagdoll = enabled
if enabled then
BindConnection("AntiRagdoll", RunService.Heartbeat:Connect(function()
local hum = GetHumanoid()
if hum then
hum.PlatformStand = false
if hum:GetState() == Enum.HumanoidStateType.Physics then
hum:ChangeState(Enum.HumanoidStateType.Running)
end
end
end))
else
UnbindConnection("AntiRagdoll")
end
end
local LightingBackup = {
Brightness = Lighting.Brightness,
ClockTime = Lighting.ClockTime,
FogStart = Lighting.FogStart,
FogEnd = Lighting.FogEnd,
Ambient = Lighting.Ambient,
OutdoorAmbient = Lighting.OutdoorAmbient,
}
local function SetFullbrightEnabled(enabled)
State.Fullbright = enabled
if enabled then
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.Ambient = Color3.fromRGB(255, 255, 255)
Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
else
Lighting.Brightness = LightingBackup.Brightness
Lighting.ClockTime = LightingBackup.ClockTime
Lighting.Ambient = LightingBackup.Ambient
Lighting.OutdoorAmbient = LightingBackup.OutdoorAmbient
end
end
local function SetNoFogEnabled(enabled)
State.NoFog = enabled
if enabled then
Lighting.FogStart = 0
Lighting.FogEnd = 100000
else
Lighting.FogStart = LightingBackup.FogStart
Lighting.FogEnd = LightingBackup.FogEnd
end
end
local function ApplyAllState()
SetAimbotEnabled(State.AimbotEnabled)
SetSilentAimEnabled(State.SilentAimEnabled)
SetTriggerbotEnabled(State.TriggerbotEnabled)
SetAutoClickerEnabled(State.AutoClickerEnabled)
SetHitboxEnabled(State.HitboxEnabled)
SetEspEnabled(State.ESPEnabled)
SetTracersEnabled(State.TracersEnabled)
SetCrosshairEnabled(State.CrosshairEnabled)
SetFovEnabled(State.ShowFov)
SetWalkSpeedEnabled(State.WalkSpeedEnabled)
SetJumpPowerEnabled(State.JumpPowerEnabled)
SetGravityEnabled(State.GravityEnabled)
SetFlyEnabled(State.FlyEnabled)
SetNoclipEnabled(State.NoclipEnabled)
SetInfiniteJumpEnabled(State.InfiniteJump)
SetBunnyHopEnabled(State.BunnyHop)
SetAntiAfkEnabled(State.AntiAFK)
SetAntiKickEnabled(State.AntiKick)
SetAntiVoidEnabled(State.AntiVoid)
SetAntiFlingEnabled(State.AntiFling)
SetAntiRagdollEnabled(State.AntiRagdoll)
SetFullbrightEnabled(State.Fullbright)
SetNoFogEnabled(State.NoFog)
if Camera then
Camera.FieldOfView = State.CameraFov
end
end
local PanicFlags = {
"AimbotEnabled",
"SilentAimEnabled",
"TriggerbotEnabled",
"AutoClickerEnabled",
"HitboxEnabled",
"ESPEnabled",
"TracersEnabled",
"CrosshairEnabled",
"ShowFov",
"WalkSpeedEnabled",
"JumpPowerEnabled",
"GravityEnabled",
"FlyEnabled",
"NoclipEnabled",
"InfiniteJump",
"BunnyHop",
"Fullbright",
"NoFog",
"AntiAFK",
"AntiKick",
"AntiVoid",
"AntiFling",
"AntiRagdoll",
}
local function PanicNow()
for _, key in ipairs(PanicFlags) do
State[key] = false
TrySetValue(key, false)
end
AimbotActive = false
State.CameraFov = DefaultFov
TrySetValue("CameraFov", State.CameraFov)
ApplyAllState()
RefreshDrawingLoop()
Notify("Panic", "All features disabled.")
end
local function ReadConfigFile()
if isfile and readfile and isfile(ConfigFile) then
local ok, data = pcall(function()
return HttpService:JSONDecode(readfile(ConfigFile))
end)
if ok and type(data) == "table" then
return data
end
end
return nil
end
local function SaveConfig()
if not writefile then
Notify("Config", "writefile not available.")
return
end
local ok = pcall(function()
writefile(ConfigFile, HttpService:JSONEncode(SerializeState()))
end)
if ok then
Notify("Config", "Config saved.")
else
Notify("Config", "Failed to save config.")
end
end
local function LoadConfig(force)
local data = ReadConfigFile()
if not data then
Notify("Config", "No config found.")
return
end
if force or data.AutoLoadConfig then
DeserializeState(data)
ApplyAllState()
for k, v in pairs(State) do
TrySetValue(k, v)
end
Notify("Config", "Config loaded.")
else
Notify("Config", "Auto load disabled in config.")
end
end
local function ResetConfig()
for k, v in pairs(DefaultState) do
State[k] = v
end
ApplyAllState()
for k, v in pairs(State) do
TrySetValue(k, v)
end
Notify("Config", "Defaults restored.")
end
local function FindPlayer(name)
if not name or name == "" then
return nil
end
local lowered = name:lower()
for _, plr in ipairs(Players:GetPlayers()) do
if plr.Name:lower():find(lowered, 1, true)
or plr.DisplayName:lower():find(lowered, 1, true)
then
return plr
end
end
return nil
end
local function TeleportToPlayer(plr)
local root = GetRoot()
local targetRoot = plr and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
if root and targetRoot then
root.CFrame = targetRoot.CFrame * CFrame.new(0, 0, 2)
return true
end
return false
end
local function TeleportToMouse()
local root = GetRoot()
if root and Mouse and Mouse.Hit then
root.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0))
return true
end
return false
end
local function ParseVector3(text)
if type(text) ~= "string" then
return nil
end
local x, y, z = text:match("([%-%d%.]+)%s*,%s*([%-%d%.]+)%s*,%s*([%-%d%.]+)")
if x and y and z then
return Vector3.new(tonumber(x), tonumber(y), tonumber(z))
end
return nil
end
local WaypointCFrame = nil
local SpectateTarget = nil
local function SetSpectate(plr)
SpectateTarget = plr
if plr and plr.Character then
local hum = plr.Character:FindFirstChildOfClass("Humanoid")
if hum then
Camera.CameraSubject = hum
return true
end
end
local humLocal = GetHumanoid()
if humLocal then
Camera.CameraSubject = humLocal
end
return false
end
local function RejoinServer()
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer)
end
local function ServerHop()
local placeId = game.PlaceId
local cursor = nil
while true do
local url = "https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?sortOrder=Asc&limit=100"
if cursor then
url = url .. "&cursor=" .. cursor
end
local ok, data = pcall(function()
return HttpService:JSONDecode(game:HttpGet(url))
end)
if ok and data and data.data then
for _, server in ipairs(data.data) do
if server.playing < server.maxPlayers and server.id ~= game.JobId then
TeleportService:TeleportToPlaceInstance(placeId, server.id, LocalPlayer)
return
end
end
cursor = data.nextPageCursor
if not cursor then
break
end
else
break
end
end
Notify("Server", "No available server found.")
end
local function FPSBoostOnce()
task.spawn(function()
local count = 0
for _, v in pairs(game:GetDescendants()) do
count = count + 1
if count % 1000 == 0 then
task.wait()
end
if v:IsA("Part")
or v:IsA("UnionOperation")
or v:IsA("MeshPart")
or v:IsA("CornerWedgePart")
or v:IsA("TrussPart")
then
v.Material = Enum.Material.Plastic
v.Reflectance = 0
elseif v:IsA("Decal") then
v.Transparency = 1
elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then
v.Enabled = false
end
end
Notify("Performance", "FPS boost applied.")
end)
end
local function ApplyAutoLoad()
local data = ReadConfigFile()
if data and data.AutoLoadConfig then
DeserializeState(data)
end
end
ApplyAutoLoad()
local Window = WindUI:CreateWindow({
Title = "SPIEM Universal",
Folder = "SPIEM_Universal",
Icon = "globe-lock",
NewElements = true,
Size = UDim2.fromOffset(560, 380),
HideSearchBar = false,
OpenButton = {
Title = "Open Universal",
CornerRadius = UDim.new(1, 0),
StrokeThickness = 2,
Enabled = true,
Draggable = true,
OnlyMobile = false,
Color = ColorSequence.new(
Color3.fromHex("#2b2b2b"),
Color3.fromHex("#111111")
)
},
Topbar = {
Height = 42,
ButtonsType = "Mac",
}
})
Window:Tag({
Title = "Spiem " .. "v1.0",
Icon = "github",
Color = Color3.fromHex("#111111"),
Border = true,
})
Window:SetToggleKey(GetKeyCode(State.UiKey) or Enum.KeyCode.RightShift)
local TabIconColor = Color3.fromHex("#9ca3af")
local HomeTab = Window:Tab({
Title = "Home",
Icon = "house",
IconColor = TabIconColor,
Border = false,
})
local CombatTab = Window:Tab({
Title = "Combat",
Icon = "hand-fist",
IconColor = TabIconColor,
Border = false,
})
local VisualTab = Window:Tab({
Title = "Visuals",
Icon = "solar:eye-bold",
IconColor = TabIconColor,
Border = false,
})
local MovementTab = Window:Tab({
Title = "Movement",
Icon = "rabbit",
IconColor = TabIconColor,
Border = false,
})
local PlayerTab = Window:Tab({
Title = "Player",
Icon = "solar:user-bold",
IconColor = TabIconColor,
Border = false,
})
local WorldTab = Window:Tab({
Title = "World",
Icon = "solar:planet-bold",
IconColor = TabIconColor,
Border = false,
})
local SafetyTab = Window:Tab({
Title = "Safety",
Icon = "solar:shield-check-bold",
IconColor = TabIconColor,
Border = false,
})
local SettingsTab = Window:Tab({
Title = "Settings",
Icon = "solar:settings-bold",
IconColor = TabIconColor,
Border = false,
})
do
local HomeSection = HomeTab:Section({ Title = "Universal Hub", Opened = true })
HomeSection:Paragraph({
Title = "Overview",
Desc = "Combat, visuals, movement, player tools, and safety controls in one hub. Use settings to save and load your layout.",
})
HomeSection:Toggle({
Title = "Anti AFK",
Value = State.AntiAFK,
Callback = function(v)
SetAntiAfkEnabled(v)
end
})
HomeSection:Toggle({
Title = "Anti Kick",
Value = State.AntiKick,
Callback = function(v)
SetAntiKickEnabled(v)
end
})
end
do
local AimbotSection = CombatTab:Section({ Title = "Aimbot", Opened = true })
RegisterRef("AimbotEnabled", AimbotSection:Toggle({
Title = "Enable Aimbot",
Value = State.AimbotEnabled,
Callback = function(v)
SetAimbotEnabled(v)
end
}))
RegisterRef("AimbotMode", AimbotSection:Dropdown({
Title = "Aim Mode",
Values = { "Hold", "Toggle" },
Value = State.AimbotMode,
Callback = function(v)
State.AimbotMode = v
end
}))
RegisterRef("AimbotKey", AimbotSection:Keybind({
Title = "Aim Key",
Value = State.AimbotKey,
Callback = function(v)
State.AimbotKey = v
end
}))
RegisterRef("AimbotPart", AimbotSection:Dropdown({
Title = "Aim Part",
Values = { "Head", "UpperTorso", "HumanoidRootPart", "Auto" },
Value = State.AimbotPart,
Callback = function(v)
State.AimbotPart = v
end
}))
RegisterRef("AimbotFov", AimbotSection:Slider({
Title = "FOV Radius",
Step = 1,
Value = {
Min = 50,
Max = 600,
Default = State.AimbotFov,
},
Callback = function(v)
State.AimbotFov = v
end
}))
RegisterRef("AimbotSmooth", AimbotSection:Slider({
Title = "Smoothness",
Step = 1,
Value = {
Min = 0,
Max = 100,
Default = State.AimbotSmooth,
},
Callback = function(v)
State.AimbotSmooth = v
end
}))
RegisterRef("AimbotPrediction", AimbotSection:Slider({
Title = "Prediction",
Step = 0.01,
Value = {
Min = 0,
Max = 0.3,
Default = State.AimbotPrediction,
},
Callback = function(v)
State.AimbotPrediction = v
end
}))
RegisterRef("AimbotUseFov", AimbotSection:Toggle({
Title = "Use FOV Limit",
Value = State.AimbotUseFov,
Callback = function(v)
State.AimbotUseFov = v
end
}))
RegisterRef("AimbotTeam", AimbotSection:Toggle({
Title = "Team Check",
Value = State.AimbotTeam,
Callback = function(v)
State.AimbotTeam = v
end
}))
RegisterRef("AimbotVisible", AimbotSection:Toggle({
Title = "Visibility Check",
Value = State.AimbotVisible,
Callback = function(v)
State.AimbotVisible = v
end
}))
RegisterRef("AimbotPriority", AimbotSection:Dropdown({
Title = "Priority",
Values = { "Cursor", "Distance" },
Value = State.AimbotPriority,
Callback = function(v)
State.AimbotPriority = v
end
}))
end
do
local SilentSection = CombatTab:Section({ Title = "Silent Aim", Opened = true })
RegisterRef("SilentAimEnabled", SilentSection:Toggle({
Title = "Enable Silent Aim",
Value = State.SilentAimEnabled,
Callback = function(v)
SetSilentAimEnabled(v)
end
}))
RegisterRef("SilentAimPart", SilentSection:Dropdown({
Title = "Silent Aim Part",
Values = { "Head", "UpperTorso", "HumanoidRootPart", "Auto" },
Value = State.SilentAimPart,
Callback = function(v)
State.SilentAimPart = v
end
}))
RegisterRef("SilentAimFov", SilentSection:Slider({
Title = "Silent FOV",
Step = 1,
Value = {
Min = 50,
Max = 600,
Default = State.SilentAimFov,
},
Callback = function(v)
State.SilentAimFov = v
end
}))
RegisterRef("SilentAimPrediction", SilentSection:Slider({
Title = "Prediction",
Step = 0.01,
Value = {
Min = 0,
Max = 0.3,
Default = State.SilentAimPrediction,
},
Callback = function(v)
State.SilentAimPrediction = v
end
}))
RegisterRef("SilentAimUseFov", SilentSection:Toggle({
Title = "Use FOV Limit",
Value = State.SilentAimUseFov,
Callback = function(v)
State.SilentAimUseFov = v
end
}))
RegisterRef("SilentAimTeam", SilentSection:Toggle({
Title = "Team Check",
Value = State.SilentAimTeam,
Callback = function(v)
State.SilentAimTeam = v
end
}))
end
do
local TriggerSection = CombatTab:Section({ Title = "Triggerbot + Clicker", Opened = true })
RegisterRef("TriggerbotEnabled", TriggerSection:Toggle({
Title = "Triggerbot",
Value = State.TriggerbotEnabled,
Callback = function(v)
SetTriggerbotEnabled(v)
end
}))
RegisterRef("TriggerbotMode", TriggerSection:Dropdown({
Title = "Trigger Mode",
Values = { "Hold", "Always" },
Value = State.TriggerbotMode,
Callback = function(v)
State.TriggerbotMode = v
end
}))
RegisterRef("TriggerbotKey", TriggerSection:Keybind({
Title = "Trigger Key",
Value = State.TriggerbotKey,
Callback = function(v)
State.TriggerbotKey = v
end
}))
RegisterRef("TriggerbotDelay", TriggerSection:Slider({
Title = "Shot Delay (s)",
Step = 0.01,
Value = {
Min = 0,
Max = 0.3,
Default = State.TriggerbotDelay,
},
Callback = function(v)
State.TriggerbotDelay = v
end
}))
RegisterRef("TriggerbotTeam", TriggerSection:Toggle({
Title = "Team Check",
Value = State.TriggerbotTeam,
Callback = function(v)
State.TriggerbotTeam = v
end
}))
RegisterRef("AutoClickerEnabled", TriggerSection:Toggle({
Title = "Auto Clicker",
Value = State.AutoClickerEnabled,
Callback = function(v)
SetAutoClickerEnabled(v)
end
}))
RegisterRef("AutoClickerCps", TriggerSection:Slider({
Title = "Click Speed (CPS)",
Step = 1,
Value = {
Min = 1,
Max = 20,
Default = State.AutoClickerCps,
},
Callback = function(v)
State.AutoClickerCps = v
end
}))
end
do
local HitboxSection = CombatTab:Section({ Title = "Hitbox", Opened = true })
RegisterRef("HitboxEnabled", HitboxSection:Toggle({
Title = "Hitbox Expander",
Value = State.HitboxEnabled,
Callback = function(v)
SetHitboxEnabled(v)
end
}))
RegisterRef("HitboxPart", HitboxSection:Dropdown({
Title = "Hitbox Part",
Values = { "Head", "HumanoidRootPart" },
Value = State.HitboxPart,
Callback = function(v)
State.HitboxPart = v
UpdateHitboxes()
end
}))
RegisterRef("HitboxSize", HitboxSection:Slider({
Title = "Hitbox Size",
Step = 1,
Value = {
Min = 3,
Max = 12,
Default = State.HitboxSize,
},
Callback = function(v)
State.HitboxSize = v
UpdateHitboxes()
end
}))
RegisterRef("HitboxTransparency", HitboxSection:Slider({
Title = "Hitbox Transparency",
Step = 0.05,
Value = {
Min = 0,
Max = 1,
Default = State.HitboxTransparency,
},
Callback = function(v)
State.HitboxTransparency = v
UpdateHitboxes()
end
}))
end
do
local EspSection = VisualTab:Section({ Title = "ESP", Opened = true })
RegisterRef("ESPEnabled", EspSection:Toggle({
Title = "Enable ESP",
Value = State.ESPEnabled,
Callback = function(v)
SetEspEnabled(v)
end
}))
RegisterRef("ESPShowName", EspSection:Toggle({
Title = "Show Name",
Value = State.ESPShowName,
Callback = function(v)
State.ESPShowName = v
end
}))
RegisterRef("ESPShowDistance", EspSection:Toggle({
Title = "Show Distance",
Value = State.ESPShowDistance,
Callback = function(v)
State.ESPShowDistance = v
end
}))
RegisterRef("ESPShowHealth", EspSection:Toggle({
Title = "Show Health",
Value = State.ESPShowHealth,
Callback = function(v)
State.ESPShowHealth = v
end
}))
RegisterRef("ESPTeamColor", EspSection:Toggle({
Title = "Use Team Color",
Value = State.ESPTeamColor,
Callback = function(v)
State.ESPTeamColor = v
end
}))
RegisterRef("ESPFillColor", EspSection:Colorpicker({
Title = "Fill Color",
Default = State.ESPFillColor,
Callback = function(v)
State.ESPFillColor = v
end
}))
RegisterRef("ESPOutlineColor", EspSection:Colorpicker({
Title = "Outline Color",
Default = State.ESPOutlineColor,
Callback = function(v)
State.ESPOutlineColor = v
end
}))
RegisterRef("ESPFillTransparency", EspSection:Slider({
Title = "Fill Transparency",
Step = 0.05,
Value = {
Min = 0,
Max = 1,
Default = State.ESPFillTransparency,
},
Callback = function(v)
State.ESPFillTransparency = v
end
}))
RegisterRef("ESPOutlineTransparency", EspSection:Slider({
Title = "Outline Transparency",
Step = 0.05,
Value = {
Min = 0,
Max = 1,
Default = State.ESPOutlineTransparency,
},
Callback = function(v)
State.ESPOutlineTransparency = v
end
}))
end
do
local TracerSection = VisualTab:Section({ Title = "Tracers", Opened = true })
RegisterRef("TracersEnabled", TracerSection:Toggle({
Title = "Enable Tracers",
Value = State.TracersEnabled,
Callback = function(v)
SetTracersEnabled(v)
end
}))
RegisterRef("TracerColor", TracerSection:Colorpicker({
Title = "Tracer Color",
Default = State.TracerColor,
Callback = function(v)
State.TracerColor = v
end
}))
end
do
local CrosshairSection = VisualTab:Section({ Title = "Crosshair + FOV", Opened = true })
RegisterRef("CrosshairEnabled", CrosshairSection:Toggle({
Title = "Crosshair",
Value = State.CrosshairEnabled,
Callback = function(v)
SetCrosshairEnabled(v)
end
}))
RegisterRef("CrosshairColor", CrosshairSection:Colorpicker({
Title = "Crosshair Color",
Default = State.CrosshairColor,
Callback = function(v)
State.CrosshairColor = v
end
}))
RegisterRef("CrosshairSize", CrosshairSection:Slider({
Title = "Crosshair Size",
Step = 1,
Value = {
Min = 4,
Max = 20,
Default = State.CrosshairSize,
},
Callback = function(v)
State.CrosshairSize = v
end
}))
RegisterRef("CrosshairThickness", CrosshairSection:Slider({
Title = "Crosshair Thickness",
Step = 1,
Value = {
Min = 1,
Max = 4,
Default = State.CrosshairThickness,
},
Callback = function(v)
State.CrosshairThickness = v
end
}))
RegisterRef("ShowFov", CrosshairSection:Toggle({
Title = "Show FOV Circle",
Value = State.ShowFov,
Callback = function(v)
SetFovEnabled(v)
end
}))
RegisterRef("FovColor", CrosshairSection:Colorpicker({
Title = "FOV Color",
Default = State.FovColor,
Callback = function(v)
State.FovColor = v
end
}))
RegisterRef("FovSource", CrosshairSection:Dropdown({
Title = "FOV Source",
Values = { "Aimbot", "Silent" },
Value = State.FovSource,
Callback = function(v)
State.FovSource = v
end
}))
end
do
local CameraSection = VisualTab:Section({ Title = "Camera + World", Opened = true })
RegisterRef("CameraFov", CameraSection:Slider({
Title = "Camera FOV",
Step = 1,
Value = {
Min = 60,
Max = 120,
Default = State.CameraFov,
},
Callback = function(v)
State.CameraFov = v
if Camera then
Camera.FieldOfView = v
end
end
}))
RegisterRef("Fullbright", CameraSection:Toggle({
Title = "Fullbright",
Value = State.Fullbright,
Callback = function(v)
SetFullbrightEnabled(v)
end
}))
RegisterRef("NoFog", CameraSection:Toggle({
Title = "Remove Fog",
Value = State.NoFog,
Callback = function(v)
SetNoFogEnabled(v)
end
}))
end
do
local MoveSection = MovementTab:Section({ Title = "Walk", Opened = true })
RegisterRef("WalkSpeedEnabled", MoveSection:Toggle({
Title = "WalkSpeed",
Value = State.WalkSpeedEnabled,
Callback = function(v)
SetWalkSpeedEnabled(v)
end
}))
RegisterRef("WalkSpeedValue", MoveSection:Slider({
Title = "WalkSpeed Value",
Step = 1,
Value = {
Min = 10,
Max = 150,
Default = State.WalkSpeedValue,
},
Callback = function(v)
State.WalkSpeedValue = v
end
}))
RegisterRef("JumpPowerEnabled", MoveSection:Toggle({
Title = "JumpPower",
Value = State.JumpPowerEnabled,
Callback = function(v)
SetJumpPowerEnabled(v)
end
}))
RegisterRef("JumpPowerValue", MoveSection:Slider({
Title = "JumpPower Value",
Step = 1,
Value = {
Min = 20,
Max = 200,
Default = State.JumpPowerValue,
},
Callback = function(v)
State.JumpPowerValue = v
end
}))
RegisterRef("GravityEnabled", MoveSection:Toggle({
Title = "Custom Gravity",
Value = State.GravityEnabled,
Callback = function(v)
SetGravityEnabled(v)
end
}))
RegisterRef("GravityValue", MoveSection:Slider({
Title = "Gravity Value",
Step = 1,
Value = {
Min = 50,
Max = 250,
Default = State.GravityValue,
},
Callback = function(v)
State.GravityValue = v
if State.GravityEnabled then
Workspace.Gravity = v
end
end
}))
end
do
local FlySection = MovementTab:Section({ Title = "Fly", Opened = true })
RegisterRef("FlyEnabled", FlySection:Toggle({
Title = "Enable Fly",
Value = State.FlyEnabled,
Callback = function(v)
SetFlyEnabled(v)
end
}))
RegisterRef("FlySpeed", FlySection:Slider({
Title = "Fly Speed",
Step = 1,
Value = {
Min = 1,
Max = 12,
Default = State.FlySpeed,
},
Callback = function(v)
State.FlySpeed = v
end
}))
RegisterRef("FlyKey", FlySection:Keybind({
Title = "Fly Toggle Key",
Value = State.FlyKey,
Callback = function(v)
State.FlyKey = v
end
}))
end
do
local NoclipSection = MovementTab:Section({ Title = "Noclip + Jump", Opened = true })
RegisterRef("NoclipEnabled", NoclipSection:Toggle({
Title = "Noclip",
Value = State.NoclipEnabled,
Callback = function(v)
SetNoclipEnabled(v)
end
}))
RegisterRef("InfiniteJump", NoclipSection:Toggle({
Title = "Infinite Jump",
Value = State.InfiniteJump,
Callback = function(v)
SetInfiniteJumpEnabled(v)
end
}))
RegisterRef("BunnyHop", NoclipSection:Toggle({
Title = "Bunny Hop",
Value = State.BunnyHop,
Callback = function(v)
SetBunnyHopEnabled(v)
end
}))
end
do
local TargetSection = PlayerTab:Section({ Title = "Target Player", Opened = true })
local selectedName = ""
TargetSection:Input({
Title = "Player Name",
Placeholder = "Name or display name",
Value = selectedName,
Callback = function(v)
selectedName = v
end
})
TargetSection:Button({
Title = "Teleport To Player",
Callback = function()
local plr = FindPlayer(selectedName)
if not plr then
Notify("Teleport", "Player not found.")
return
end
if not TeleportToPlayer(plr) then
Notify("Teleport", "Failed to teleport.")
end
end
})
TargetSection:Button({
Title = "Spectate Player",
Callback = function()
local plr = FindPlayer(selectedName)
if not plr then
Notify("Spectate", "Player not found.")
return
end
SetSpectate(plr)
end
})
TargetSection:Button({
Title = "Stop Spectate",
Callback = function()
SetSpectate(nil)
end
})
end
do
local TeleportSection = PlayerTab:Section({ Title = "Teleport Tools", Opened = true })
local coordInput = ""
TeleportSection:Input({
Title = "Teleport XYZ",
Placeholder = "0, 10, 0",
Value = coordInput,
Callback = function(v)
coordInput = v
end
})
TeleportSection:Button({
Title = "Teleport To XYZ",
Callback = function()
local vec = ParseVector3(coordInput)
if not vec then
Notify("Teleport", "Invalid coordinates.")
return
end
local root = GetRoot()
if root then
root.CFrame = CFrame.new(vec)
end
end
})
TeleportSection:Button({
Title = "Teleport To Mouse",
Callback = function()
if not TeleportToMouse() then
Notify("Teleport", "Mouse target not found.")
end
end
})
TeleportSection:Button({
Title = "Set Waypoint",
Callback = function()
local root = GetRoot()
if root then
WaypointCFrame = root.CFrame
Notify("Waypoint", "Waypoint saved.")
end
end
})
TeleportSection:Button({
Title = "Teleport To Waypoint",
Callback = function()
if WaypointCFrame then
local root = GetRoot()
if root then
root.CFrame = WaypointCFrame
end
else
Notify("Waypoint", "No waypoint set.")
end
end
})
end
do
local WorldSection = WorldTab:Section({ Title = "Performance", Opened = true })
WorldSection:Button({
Title = "FPS Boost (One-Time)",
Callback = function()
FPSBoostOnce()
end
})
end
do
local ServerSection = WorldTab:Section({ Title = "Server Tools", Opened = true })
ServerSection:Button({
Title = "Rejoin Server",
Callback = function()
RejoinServer()
end
})
ServerSection:Button({
Title = "Server Hop",
Callback = function()
ServerHop()
end
})
end
do
local SafetySection = SafetyTab:Section({ Title = "Anti Features", Opened = true })
RegisterRef("AntiAFK", SafetySection:Toggle({
Title = "Anti AFK",
Value = State.AntiAFK,
Callback = function(v)
SetAntiAfkEnabled(v)
end
}))
RegisterRef("AntiKick", SafetySection:Toggle({
Title = "Anti Kick",
Value = State.AntiKick,
Callback = function(v)
SetAntiKickEnabled(v)
end
}))
RegisterRef("AntiVoid", SafetySection:Toggle({
Title = "Anti Void",
Value = State.AntiVoid,
Callback = function(v)
SetAntiVoidEnabled(v)
end
}))
RegisterRef("AntiVoidHeight", SafetySection:Slider({
Title = "Void Height",
Step = 1,
Value = {
Min = -500,
Max = 0,
Default = State.AntiVoidHeight,
},
Callback = function(v)
State.AntiVoidHeight = v
end
}))
RegisterRef("AntiFling", SafetySection:Toggle({
Title = "Anti Fling",
Value = State.AntiFling,
Callback = function(v)
SetAntiFlingEnabled(v)
end
}))
RegisterRef("AntiRagdoll", SafetySection:Toggle({
Title = "Anti Ragdoll",
Value = State.AntiRagdoll,
Callback = function(v)
SetAntiRagdollEnabled(v)
end
}))
RegisterRef("StealthMode", SafetySection:Toggle({
Title = "Stealth Mode",
Desc = "Randomize ESP names and avoid character parenting when possible.",
Value = State.StealthMode,
Callback = function(v)
State.StealthMode = v
ApplyStealthToAll()
end
}))
RegisterRef("PanicKey", SafetySection:Keybind({
Title = "Panic Key",
Value = State.PanicKey,
Callback = function(v)
State.PanicKey = v
end
}))
SafetySection:Button({
Title = "Panic Now",
Callback = function()
PanicNow()
end
})
end
do
local UiSection = SettingsTab:Section({ Title = "UI", Opened = true })
RegisterRef("UiKey", UiSection:Keybind({
Title = "UI Toggle Key",
Value = State.UiKey,
Callback = function(v)
State.UiKey = v
Window:SetToggleKey(GetKeyCode(v) or Enum.KeyCode.RightShift)
end
}))
UiSection:Button({
Title = "Destroy UI",
Callback = function()
Window:Destroy()
end
})
end
do
local ConfigSection = SettingsTab:Section({ Title = "Config", Opened = true })
RegisterRef("AutoLoadConfig", ConfigSection:Toggle({
Title = "Auto Load Config",
Value = State.AutoLoadConfig,
Callback = function(v)
State.AutoLoadConfig = v
SaveConfig()
end
}))
ConfigSection:Button({
Title = "Save Config",
Callback = function()
SaveConfig()
end
})
ConfigSection:Button({
Title = "Load Config",
Callback = function()
LoadConfig(true)
end
})
ConfigSection:Button({
Title = "Reset To Default",
Callback = function()
ResetConfig()
end
})
end
for _, plr in ipairs(Players:GetPlayers()) do
SetupESPForPlayer(plr)
end
Players.PlayerAdded:Connect(function(plr)
SetupESPForPlayer(plr)
if State.HitboxEnabled and plr.Character then
ApplyHitboxToCharacter(plr.Character)
end
if State.TracersEnabled then
EnsureTracers()
end
end)
Players.PlayerRemoving:Connect(function(plr)
if TracerLines and TracerLines[plr] then
TracerLines[plr]:Remove()
TracerLines[plr] = nil
end
local obj = ESPObjects[plr]
if obj then
if obj.Highlight then
obj.Highlight:Destroy()
end
if obj.Tag then
obj.Tag:Destroy()
end
end
ESPObjects[plr] = nil
end)
BindConnection("InputToggles", UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then
return
end
local panicKey = GetKeyCode(State.PanicKey)
if panicKey and input.KeyCode == panicKey then
PanicNow()
return
end
local aimKey = GetKeyCode(State.AimbotKey)
if State.AimbotMode == "Toggle" and aimKey and input.KeyCode == aimKey then
AimbotActive = not AimbotActive
Notify("Aimbot", AimbotActive and "Aimbot toggled on." or "Aimbot toggled off.")
end
local flyKey = GetKeyCode(State.FlyKey)
if flyKey and input.KeyCode == flyKey then
SetFlyEnabled(not State.FlyEnabled)
TrySetValue("FlyEnabled", State.FlyEnabled)
end
end))
ApplyAllState()
RefreshDrawingLoop()
Notify("Universal Hub", "Loaded and ready.")



chatgpt </3