Run it
Copy the script and paste it into your executor.
.SaltyLoop
(() .SaltyLoop:() )
.SaltyLoop =
.FOVCircle
(() .FOVCircle:() )
.FOVCircle =
Players = :()
RunService = :()
UserInputService = :()
Workspace = :()
LocalPlayer = Players.LocalPlayer
Camera = Workspace.CurrentCamera
Settings = {
AimbotEnabled = ,
PlayerTPEnabled = ,
FOV = ,
Smoothness = ,
TargetLock = ,
WallCheck = ,
ESPEnabled = ,
MinMapHeight = -
}
CurrentTarget =
UI_Visible =
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
success, err = (()
ScreenGui.Parent = :()
)
success ScreenGui.Parent
ScreenGui.Parent = LocalPlayer:(, )
FOVCircle =
(()
FOVCircle = .()
FOVCircle.Color = .(, , )
FOVCircle.Thickness =
FOVCircle.NumSides =
FOVCircle.Radius = Settings.FOV
FOVCircle.Filled =
FOVCircle.Visible = Settings.AimbotEnabled
.FOVCircle = FOVCircle
)
(parent, name, pos, size, color)
f = .()
f.Name = name; f.Position = pos; f.Size = size; f.BackgroundColor3 = color
f.BorderSizePixel = ; f.Parent = parent
f
MainMenu = (ScreenGui, , .(, , , ), .(, , , ), .(, , ))
TitleBar = (MainMenu, , .(, , , ), .(, , , ), .(, , ))
tLabel = .()
tLabel.BackgroundTransparency = ; tLabel.Position = .(, , , ); tLabel.Size = .(, -, , )
tLabel.Text = ; tLabel.TextColor3 = .(, , )
tLabel.Font = .Font.SourceSansBold; tLabel.TextSize = ; tLabel.TextXAlignment = .TextXAlignment.Left; tLabel.Parent = TitleBar
OpenBar = .()
OpenBar.Name =
OpenBar.Size = .(, , , )
OpenBar.Position = .(, , , )
OpenBar.BackgroundColor3 = .(, , )
OpenBar.BorderSizePixel =
OpenBar.Text =
OpenBar.TextColor3 = .(, , )
OpenBar.Font = .Font.SourceSansBold
OpenBar.TextSize =
OpenBar.Visible =
OpenBar.Parent = ScreenGui
CloseButton = .()
CloseButton.Name =
CloseButton.Size = .(, , , )
CloseButton.Position = .(, -, , )
CloseButton.BackgroundColor3 = .(, , )
CloseButton.BorderSizePixel =
CloseButton.Text =
CloseButton.TextColor3 = .(, , )
CloseButton.Font = .Font.SourceSansBold
CloseButton.TextSize =
CloseButton.Parent = TitleBar
()
UI_Visible = UI_Visible
MainMenu.Visible = UI_Visible
FOVCircle FOVCircle.Visible = (UI_Visible Settings.AimbotEnabled)
OpenBar.Visible = UI_Visible
CloseButton.MouseButton1Click:(toggleMenuVisibility)
OpenBar.MouseButton1Click:(toggleMenuVisibility)
dragging, dragStart, startPos
TitleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging = ; dragStart = input.Position; startPos = MainMenu.Position
)
UserInputService.InputChanged:((input)
dragging input.UserInputType == .UserInputType.MouseMovement
delta = input.Position - dragStart
MainMenu.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 dragging =
)
layoutY =
(label, settingKey, callback)
btn = .()
btn.Size = .(, -, , ); btn.Position = .(, , , layoutY)
btn.BackgroundColor3 = Settings[settingKey] .(, , ) .(, , )
btn.Text = label .. .. (Settings[settingKey] )
btn.TextColor3 = .(, , ); btn.BorderSizePixel =
btn.Font = .Font.SourceSans; btn.TextSize = ; btn.Parent = MainMenu
btn.MouseButton1Click:(()
Settings[settingKey] = Settings[settingKey]
btn.Text = label .. .. (Settings[settingKey] )
btn.BackgroundColor3 = Settings[settingKey] .(, , ) .(, , )
callback (Settings[settingKey])
)
layoutY = layoutY +
(label, min, max, settingKey, callback)
container = (MainMenu, label.., .(, , , layoutY), .(, -, , ), .(, , ))
txt = .()
txt.BackgroundTransparency = ; txt.Position = .(, , , ); txt.Size = .(, -, , )
txt.Text = label .. .. Settings[settingKey]; txt.TextColor3 = .(, , )
txt.Font = .Font.SourceSansBold; txt.TextSize = ; txt.TextXAlignment = .TextXAlignment.Left; txt.Parent = container
track = .()
track.Name = ; track.Position = .(, , , ); track.Size = .(, -, , )
track.BackgroundColor3 = .(, , ); track.BorderSizePixel = ; track.Text = ; track.Parent = container
fill = (track, , .(, , , ), .((Settings[settingKey]-min)/(max-min), , , ), .(, , ))
isSliding =
(inputObject)
trackWidth = track.AbsoluteSize.X
trackWidth <=
relativeX = inputObject.Position.X - track.AbsolutePosition.X
percentage = .(relativeX / trackWidth, , )
value = .(min + (max - min) * percentage)
Settings[settingKey] = value
txt.Text = label .. .. value
fill.Size = .(percentage, , , )
callback (value)
track.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 isSliding = ; (input)
)
track.InputChanged:((input)
isSliding input.UserInputType == .UserInputType.MouseMovement (input)
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 isSliding =
)
layoutY = layoutY +
(, , (v) FOVCircle FOVCircle.Visible = v UI_Visible )
(, )
(, )
(, )
(, )
(, , , , (v) FOVCircle FOVCircle.Radius = v )
(, , , )
(targetPart)
Settings.WallCheck
origin = Camera.CFrame.Position
direction = targetPart.Position - origin
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = {LocalPlayer.Character, targetPart.Parent}
raycastResult = Workspace:(origin, direction, params)
raycastResult ==
(rootPart)
ray = Ray.(rootPart.Position, .(, -, ))
hitPart, hitPosition = Workspace:(ray, {rootPart.Parent, LocalPlayer.Character})
hitPart ~=
()
mouseLocation = UserInputService:()
CurrentTarget CurrentTarget.Parent CurrentTarget.Parent:() CurrentTarget.Parent.Humanoid.Health >
CurrentTarget.Position.Y > Settings.MinMapHeight (CurrentTarget)
CurrentTarget
closestTarget =
maxDistance = Settings.FOV
_, player (Players:())
player ~= LocalPlayer player.Team ~= LocalPlayer.Team player.Character player.Character:() player.Character.Humanoid.Health >
root = player.Character:()
head = player.Character:()
root head root.Position.Y > Settings.MinMapHeight
(root)
screenPos, onScreen = Camera:(head.Position)
onScreen
dist = (.(screenPos.X, screenPos.Y) - mouseLocation).Magnitude
dist < maxDistance
(head)
maxDistance = dist
closestTarget = root
closestTarget
UserInputService.InputBegan:((input, gameProcessed)
input.KeyCode == .KeyCode.RightShift
()
)
.SaltyLoop = RunService.RenderStepped:(()
mouseLocation = UserInputService:()
FOVCircle FOVCircle.Visible
FOVCircle.Position = mouseLocation
Settings.AimbotEnabled
CurrentTarget = ()
CurrentTarget (CurrentTarget.Position.Y <= Settings.MinMapHeight (CurrentTarget))
CurrentTarget =
CurrentTarget CurrentTarget.Parent CurrentTarget.Parent:()
camPos = Camera.CFrame.Position
targetPos = CurrentTarget.Position
headOffset = .(, , )
finalCFrame = .(camPos, targetPos + headOffset)
Camera.CFrame = Camera.CFrame:(finalCFrame, / Settings.Smoothness)
Settings.PlayerTPEnabled LocalPlayer.Character LocalPlayer.Character:()
rootPart = LocalPlayer.Character.HumanoidRootPart
targetAboveCFrame = CurrentTarget.CFrame * .(, , )
targetAboveCFrame.Position.Y > Settings.MinMapHeight
rootPart.CFrame = rootPart.CFrame:(targetAboveCFrame, )
CurrentTarget =
CurrentTarget =
_, player (Players:())
player ~= LocalPlayer player.Team ~= LocalPlayer.Team player.Character
highlight = player.Character:()
Settings.ESPEnabled
highlight
highlight = .()
highlight.Name =
highlight.FillColor = .(, , )
highlight.OutlineColor = .(, , )
highlight.FillTransparency =
highlight.OutlineTransparency =
highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
highlight.Parent = player.Character
highlight highlight:()
player.Character player.Character:()
player.Character.ESPHighlight:()
)
🔥 SALTY AIM/ESP/TP IS NOW OUT! 🔥 The ultimate FREE & KEYLESS script for Arsenal. No keys, no ads, and completely open-source! ✨ What's Packed Inside: 🎯 Instant Aimbot (Adjustable Smoothness & FOV Radius) 👀 Advanced Player ESP/Chams (Team-Filtered) 🧱 Wall Check Toggle (Choose whether to target through walls or not) 🔒 Sticky Target Lock (Keeps you locked onto your current target) 🚀 Smooth Teleport Tracking (Moves your character above your target while locked) 🛡️ Smart Target Filtering (Ignores dead players and players in the void) 🖥️ Sleek, Draggable GUI with a floating re-open bar ⚡ Fully configurable with simple toggles and sliders 💡 May support other Roblox shooters, but has only been tested on Potassium. Skip the key systems and get straight to using it. Copy, paste, and enjoy! 🚀

Universal