Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
TweenService = :()
Workspace = :()
StarterGui = :()
Lighting = :()
Stats = :()
Debris = :()
ContentProvider = :()
TeleportService = :()
ReplicatedStorage = :()
SoundService = :()
Camera = Workspace.CurrentCamera
LocalPlayer = Players.LocalPlayer
Mouse = LocalPlayer:()
repo =
Library = (:(repo .. ))()
ThemeManager = (:(repo .. ))()
SaveManager = (:(repo .. ))()
MasterConnections = {}
PlayerConnections = {}
(conn)
.(MasterConnections, conn)
conn
(player, conn)
PlayerConnections[player]
PlayerConnections[player] = {}
.(PlayerConnections[player], conn)
.(MasterConnections, conn)
conn
(player)
conns = PlayerConnections[player]
conns
_, c (conns)
c.Connected c:()
PlayerConnections[player] =
()
_, c (MasterConnections)
(c) == c.Connected
c:()
.(MasterConnections)
.(PlayerConnections)
SpeedEnabled =
SpeedValue =
JumpPowerValue =
InfiniteJumpEnabled =
InstantStopEnabled =
CustomGravityEnabled =
CustomGravityValue =
MaxSlopeEnabled =
NoVoidEnabled =
NoVoidOriginal =
FlyEnabled =
FlySpeed =
FlyBody =
FlyGyro =
FloatEnabled =
FloatPlatform =
FloatOffset =
FloatMovingUp =
FloatMovingDown =
NoclipEnabled =
GodModeEnabled =
FOVValue =
MaxZoomDistance =
ESPEnabled =
ESPObjects = {}
ESPFontSize =
ESPYOffset =
ESPFillTransparency =
ESPShowDistance =
NPCESPEnabled =
NPCESPObjects = {}
NPCDestroyConns = {}
InstanceHighlights = {}
AimbotEnabled =
AimbotFOV =
AimbotSmoothing =
AimbotFOVCircle =
ClickTPEnabled =
LatchEnabled =
LatchTarget =
LatchOrigin =
SpectateEnabled =
SpectateTarget =
SpectateBeam =
SpectateBeamAtt0 =
SpectateBeamAtt1 =
LowHPEnabled =
LowHPThreshold =
LowHPConnections = {}
LowHPCooldowns = {}
DeathLogEnabled =
DeathLogs = {}
DeathConnections = {}
ActivityLogEnabled =
ActivityConnections = {}
PlayerJoinTimes = {}
FullbrightEnabled =
OriginalLighting = {}
PotatoEnabled =
OriginalMaterials = ({}, {__mode = })
ChatSpamEnabled =
ChatSpamMessage =
ChatSpamDelay =
ChatSpamGeneration =
SoundLowHP =
SoundLeft =
SoundGeneral =
SoundVolume =
PerfTrackerEnabled =
LastFPS =
FPSAccumulator =
FPSFrameCount =
TelemetryEnabled =
TelemetryData = {
SessionStart = .(),
TogglesUsed = ,
ButtonsPressed = ,
TPsPerformed = ,
}
Waypoints = {}
MAX_WAYPOINTS =
TPTool =
(title, text, duration)
Library:(title .. .. text, duration )
(assetId, volume)
(()
s = .()
s.SoundId = assetId
s.Volume = volume SoundVolume
s.Parent = SoundService
s:()
Debris:(s, )
s.Ended:(()
s:()
)
)
()
LocalPlayer.Character
()
char = ()
char char:()
()
char = ()
char (char:() char:())
()
char = ()
char char:()
(player)
char = player player.Character
char
hum = char:()
hum hum.Health <=
root = char:() char:()
root ~=
(player)
LocalPlayer.Team
player.Team == LocalPlayer.Team
(excludeSelf)
names = {}
_, p (Players:())
(excludeSelf p == LocalPlayer)
.(names, p.Name)
names
(field)
TelemetryEnabled TelemetryData[field]
TelemetryData[field] +=
(inst)
(inst) == inst.Parent ~=
(inst)
(inst)
inst:()
ESPModule = {}
ESPModule:(player)
player == LocalPlayer
ESPObjects[player] self:(player)
espData = {}
billboard = .()
billboard.Name =
billboard.AlwaysOnTop =
billboard.Size = .(, , , )
billboard.StudsOffset = .(, ESPYOffset, )
billboard.LightInfluence =
billboard.MaxDistance =
nameLabel = .()
nameLabel.Name =
nameLabel.BackgroundTransparency =
nameLabel.Size = .(, , , )
nameLabel.Font = .Font.GothamBold
nameLabel.TextSize = ESPFontSize
nameLabel.TextColor3 = .(, , )
nameLabel.TextStrokeTransparency =
nameLabel.TextStrokeColor3 = .(, , )
nameLabel.Text = player.Name
nameLabel.Parent = billboard
healthLabel = .()
healthLabel.Name =
healthLabel.BackgroundTransparency =
healthLabel.Size = .(, , , )
healthLabel.Position = .(, , , )
healthLabel.Font = .Font.GothamBold
healthLabel.TextSize = ESPFontSize -
healthLabel.TextColor3 = .(, , )
healthLabel.TextStrokeTransparency =
healthLabel.TextStrokeColor3 = .(, , )
healthLabel.Text =
healthLabel.Parent = billboard
distLabel = .()
distLabel.Name =
distLabel.BackgroundTransparency =
distLabel.Size = .(, , , )
distLabel.Position = .(, , , )
distLabel.Font = .Font.Gotham
distLabel.TextSize = ESPFontSize -
distLabel.TextColor3 = .(, , )
distLabel.TextStrokeTransparency =
distLabel.TextStrokeColor3 = .(, , )
distLabel.Text =
distLabel.Parent = billboard
highlight = .()
highlight.Name =
highlight.FillColor = .(, , )
highlight.OutlineColor = .(, , )
highlight.FillTransparency = ESPFillTransparency
highlight.OutlineTransparency =
highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
espData.Billboard = billboard
espData.Highlight = highlight
espData.NameLabel = nameLabel
espData.HealthLabel = healthLabel
espData.DistLabel = distLabel
ESPObjects[player] = espData
self:(player)
player.Character
charRemovingConn
charRemovingConn = player.Character.AncestryChanged:((_, parent)
parent ==
espData.Billboard
espData.Billboard.Adornee =
espData.Billboard.Parent =
espData.Highlight espData.Highlight.Parent
espData.Highlight.Parent =
charRemovingConn
charRemovingConn:()
charRemovingConn =
)
(player, charRemovingConn)
ESPModule:(player)
espData = ESPObjects[player]
espData
char = player.Character
char
head = char:()
head
espData.Billboard.Adornee = head
espData.Billboard.Parent = head
char.Parent
espData.Highlight.Parent = char
ESPModule:(player)
espData = ESPObjects[player]
espData
(espData.Billboard)
(espData.Highlight)
espData.Billboard =
espData.Highlight =
ESPObjects[player] =
ESPModule:()
player, espData (ESPObjects)
player player.Parent
self:(player)
char = player.Character
char char.Parent
hum = char:()
root = char:()
myRoot = ()
hum
maxHP = .(hum.MaxHealth, )
health = .(hum.Health)
ratio = .(hum.Health / maxHP, , )
espData.HealthLabel.Text = health .. .. .(maxHP) ..
espData.HealthLabel.TextColor3 = .( * ( - ratio), * ratio, )
root myRoot ESPShowDistance
espData.DistLabel.Text = .((root.Position - myRoot.Position).Magnitude) ..
espData.DistLabel.Visible =
espData.DistLabel.Visible =
espData.Billboard.StudsOffset = .(, ESPYOffset, )
espData.NameLabel.TextSize = ESPFontSize
espData.HealthLabel.TextSize = ESPFontSize -
espData.DistLabel.TextSize = ESPFontSize -
espData.Billboard.Adornee == (espData.Billboard.Adornee)
self:(player)
ESPModule:()
_, player (Players:())
player ~= LocalPlayer self:(player)
ESPModule:()
player (ESPObjects)
self:(player)
NPCESPModule = {}
NPCESPModule:()
self:()
NPCESPEnabled
_, obj (Workspace:())
obj:() obj:()
isPlayer =
_, p (Players:())
p.Character == obj isPlayer = ;
isPlayer
head = obj:()
hum = obj:()
head hum
highlight = .()
highlight.Name =
highlight.FillColor = .(, , )
highlight.OutlineColor = .(, , )
highlight.FillTransparency =
highlight.OutlineTransparency =
highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
highlight.Parent = obj
bb = .()
bb.Name =
bb.AlwaysOnTop =
bb.Size = .(, , , )
bb.StudsOffset = .(, , )
bb.LightInfluence =
bb.MaxDistance =
bb.Adornee = head
bb.Parent = head
lbl = .()
lbl.BackgroundTransparency =
lbl.Size = .(, , , )
lbl.Font = .Font.GothamBold
lbl.TextSize =
lbl.TextColor3 = .(, , )
lbl.TextStrokeTransparency =
lbl.TextStrokeColor3 = .(, , )
lbl.Text = .. obj.Name
lbl.Parent = bb
hlbl = .()
hlbl.BackgroundTransparency =
hlbl.Size = .(, , , )
hlbl.Position = .(, , , )
hlbl.Font = .Font.Gotham
hlbl.TextSize =
hlbl.TextColor3 = .(, , )
hlbl.TextStrokeTransparency =
hlbl.TextStrokeColor3 = .(, , )
hlbl.Text = .(hum.Health) ..
hlbl.Parent = bb
data = {
Model = obj,
Highlight = highlight,
Billboard = bb,
HealthLabel = hlbl,
Humanoid = hum,
DestroyConn = ,
}
data.DestroyConn = obj.AncestryChanged:((_, parent)
parent ==
(data.Highlight)
(data.Billboard)
data.DestroyConn
data.DestroyConn:()
data.DestroyConn =
i, d (NPCESPObjects)
d == data
.(NPCESPObjects, i)
)
.(NPCESPObjects, data)
NPCESPModule:()
i = #NPCESPObjects, , -
data = NPCESPObjects[i]
data.Model data.Model.Parent data.Humanoid data.Humanoid.Parent
(data.Highlight)
(data.Billboard)
data.DestroyConn data.DestroyConn:(); data.DestroyConn =
.(NPCESPObjects, i)
data.HealthLabel.Text = .(data.Humanoid.Health) ..
NPCESPModule:()
_, data (NPCESPObjects)
(data.Highlight)
(data.Billboard)
data.DestroyConn data.DestroyConn:(); data.DestroyConn =
NPCESPObjects = {}
FlyModule = {}
FlyModule:()
root = ()
hum = ()
root hum
self:()
FlyBody = .()
FlyBody.MaxForce = .(.huge, .huge, .huge)
FlyBody.Velocity = .zero
FlyBody.Parent = root
FlyGyro = .()
FlyGyro.MaxTorque = .(.huge, .huge, .huge)
FlyGyro.P =
FlyGyro.Parent = root
hum.PlatformStand =
FlyModule:()
hum = ()
hum hum.PlatformStand =
FlyBody (FlyBody); FlyBody =
FlyGyro (FlyGyro); FlyGyro =
FlyModule:()
FlyEnabled
FlyBody FlyBody.Parent FlyGyro FlyGyro.Parent
root = ()
root root.Parent
self:()
root = ()
root root.Parent
dir = .zero
cf = Camera.CFrame
UserInputService:(.KeyCode.W) dir += cf.LookVector
UserInputService:(.KeyCode.S) dir -= cf.LookVector
UserInputService:(.KeyCode.A) dir -= cf.RightVector
UserInputService:(.KeyCode.D) dir += cf.RightVector
UserInputService:(.KeyCode.Space) dir += .yAxis
UserInputService:(.KeyCode.LeftShift) dir -= .yAxis
dir.Magnitude > dir = dir.Unit
FlyBody.Velocity = dir * FlySpeed
FlyGyro.CFrame = cf
AimbotModule = {}
AimbotModule:()
self:()
AimbotFOVCircle = .()
AimbotFOVCircle.Visible =
AimbotFOVCircle.Radius = AimbotFOV
AimbotFOVCircle.Color = .(, , )
AimbotFOVCircle.Thickness =
AimbotFOVCircle.Transparency =
AimbotFOVCircle.Filled =
AimbotFOVCircle.NumSides =
AimbotModule:()
AimbotFOVCircle
(() AimbotFOVCircle:() )
AimbotFOVCircle =
AimbotModule:()
AimbotFOVCircle
mp = UserInputService:()
AimbotFOVCircle.Position = .(mp.X, mp.Y)
AimbotFOVCircle.Radius = AimbotFOV
AimbotFOVCircle.Visible = AimbotEnabled
AimbotModule:()
closest, closestDist = , AimbotFOV
mp = UserInputService:()
_, player (Players:())
player == LocalPlayer (player) (player)
head = player.Character player.Character:()
head
sp, onScreen = Camera:(head.Position)
onScreen
dist = (.(sp.X, sp.Y) - mp).Magnitude
dist < closestDist closestDist = dist; closest = player
closest
AimbotModule:(player)
player
head = player.Character player.Character:()
head
camPos = Camera.CFrame.Position
targetCF = .(camPos, head.Position)
Camera.CFrame = Camera.CFrame:(targetCF, / AimbotSmoothing)
FloatModule = {}
FloatModule:()
self:()
root = ()
root
FloatPlatform = .()
FloatPlatform.Name =
FloatPlatform.Size = .(, , )
FloatPlatform.Anchored =
FloatPlatform.CanCollide =
FloatPlatform.Transparency =
FloatPlatform.BrickColor = BrickColor.()
FloatPlatform.Material = .Material.ForceField
FloatPlatform.CFrame = root.CFrame * .(, - + FloatOffset, )
FloatPlatform.Parent = Workspace
FloatModule:()
FloatPlatform
(FloatPlatform)
FloatPlatform =
FloatModule:()
FloatEnabled
FloatPlatform FloatPlatform.Parent
FloatEnabled self:()
root = ()
root root.Parent
FloatMovingUp FloatOffset +=
FloatMovingDown FloatOffset -=
FloatPlatform.CFrame = .(root.Position.X, root.Position.Y - + FloatOffset, root.Position.Z)
SpectateModule = {}
SpectateModule:(player)
player player.Character
SpectateTarget = player
hum = player.Character:()
hum Camera.CameraSubject = hum
self:()
SpectateModule:()
SpectateTarget =
hum = ()
hum Camera.CameraSubject = hum
self:()
SpectateModule:()
self:()
myRoot = ()
myRoot myRoot.Parent
SpectateTarget SpectateTarget.Character
tRoot = SpectateTarget.Character:()
tRoot tRoot.Parent
SpectateBeamAtt0 = .()
SpectateBeamAtt0.Parent = myRoot
SpectateBeamAtt1 = .()
SpectateBeamAtt1.Parent = tRoot
SpectateBeam = .()
SpectateBeam.Attachment0 = SpectateBeamAtt0
SpectateBeam.Attachment1 = SpectateBeamAtt1
SpectateBeam.Color = ColorSequence.(.(, , ))
SpectateBeam.Width0 =
SpectateBeam.Width1 =
SpectateBeam.FaceCamera =
SpectateBeam.LightEmission =
SpectateBeam.Transparency = NumberSequence.()
SpectateBeam.Parent = myRoot
SpectateModule:()
(SpectateBeam); SpectateBeam =
(SpectateBeamAtt0); SpectateBeamAtt0 =
(SpectateBeamAtt1); SpectateBeamAtt1 =
SpectateModule:()
SpectateEnabled
SpectateTarget SpectateTarget.Parent
self:()
SpectateEnabled =
Toggles Toggles.SpectateToggle
Toggles.SpectateToggle:()
(, )
SpectateTarget.Character SpectateTarget.Character.Parent
SpectateBeamAtt1 (SpectateBeamAtt1)
self:()
LowHPModule = {}
LowHPModule:()
self:()
_, player (Players:())
player ~= LocalPlayer self:(player)
LowHPModule:(player)
LowHPConnections[player]
LowHPConnections[player] = {}
LowHPCooldowns[player] =
(char)
char
hum = char:(, )
hum
healthConn
healthConn = hum.HealthChanged:((newHealth)
LowHPEnabled
newHealth > newHealth < LowHPThreshold
now = ()
now - (LowHPCooldowns[player] ) >
LowHPCooldowns[player] = now
(SoundLowHP, SoundVolume)
(, player.Name .. .. .(newHealth) .. , )
)
LowHPConnections[player]
LowHPConnections[player] = {}
.(LowHPConnections[player], healthConn)
player.Character (player.Character)
charAddedConn = player.CharacterAdded:((char)
.()
(char)
)
.(LowHPConnections[player], charAddedConn)
LowHPModule:(player)
conns = LowHPConnections[player]
conns
_, c (conns)
c.Connected c:()
LowHPConnections[player] =
LowHPCooldowns[player] =
LowHPModule:()
player (LowHPConnections)
self:(player)
LowHPConnections = {}
LowHPCooldowns = {}
DeathLogModule = {}
DeathLogModule:()
self:()
_, player (Players:())
self:(player)
DeathLogModule:(player)
DeathConnections[player]
DeathConnections[player] = {}
(char)
char
hum = char:(, )
hum
diedConn
diedConn = hum.Died:(()
root = char:()
pos = root root.Position .zero
isVoid = pos.Y < (Workspace.FallenPartsDestroyHeight + )
entry = {
Player = player.Name,
Position = pos,
= root root.CFrame .(),
Time = .(),
IsVoid = isVoid,
}
.(DeathLogs, , entry)
#DeathLogs >
.(DeathLogs)
(, player.Name .. .. entry.Time .. (isVoid ), )
)
DeathConnections[player]
.(DeathConnections[player], diedConn)
player.Character (player.Character)
charConn = player.CharacterAdded:((char)
.()
(char)
)
.(DeathConnections[player], charConn)
DeathLogModule:(player)
conns = DeathConnections[player]
conns
_, c (conns)
c.Connected c:()
DeathConnections[player] =
DeathLogModule:()
player (DeathConnections)
self:(player)
DeathConnections = {}
ActivityModule = {}
ActivityModule:()
self:()
.(PlayerJoinTimes)
_, p (Players:())
PlayerJoinTimes[p.UserId] = .()
joinConn = Players.PlayerAdded:((p)
PlayerJoinTimes[p.UserId] = .()
)
leaveConn = Players.PlayerRemoving:((p)
joinTime = PlayerJoinTimes[p.UserId]
duration = joinTime (.() - joinTime)
mins = .(duration / )
secs = duration %
(SoundLeft, SoundVolume)
(, .(, p.Name, mins, secs), )
PlayerJoinTimes[p.UserId] =
)
ActivityConnections = {joinConn, leaveConn}
ActivityModule:()
_, c (ActivityConnections)
(c) == c.Connected c:()
ActivityConnections = {}
.(PlayerJoinTimes)
()
i = #InstanceHighlights, , -
(InstanceHighlights[i])
InstanceHighlights[i] =
InstanceHighlights = {}
(pathStr)
()
success, result = (()
( .. pathStr)()
)
success
(, .. (result), )
parts = {}
(result) ==
parts = {result}
(result) ==
parts = result
count =
_, part (parts)
(part) == (part:() part:())
h = .()
h.FillColor = .(, , )
h.OutlineColor = .(, , )
h.FillTransparency =
h.OutlineTransparency =
h.DepthMode = .HighlightDepthMode.AlwaysOnTop
h.Parent = part
.(InstanceHighlights, h)
count +=
(, .. count .. , )
()
anchored, unanchored, tools, npcs, playerCount = , , , , #Players:()
_, obj (Workspace:())
obj:()
obj.Anchored anchored += unanchored +=
obj:()
tools +=
obj:()
model = obj.Parent
isPlayer =
_, p (Players:())
p.Character == model isPlayer = ;
isPlayer npcs +=
.(
,
anchored, unanchored, tools, playerCount, npcs
)
()
OriginalLighting.Ambient = Lighting.Ambient
OriginalLighting.Brightness = Lighting.Brightness
OriginalLighting.ClockTime = Lighting.ClockTime
OriginalLighting.FogEnd = Lighting.FogEnd
OriginalLighting.GlobalShadows = Lighting.GlobalShadows
OriginalLighting.OutdoorAmbient = Lighting.OutdoorAmbient
Lighting.Ambient = .(, , )
Lighting.Brightness =
Lighting.ClockTime =
Lighting.FogEnd =
Lighting.GlobalShadows =
Lighting.OutdoorAmbient = .(, , )
()
prop, val (OriginalLighting)
(() Lighting[prop] = val )
()
_, obj (Workspace:())
obj:()
OriginalMaterials[obj] = obj.Material
obj.Material = .Material.SmoothPlastic
()
obj, mat (OriginalMaterials)
(obj) == obj.Parent
(() obj.Material = mat )
OriginalMaterials = ({}, {__mode = })
()
TPTool (TPTool); TPTool =
TPTool = .()
TPTool.Name =
TPTool.RequiresHandle =
TPTool.CanBeDropped =
TPTool.Activated:(()
root = ()
root Mouse.Hit
root.CFrame = .(Mouse.Hit.Position + .(, , ))
()
)
backpack = LocalPlayer:()
backpack
TPTool.Parent = backpack
(, , )
()
NoclipEnabled
char = ()
char
_, part (char:())
part:() part.CanCollide =
()
InstantStopEnabled
hum = ()
root = ()
hum root
hum.MoveDirection.Magnitude ==
root.AssemblyLinearVelocity = .(, root.AssemblyLinearVelocity.Y, )
Window = Library:({
Title = ,
Center = ,
AutoShow = ,
TabPadding = ,
MenuFadeTime = ,
})
MovementTab = Window:()
SpeedGroup = MovementTab:()
SpeedGroup:(, {
Text = ,
Default = ,
Callback = (v)
SpeedEnabled = v
()
v
hum = ()
hum hum.WalkSpeed =
})
SpeedGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) SpeedValue = v
})
SpeedGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v)
JumpPowerValue = v
hum = ()
hum hum.UseJumpPower = ; hum.JumpPower = v
})
SpeedGroup:(, {
Text = ,
Default = ,
Callback = (v) InfiniteJumpEnabled = v; ()
})
SpeedGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v) InstantStopEnabled = v; ()
})
PhysicsGroup = MovementTab:()
PhysicsGroup:(, {
Text = ,
Default = ,
Callback = (v)
CustomGravityEnabled = v
()
v Workspace.Gravity =
})
PhysicsGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) CustomGravityValue = v
})
PhysicsGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
MaxSlopeEnabled = v
()
hum = ()
hum hum.MaxSlopeAngle = v
})
PhysicsGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
NoVoidEnabled = v
()
v
NoVoidOriginal = Workspace.FallenPartsDestroyHeight
Workspace.FallenPartsDestroyHeight = -
NoVoidOriginal Workspace.FallenPartsDestroyHeight = NoVoidOriginal
})
FlyGroup = MovementTab:()
FlyGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
FlyEnabled = v
()
v FlyModule:() FlyModule:()
})
FlyGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) FlySpeed = v
})
CharGroup = MovementTab:()
CharGroup:(, {
Text = ,
Default = ,
Callback = (v) NoclipEnabled = v; ()
})
CharGroup:(, {
Text = ,
Default = ,
Callback = (v)
GodModeEnabled = v
()
hum = ()
hum
v hum.MaxHealth = .huge; hum.Health = .huge
hum.MaxHealth = ; hum.Health =
})
CharGroup:({
Text = ,
DoubleClick = ,
Func = ()
hum = ()
hum hum.Health =
()
})
FloatGroup = MovementTab:()
FloatGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
FloatEnabled = v
()
v FloatModule:() FloatModule:(); FloatOffset =
})
FloatGroup:(, {
Text = ,
Default = , Min = -, Max = , Rounding = ,
Callback = (v) FloatOffset = v
})
CombatTab = Window:()
AimbotGroup = CombatTab:()
AimbotGroup:(, {
Text = ,
Default = ,
Callback = (v) AimbotEnabled = v; ()
})
AimbotGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) AimbotFOV = v
})
AimbotGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) AimbotSmoothing = v
})
AimbotGroup:(, {
Text = ,
Default = ,
Callback = (v)
AimbotFOVCircle AimbotFOVCircle.Visible = v AimbotEnabled
})
CombatMiscGroup = CombatTab:()
CombatMiscGroup:(, {
Text = ,
Default = ,
Callback = (v) ClickTPEnabled = v; ()
})
CombatMiscGroup:({
Text = ,
Func = ()
myRoot = ()
myRoot
closest, closestDist = , .huge
_, p (Players:())
p == LocalPlayer (p)
r = p.Character:()
r
d = (r.Position - myRoot.Position).Magnitude
d < closestDist closestDist = d; closest = r
closest
myRoot.CFrame = closest.CFrame * .(, , )
()
(, )
})
CombatMiscGroup:({
Text = ,
Func = () (); () ,
Tooltip =
})
TrackingTab = Window:()
PlayerTPGroup = TrackingTab:()
PlayerTPGroup:(, {
Values = (),
Default = ,
Multi = ,
Text = ,
})
PlayerTPGroup:({
Text = ,
Func = ()
sel = Options.TPPlayerDropdown.Value
sel (, );
t = Players:(sel)
t t.Character
tr = t.Character:()
mr = ()
tr mr
mr.CFrame = tr.CFrame * .(, , )
()
(, .. sel)
})
PlayerTPGroup:({
Text = ,
Func = ()
Options.TPPlayerDropdown:(())
(, )
})
LatchGroup = TrackingTab:()
LatchGroup:(, {
Values = (),
Default = ,
Multi = ,
Text = ,
})
LatchGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
LatchEnabled = v
()
v
sel = Options.LatchDropdown.Value
t = sel Players:(sel)
mr = ()
mr LatchOrigin = mr.CFrame
t t.Character
tr = t.Character:()
tr mr
LatchTarget = t
mr.CFrame = tr.CFrame * .(, , )
(, .. sel)
(, )
LatchEnabled =
Toggles Toggles.LatchToggle Toggles.LatchToggle:()
LatchTarget =
mr = ()
mr LatchOrigin
mr.CFrame = LatchOrigin
(, )
LatchOrigin =
})
SpectateGroup = TrackingTab:()
SpectateGroup:(, {
Values = (),
Default = ,
Multi = ,
Text = ,
})
SpectateGroup:(, {
Text = ,
Default = ,
Callback = (v)
SpectateEnabled = v
()
v
sel = Options.SpectateDropdown.Value
t = sel Players:(sel)
t SpectateModule:(t) (, )
SpectateModule:()
})
LowHPGroup = TrackingTab:()
LowHPGroup:(, {
Text = ,
Default = ,
Callback = (v)
LowHPEnabled = v
()
v LowHPModule:() LowHPModule:()
})
LowHPGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) LowHPThreshold = v
})
DeathLogGroup = TrackingTab:()
DeathLogGroup:(, {
Text = ,
Default = ,
Callback = (v)
DeathLogEnabled = v
()
v DeathLogModule:() DeathLogModule:()
})
DeathLogGroup:({
Text = ,
Func = ()
#DeathLogs == (, );
root = ()
root
root.CFrame = DeathLogs[].CFrame
()
(, .. DeathLogs[].Player .. )
})
DeathLogGroup:({
Text = ,
Func = ()
()
i, entry (DeathLogs)
(.(,
i, entry.Time, entry.Player,
entry.IsVoid ,
(entry.Position)))
()
(, #DeathLogs .. )
})
DeathLogGroup:({
Text = ,
Func = ()
.(DeathLogs)
DeathLogs = {}
(, )
})
VisualsTab = Window:()
ESPGroup = VisualsTab:()
ESPGroup:(, {
Text = ,
Default = ,
Callback = (v)
ESPEnabled = v
()
v ESPModule:() ESPModule:()
})
ESPGroup:(, {
Text = ,
Default = ,
Callback = (v) ESPShowDistance = v
})
ESPGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) ESPFontSize = v
})
ESPGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) ESPYOffset = v
})
ESPGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v)
ESPFillTransparency = v
_, data (ESPObjects)
data.Highlight data.Highlight.Parent data.Highlight.FillTransparency = v
})
NPCGroup = VisualsTab:()
NPCGroup:(, {
Text = ,
Default = ,
Callback = (v)
NPCESPEnabled = v
()
v NPCESPModule:() NPCESPModule:()
})
NPCGroup:({
Text = ,
Func = ()
NPCESPModule:()
(, #NPCESPObjects .. )
})
WorldGroup = VisualsTab:()
WorldGroup:(, {
Text = ,
Default = ,
Callback = (v)
FullbrightEnabled = v
()
v () ()
})
WorldGroup:(, {
Text = ,
Default = ,
Callback = (v) Lighting.GlobalShadows = v
})
WorldGroup:(, {
Text = ,
Default = ,
Tooltip = ,
Callback = (v)
PotatoEnabled = v
()
v () ()
})
WorldGroup:({
Text = ,
Func = ()
Lighting.FogEnd = ; Lighting.FogStart =
_, v (Lighting:())
v:() v:()
(, )
()
})
WorldGroup:({
Text = ,
Func = ()
_, v (Lighting:())
v:() v:()
(, )
()
})
CameraGroup = VisualsTab:()
CameraGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v) FOVValue = v; Camera.FieldOfView = v
})
CameraGroup:(, {
Text = ,
Default = , Min = , Max = , Rounding = ,
Callback = (v)
MaxZoomDistance = v
LocalPlayer.CameraMaxZoomDistance = v
})
EvalGroup = VisualsTab:()
EvalGroup:(, {
Default = ,
Numeric = ,
Finished = ,
Text = ,
Placeholder = ,
Callback = (v)
v v ~= (v)
})
EvalGroup:({
Text = ,
Func = ()
()
(, )
})
TeleportTab = Window:()
WPGroup = TeleportTab:( .. MAX_WAYPOINTS .. )
WPGroup:(, {
Default = ,
Numeric = ,
Finished = ,
Text = ,
Placeholder =
})
WPGroup:({
Text = ,
Func = ()
name = Options.WPNameInput.Value
name name == (, );
count =
_ (Waypoints) count +=
Waypoints[name] count >= MAX_WAYPOINTS
(, .. MAX_WAYPOINTS .. );
root = ()
root
Waypoints[name] = root.CFrame
wpNames = {}
n (Waypoints) wpNames[#wpNames + ] = n
Options.WPDropdown:(wpNames)
(, .. name)
()
})
WPGroup:(, {
Values = {},
Default = ,
Multi = ,
Text =
})
WPGroup:({
Text = ,
Func = ()
sel = Options.WPDropdown.Value
sel Waypoints[sel] (, );
root = ()
root
root.CFrame = Waypoints[sel]
()
(, .. sel)
})
WPGroup:({
Text = ,
Func = ()
sel = Options.WPDropdown.Value
sel Waypoints[sel]
Waypoints[sel] =
wpNames = {}
n (Waypoints) wpNames[#wpNames + ] = n
Options.WPDropdown:(wpNames)
(, .. sel)
})
SpawnGroup = TeleportTab:()
SpawnGroup:({
Text = ,
Func = ()
spawns = {}
_, obj (Workspace:())
obj:()
.(spawns, obj:())
#spawns ==
(, )
Options.SpawnDropdown:(spawns)
(, #spawns .. )
()
})
SpawnGroup:(, {
Values = {},
Default = ,
Multi = ,
Text =
})
SpawnGroup:({
Text = ,
Func = ()
sel = Options.SpawnDropdown.Value
sel (, );
success, = (()
( .. sel)()
)
success () == :()
root = ()
root
root.CFrame = .CFrame + .(, , )
BumpTelemetry("TPsPerformed")
Notify("Spawn", "TP'd to spawn!")
end
else
Notify("Spawn", "Could not resolve spawn!")
end
end
})
local PosGroup = TeleportTab:AddRightGroupbox("Position & Axis Tools")
PosGroup:AddButton({
Text = "Copy CFrame to Clipboard",
Func = function()
local root = GetRootPart()
if root then
local cf = root.CFrame
local str = string.format("CFrame.new(%.2f, %.2f, %.2f)", cf.X, cf.Y, cf.Z)
if setclipboard then
setclipboard(str)
Notify("Position", "CFrame copied: " .. str)
else
Notify("Position", "Clipboard not supported!")
end
end
BumpTelemetry("ButtonsPressed")
end
})
PosGroup:AddButton({
Text = "Face North",
Func = function()
local root = GetRootPart()
if root then
root.CFrame = CFrame.new(root.Position) * CFrame.Angles(0, 0, 0)
Notify("Position", "Now facing North!")
end
BumpTelemetry("ButtonsPressed")
end
})
-- ─────────────────────────────────────────────
-- TAB: UTILITIES
-- ─────────────────────────────────────────────
local UtilTab = Window:AddTab("Utilities")
local MiscGroup = UtilTab:AddLeftGroupbox("Miscellaneous")
MiscGroup:AddButton({
Text = "Anti AFK",
Func = function()
local vu = game:GetService("VirtualUser")
RegisterConnection(LocalPlayer.Idled:Connect(function()
vu:Button2Down(Vector2.zero, Camera.CFrame)
task.wait(1)
vu:Button2Up(Vector2.zero, Camera.CFrame)
end))
Notify("Misc", "Anti-AFK enabled!")
BumpTelemetry("ButtonsPressed")
end
})
MiscGroup:AddButton({
Text = "Unlock FPS",
Func = function()
if setfpscap then setfpscap(0); Notify("Misc", "FPS unlocked!")
else Notify("Misc", "Not supported!") end
BumpTelemetry("ButtonsPressed")
end
})
MiscGroup:AddButton({
Text = "Copy Server Link",
Func = function()
if setclipboard then
setclipboard("roblox://experiences/start?placeId=" .. game.PlaceId .. "&gameInstanceId=" .. game.JobId)
Notify("Misc", "Server link copied!")
end
BumpTelemetry("ButtonsPressed")
end
})
MiscGroup:AddButton({
Text = "Rejoin Server",
DoubleClick = true,
Func = function()
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer)
BumpTelemetry("ButtonsPressed")
end
})
local ScriptGroup = UtilTab:AddLeftGroupbox("Script Launchers")
ScriptGroup:AddButton({
Text = "Run Infinite Yield",
Func = function()
BumpTelemetry("ButtonsPressed")
loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
end,
Tooltip = "Loads Infinite Yield admin script"
})
ScriptGroup:AddButton({
Text = "Run UniversalSynSaveInstance",
Func = function()
BumpTelemetry("ButtonsPressed")
loadstring(game:HttpGet("https://raw.githubusercontent.com/luau/SynSaveInstance/main/saveinstance.luau", true))()
end,
Tooltip = "Save game files"
})
local ActivityGroup = UtilTab:AddLeftGroupbox("Player Activity Logger")
ActivityGroup:AddToggle("ActivityLogToggle", {
Text = "Log Player Join/Leave",
Default = false,
Callback = function(v)
ActivityLogEnabled = v
BumpTelemetry("TogglesUsed")
if v then ActivityModule:Enable() else ActivityModule:Disable() end
end
})
local ScanGroup = UtilTab:AddRightGroupbox("Workspace Scanner")
ScanGroup:AddButton({
Text = "Scan Workspace",
Func = function()
local result = ScanWorkspace()
Notify("Scanner", result, 8)
print("═══ WORKSPACE SCAN ═══\n" .. result .. "\n══════════════════════")
BumpTelemetry("ButtonsPressed")
end
})
local PerfGroup = UtilTab:AddRightGroupbox("Live Performance")
PerfGroup:AddToggle("PerfToggle", {
Text = "Live Performance Tracker",
Default = false,
Tooltip = "Prints FPS/Ping/Memory to console every 5s",
Callback = function(v) PerfTrackerEnabled = v; BumpTelemetry("TogglesUsed") end
})
local ChatGroup = UtilTab:AddRightGroupbox("Chat Spam")
ChatGroup:AddInput("ChatMsgInput", {
Default = "Hello!",
Numeric = false,
Finished = false,
Text = "Spam Message",
Placeholder = "Enter message...",
Callback = function(v) ChatSpamMessage = v end
})
ChatGroup:AddSlider("ChatDelaySlider", {
Text = "Delay (seconds)",
Default = 2, Min = 0.5, Max = 30, Rounding = 1,
Callback = function(v) ChatSpamDelay = v end
})
-- PATCH #10: Generation counter to kill stale coroutines
ChatGroup:AddToggle("ChatSpamToggle", {
Text = "Chat Spam",
Default = false,
Callback = function(v)
ChatSpamEnabled = v
BumpTelemetry("TogglesUsed")
if v then
ChatSpamGeneration += 1
local myGen = ChatSpamGeneration
task.spawn(function()
while ChatSpamEnabled and ChatSpamGeneration == myGen do
pcall(function()
local events = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
if events then
local say = events:FindFirstChild("SayMessageRequest")
if say then say:FireServer(ChatSpamMessage, "All") end
end
end)
task.wait(ChatSpamDelay)
end
end)
else
-- Bump generation to kill any running coroutine
ChatSpamGeneration += 1
end
end
})
-- ─────────────────────────────────────────────
-- TAB: SETTINGS
-- ─────────────────────────────────────────────
local SettingsTab = Window:AddTab("Settings")
local MenuGroup = SettingsTab:AddLeftGroupbox("Menu")
MenuGroup:AddToggle("ShowKeybinds", {
Text = "Show Keybind List",
Default = false,
Callback = function(v) Library:SetKeybindVisibility(v) end
})
MenuGroup:AddLabel("Menu Toggle Key"):AddKeyPicker("MenuKeybind", {
Default = "RightControl",
SyncToggleState = false,
Mode = "Toggle",
Text = "Menu Toggle",
})
MenuGroup:AddButton({
Text = "Unload Script",
DoubleClick = true,
Func = function()
-- ═══ FULL CLEANUP ═══
-- Disable all modules
ESPModule:DisableAll()
NPCESPModule:Clear()
FlyModule:Disable()
FloatModule:Disable()
SpectateModule:Disable()
LowHPModule:Disable()
DeathLogModule:Disable()
ActivityModule:Disable()
-- Drawing objects
AimbotModule:DestroyFOVCircle()
-- Visuals
if FullbrightEnabled then DisableFullbright() end
if PotatoEnabled then DisablePotato() end
-- World state
if NoVoidEnabled and NoVoidOriginal then
Workspace.FallenPartsDestroyHeight = NoVoidOriginal
end
if CustomGravityEnabled then Workspace.Gravity = 196.2 end
-- Tools
if TPTool then SafeDestroy(TPTool); TPTool = nil end
-- Instance highlights
ClearInstanceHighlights()
-- Character state
local hum = GetHumanoid()
if hum then
hum.WalkSpeed = 16
hum.JumpPower = 50
hum.MaxSlopeAngle = 89
if GodModeEnabled then
hum.MaxHealth = 100
hum.Health = 100
end
end
-- Kill chat spam coroutine
ChatSpamEnabled = false
ChatSpamGeneration += 1
-- Disconnect ALL registered connections
CleanupAllConnections()
-- Clear data tables
table.clear(DeathLogs)
table.clear(Waypoints)
table.clear(LowHPCooldowns)
Library:Unload()
print("[persistence.win] Fully unloaded — all connections and instances cleaned up.")
end
})
local SoundGroup = SettingsTab:AddLeftGroupbox("Sound Customization")
SoundGroup:AddInput("SoundLowHPInput", {
Default = SoundLowHP,
Numeric = false,
Finished = true,
Text = "Low HP Sound ID",
Callback = function(v) SoundLowHP = v end
})
SoundGroup:AddInput("SoundLeftInput", {
Default = SoundLeft,
Numeric = false,
Finished = true,
Text = "Player Left Sound ID",
Callback = function(v) SoundLeft = v end
})
SoundGroup:AddInput("SoundGeneralInput", {
Default = SoundGeneral,
Numeric = false,
Finished = true,
Text = "General Sound ID",
Callback = function(v) SoundGeneral = v end
})
SoundGroup:AddSlider("SoundVolumeSlider", {
Text = "Sound Volume",
Default = 0.5, Min = 0, Max = 2, Rounding = 2,
Callback = function(v) SoundVolume = v end
})
SoundGroup:AddButton({
Text = "Test Sound",
Func = function() PlaySound(SoundGeneral, SoundVolume) end
})
local TelemetryGroup = SettingsTab:AddRightGroupbox("Telemetry & Stats")
TelemetryGroup:AddToggle("TelemetryToggle", {
Text = "Enable Telemetry Logging",
Default = false,
Callback = function(v) TelemetryEnabled = v end
})
TelemetryGroup:AddButton({
Text = "Print Telemetry to Console (F9)",
Func = function()
local elapsed = os.time() - TelemetryData.SessionStart
local mins = math.floor(elapsed / 60)
print("═══ persistence.win TELEMETRY ═══")
print("Session Duration: " .. mins .. " minutes")
print("Toggles Used: " .. TelemetryData.TogglesUsed)
print("Buttons Pressed: " .. TelemetryData.ButtonsPressed)
print("TPs Performed: " .. TelemetryData.TPsPerformed)
print("Active Connections: " .. #MasterConnections)
print("ESP Objects: " .. (function() local c=0; for _ in pairs(ESPObjects) do c+=1 end; return c end)())
print("NPC ESP Objects: " .. #NPCESPObjects)
print("Death Logs: " .. #DeathLogs)
print("Waypoints: " .. (function() local c=0; for _ in pairs(Waypoints) do c+=1 end; return c end)())
print("═════════════════════════════════")
Notify("Telemetry", "Stats printed to console (F9)")
end
})
local ThemeGroup = SettingsTab:AddRightGroupbox("Theme & Config")
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({"MenuKeybind"})
ThemeManager:SetFolder("PersistenceWin")
SaveManager:SetFolder("PersistenceWin/configs")
SaveManager:BuildConfigSection(SettingsTab)
ThemeManager:ApplyToTab(SettingsTab)
-- ============================================================
-- INPUT CONNECTIONS (all registered)
-- ============================================================
RegisterConnection(UserInputService.JumpRequest:Connect(function()
if InfiniteJumpEnabled then
local hum = GetHumanoid()
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end
end))
RegisterConnection(UserInputService.InputBegan:Connect(function(input, gpe)
if gpe then return end
if ClickTPEnabled and input.UserInputType == Enum.UserInputType.MouseButton1 then
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
local root = GetRootPart()
if root and Mouse.Hit then
root.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0))
BumpTelemetry("TPsPerformed")
end
end
end
if input.KeyCode == Enum.KeyCode.Q then FloatMovingUp = true end
if input.KeyCode == Enum.KeyCode.E then FloatMovingDown = true end
end))
RegisterConnection(UserInputService.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.Q then FloatMovingUp = false end
if input.KeyCode == Enum.KeyCode.E then FloatMovingDown = false end
end))
-- ============================================================
-- PLAYER CONNECTIONS (all registered, keyed per player) — PATCH #16, #17
-- ============================================================
local function SetupPlayerConnections(player)
if player == LocalPlayer then return end
-- PATCH #17: Clean old connections if player somehow re-triggers
CleanupPlayerConnections(player)
RegisterPlayerConnection(player, player.CharacterAdded:Connect(function(char)
task.wait(1)
if ESPEnabled then ESPModule:AttachESP(player) end
-- Re-hook death logger if enabled
if DeathLogEnabled and not DeathConnections[player] then
DeathLogModule:Watch(player)
end
-- Re-hook low HP if enabled
if LowHPEnabled and not LowHPConnections[player] then
LowHPModule:Watch(player)
end
end))
end
for _, player in ipairs(Players:GetPlayers()) do
SetupPlayerConnections(player)
end
RegisterConnection(Players.PlayerAdded:Connect(function(player)
SetupPlayerConnections(player)
if ESPEnabled then
task.wait(1)
ESPModule:CreateESP(player)
end
if DeathLogEnabled then DeathLogModule:Watch(player) end
if LowHPEnabled then LowHPModule:Watch(player) end
end))
RegisterConnection(Players.PlayerRemoving:Connect(function(player)
ESPModule:RemoveESP(player)
CleanupPlayerConnections(player)
DeathLogModule:Unwatch(player)
LowHPModule:Unwatch(player)
-- PATCH #6: Auto-disable latch if target leaves
if LatchEnabled and LatchTarget == player then
LatchEnabled = false
LatchTarget = nil
local mr = GetRootPart()
if mr and LatchOrigin then mr.CFrame = LatchOrigin end
LatchOrigin = nil
if Toggles and Toggles.LatchToggle then Toggles.LatchToggle:SetValue(false) end
Notify("Latch", "Target left, latch disabled — returned to origin")
end
-- PATCH #7: Auto-disable spectate if target leaves
if SpectateEnabled and SpectateTarget == player then
SpectateModule:Disable()
SpectateEnabled = false
if Toggles and Toggles.SpectateToggle then Toggles.SpectateToggle:SetValue(false) end
Notify("Spectate", "Target left, spectate disabled")
end
end))
-- Local player respawn
RegisterConnection(LocalPlayer.CharacterAdded:Connect(function()
task.wait(1)
if FlyEnabled then FlyModule:Enable() end
if FloatEnabled then FloatModule:Enable() end
if SpeedEnabled then
local hum = GetHumanoid()
if hum then hum.WalkSpeed = SpeedValue end
end
if GodModeEnabled then
local hum = GetHumanoid()
if hum then hum.MaxHealth = math.huge; hum.Health = math.huge end
end
if MaxSlopeEnabled then
local hum = GetHumanoid()
if hum then hum.MaxSlopeAngle = 360 end
end
if SpectateEnabled and SpectateTarget then
SpectateModule:CreateBeam()
end
end))
-- ============================================================
-- INITIALIZE AIMBOT
-- ============================================================
AimbotModule:CreateFOVCircle()
-- ============================================================
-- MAIN RENDER LOOP (single connection, registered)
-- ============================================================
local perfPrintTimer = 0
RegisterConnection(RunService.RenderStepped:Connect(function(dt)
-- Speed
if SpeedEnabled then
local hum = GetHumanoid()
if hum then hum.WalkSpeed = SpeedValue end
end
-- Custom Gravity
if CustomGravityEnabled then
Workspace.Gravity = CustomGravityValue
end
-- Instant Stop
InstantStopUpdate()
-- Noclip
NoclipUpdate()
-- Fly
FlyModule:Update()
-- Float Platform
FloatModule:Update()
-- ESP
if ESPEnabled then ESPModule:UpdateESP() end
-- NPC ESP
if NPCESPEnabled then NPCESPModule:Update() end
-- Aimbot
AimbotModule:UpdateFOVCircle()
if AimbotEnabled and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
local target = AimbotModule:GetClosestPlayer()
if target then AimbotModule:AimAt(target) end
end
-- Fullbright maintenance
if FullbrightEnabled then
Lighting.Ambient = Color3.fromRGB(178, 178, 178)
Lighting.Brightness = 2
Lighting.FogEnd = 100000
Lighting.GlobalShadows = false
end
-- PATCH #6: Latch follow with validity check
if LatchEnabled and LatchTarget then
if not LatchTarget.Parent then
-- Player left
LatchEnabled = false
local mr = GetRootPart()
if mr and LatchOrigin then mr.CFrame = LatchOrigin end
LatchTarget = nil; LatchOrigin = nil
if Toggles and Toggles.LatchToggle then Toggles.LatchToggle:SetValue(false) end
else
local myRoot = GetRootPart()
local tChar = LatchTarget.Character
if tChar and myRoot then
local tRoot = tChar:FindFirstChild("HumanoidRootPart")
if tRoot then
myRoot.CFrame = tRoot.CFrame * CFrame.new(0, 0, 3)
end
end
end
end
-- PATCH #7: Spectate validation
SpectateModule:Validate()
-- PATCH #19: Performance tracker using dt instead of RenderStepped:Wait()
if PerfTrackerEnabled then
FPSAccumulator += dt
FPSFrameCount += 1
perfPrintTimer += dt
if perfPrintTimer >= 5 then
perfPrintTimer = 0
local avgFPS = FPSFrameCount > 0 and math.floor(FPSFrameCount / FPSAccumulator) or 0
FPSAccumulator = 0
FPSFrameCount = 0
local ping = 0
pcall(function()
ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue())
end)
local mem = 0
pcall(function()
mem = math.floor(Stats:GetTotalMemoryUsageMb())
end)
warn(string.format("[persistence.win Perf] FPS: %d | Ping: %dms | Memory: %dMB", avgFPS, ping, mem))
end
end
end))
-- ============================================================
-- SET MENU TOGGLE KEYBIND
-- ============================================================
Library.ToggleKeybind = Options.MenuKeybind
-- ============================================================
-- STARTUP
-- ============================================================
Notify("persistence.win", "Loaded! RightControl to toggle menu.", 5)
PlaySound(SoundGeneral, SoundVolume)
print("[persistence.win] All modules loaded successfully!")
print("[persistence.win] join to suggest: discord.gg/MU4W3uPf9p")
print("[persistence.win] credits to ai")
print("Tabs: Movement | Combat | Players | Visuals | Teleport | Utilities | Settings")Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: raw.githubusercontent.com.
no idea if it works; will test when velocity is up. send a message in the discord if there are issues. features: 🏃 Movement Custom WalkSpeed Adjustable slider 0–250 Jump Power Adjustable slider 0–300 Infinite Jump Jump continuously in mid-air Instant Stop Removes sliding/deceleration when releasing keys Custom Gravity Adjustable slider 0–1000 360° MaxSlopeAngle Walk up vertical walls No Void Protection Prevents dying from falling off the map Fly WASD + Space/Shift free-flight with adjustable speed Noclip Walk through walls and objects God Mode (Client) Sets health to infinite (client-side) Float Platform Spawns a platform under you, Q/E to raise/lower Reset Character Double-click to kill yourself ⚔️ Combat Aimbot Hold right-click to auto-aim at closest enemy FOV Circle Visual aimbot radius overlay Smoothing Adjustable aim interpolation Click Teleport Ctrl + Left Click to teleport to cursor TP to Closest Player One-click teleport to nearest enemy TP Tool Equips a click-to-teleport tool in your backpack 👥 Players & Tracking Player Teleport Dropdown to select and TP to any player Latch Onto Player Follow a player, auto-returns you when disabled Spectate Camera View another player's

Universal