M
Description
Function: +Aimbot +Esp +Keyless,Open Soucre Join my discord sever to get soucre ( Nah dont need but plz join my discord) Thank :)
GAMEGames Unite Testing Place
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Stats = game:GetService("Stats")
local LocalPlayer = Players.LocalPlayer
local IsStudio = RunService:IsStudio()
local ImGui
if IsStudio then
ImGui = require(ReplicatedStorage.ImGui)
else
local SourceURL = 'https://github.com/depthso/Roblox-ImGUI/raw/main/ImGui.lua'
ImGui = loadstring(game:HttpGet(SourceURL))()
end
local Window = ImGui:CreateWindow({
Title = "Radius Client | Free Edition",
Size = UDim2.new(0, 400, 0, 520),
Position = UDim2.new(0.5, 0, 0, 70)
})
Window:Center()
local ESPTab = Window:CreateTab({
Name = "ESP Settings"
})
local toggles = {
Tracer = true,
Name = true,
Distance = true,
OffScreenArrows = true,
ChamsWallCheck = false,
TeamCheck = true,
HealthBar = true,
MaxDistance = 1500,
VisibleOnly = false
}
local selectedChams = "Default"
local chamsColor = {R = 255, G = 0, B = 0}
local selectedBoxStyle = "Corner"
local standardRobloxESP = false
local radarSettings = {
Enabled = true,
Range = 150,
X = 130,
Y = 160
}
ESPTab:Checkbox({
Label = "Team Check (ESP)",
Value = toggles.TeamCheck,
Callback = function(self, value)
toggles.TeamCheck = value
end
})
ESPTab:Checkbox({
Label = "ESP Visible Only",
Value = toggles.VisibleOnly,
Callback = function(self, value)
toggles.VisibleOnly = value
end
})
ESPTab:Combo({
Label = "Chams Style",
Selected = selectedChams,
Items = {"Off", "Default", "Neon Glow", "ForceField", "Glass", "Outline Only", "Flat Color"},
Callback = function(self, value)
selectedChams = value
end
})
ESPTab:Checkbox({
Label = "Chams Wall Check",
Value = toggles.ChamsWallCheck,
Callback = function(self, value)
toggles.ChamsWallCheck = value
end
})
ESPTab:ProgressSlider({
Label = "Chams Color Red",
CornerRadius = UDim.new(1, 0),
Value = chamsColor.R,
MinValue = 0,
MaxValue = 255,
Callback = function(self, value)
chamsColor.R = value
end
})
ESPTab:ProgressSlider({
Label = "Chams Color Green",
CornerRadius = UDim.new(1, 0),
Value = chamsColor.G,
MinValue = 0,
MaxValue = 255,
Callback = function(self, value)
chamsColor.G = value
end
})
ESPTab:ProgressSlider({
Label = "Chams Color Blue",
CornerRadius = UDim.new(1, 0),
Value = chamsColor.B,
MinValue = 0,
MaxValue = 255,
Callback = function(self, value)
chamsColor.B = value
end
})
ESPTab:Combo({
Label = "Box Style",
Selected = selectedBoxStyle,
Items = {"Off", "Corner", "Full Box"},
Callback = function(self, value)
selectedBoxStyle = value
end
})
ESPTab:Checkbox({
Label = "Health Bar",
Value = toggles.HealthBar,
Callback = function(self, value)
toggles.HealthBar = value
end
})
ESPTab:Checkbox({
Label = "Tracer",
Value = toggles.Tracer,
Callback = function(self, value)
toggles.Tracer = value
end
})
ESPTab:Checkbox({
Label = "Name",
Value = toggles.Name,
Callback = function(self, value)
toggles.Name = value
end
})
ESPTab:Checkbox({
Label = "Distance",
Value = toggles.Distance,
Callback = function(self, value)
toggles.Distance = value
end
})
ESPTab:ProgressSlider({
Label = "ESP Max Distance",
CornerRadius = UDim.new(1, 0),
Value = toggles.MaxDistance,
MinValue = 200,
MaxValue = 5000,
Callback = function(self, value)
toggles.MaxDistance = value
end
})
ESPTab:Checkbox({
Label = "Off-Screen Arrows",
Value = toggles.OffScreenArrows,
Callback = function(self, value)
toggles.OffScreenArrows = value
end
})
ESPTab:Checkbox({
Label = "Enable Radar",
Value = radarSettings.Enabled,
Callback = function(self, value)
radarSettings.Enabled = value
end
})
ESPTab:ProgressSlider({
Label = "Radar Range",
CornerRadius = UDim.new(1, 0),
Value = radarSettings.Range,
MinValue = 50,
MaxValue = 400,
Callback = function(self, value)
radarSettings.Range = value
end
})
ESPTab:ProgressSlider({
Label = "Radar X Position",
CornerRadius = UDim.new(1, 0),
Value = radarSettings.X,
MinValue = 50,
MaxValue = 1200,
Callback = function(self, value)
radarSettings.X = value
end
})
ESPTab:ProgressSlider({
Label = "Radar Y Position",
CornerRadius = UDim.new(1, 0),
Value = radarSettings.Y,
MinValue = 50,
MaxValue = 900,
Callback = function(self, value)
radarSettings.Y = value
end
})
local AimbotTab = Window:CreateTab({
Name = "Aimbot"
})
local aimbotSettings = {
Enabled = false,
TargetPart = "Head",
Smoothness = 5,
ShowFOV = true,
FOVRadius = 150,
FOVFilled = false,
AimCondition = "Always",
AimLine = false,
WallCheck = true,
TeamCheck = true,
AutoFire = false,
AimMethod = "MouseMovement",
Prediction = 0.1
}
AimbotTab:Checkbox({
Label = "Enable Aimbot",
Value = aimbotSettings.Enabled,
Callback = function(self, value)
aimbotSettings.Enabled = value
end
})
AimbotTab:Checkbox({
Label = "Team Check (Aimbot)",
Value = aimbotSettings.TeamCheck,
Callback = function(self, value)
aimbotSettings.TeamCheck = value
end
})
AimbotTab:Checkbox({
Label = "Aim Line",
Value = aimbotSettings.AimLine,
Callback = function(self, value)
aimbotSettings.AimLine = value
end
})
AimbotTab:Checkbox({
Label = "Wall Check",
Value = aimbotSettings.WallCheck,
Callback = function(self, value)
aimbotSettings.WallCheck = value
end
})
AimbotTab:Checkbox({
Label = "Auto Fire",
Value = aimbotSettings.AutoFire,
Callback = function(self, value)
aimbotSettings.AutoFire = value
end
})
AimbotTab:Combo({
Label = "Target Part",
Selected = aimbotSettings.TargetPart,
Items = {"Head", "RootPart"},
Callback = function(self, value)
aimbotSettings.TargetPart = value
end
})
AimbotTab:ProgressSlider({
Label = "Smoothness",
CornerRadius = UDim.new(1, 0),
Value = aimbotSettings.Smoothness,
MinValue = 1,
MaxValue = 20,
Callback = function(self, value)
aimbotSettings.Smoothness = value
end
})
AimbotTab:ProgressSlider({
Label = "Aim Prediction",
CornerRadius = UDim.new(1, 0),
Value = aimbotSettings.Prediction * 10,
MinValue = 0,
MaxValue = 50,
Callback = function(self, value)
aimbotSettings.Prediction = value / 10
end
})
AimbotTab:Checkbox({
Label = "Show FOV",
Value = aimbotSettings.ShowFOV,
Callback = function(self, value)
aimbotSettings.ShowFOV = value
end
})
AimbotTab:Checkbox({
Label = "Filled FOV",
Value = aimbotSettings.FOVFilled,
Callback = function(self, value)
aimbotSettings.FOVFilled = value
end
})
AimbotTab:ProgressSlider({
Label = "FOV Radius",
CornerRadius = UDim.new(1, 0),
Value = aimbotSettings.FOVRadius,
MinValue = 50,
MaxValue = 500,
Callback = function(self, value)
aimbotSettings.FOVRadius = value
end
})
AimbotTab:Combo({
Label = "Aim Condition",
Selected = aimbotSettings.AimCondition,
Items = {"Always", "Fire", "Hold RMB"},
Callback = function(self, value)
aimbotSettings.AimCondition = value
end
})
local MiscTab = Window:CreateTab({
Name = "Misc"
})
local miscSettings = {
Crosshair = false,
CameraFOV = 70,
Watermark = true
}
MiscTab:Checkbox({
Label = "Watermark",
Value = miscSettings.Watermark,
Callback = function(self, value)
miscSettings.Watermark = value
end
})
MiscTab:Checkbox({
Label = "Crosshair",
Value = miscSettings.Crosshair,
Callback = function(self, value)
miscSettings.Crosshair = value
end
})
MiscTab:ProgressSlider({
Label = "Camera FOV",
CornerRadius = UDim.new(1, 0),
Value = miscSettings.CameraFOV,
MinValue = 50,
MaxValue = 120,
Callback = function(self, value)
miscSettings.CameraFOV = value
end
})
local SettingsTab = Window:CreateTab({
Name = "Settings"
})
local Camera = workspace.CurrentCamera
local fovCircle = Drawing.new("Circle")
fovCircle.Visible = false
fovCircle.Color = Color3.fromRGB(255, 255, 255)
fovCircle.Thickness = 1
fovCircle.Filled = false
fovCircle.NumSides = 64
local aimLine = Drawing.new("Line")
aimLine.Visible = false
aimLine.Color = Color3.fromRGB(255, 255, 255)
aimLine.Thickness = 1
local crosshairH = Drawing.new("Line")
crosshairH.Visible = false
crosshairH.Color = Color3.fromRGB(0, 255, 0)
crosshairH.Thickness = 1
local crosshairV = Drawing.new("Line")
crosshairV.Visible = false
crosshairV.Color = Color3.fromRGB(0, 255, 0)
crosshairV.Thickness = 1
local espCountText = Drawing.new("Text")
espCountText.Visible = true
espCountText.Center = true
espCountText.Outline = true
espCountText.Color = Color3.fromRGB(255, 255, 255)
espCountText.Size = 15
local watermarkGui = Instance.new("ScreenGui")
watermarkGui.Name = "RadiusWatermark"
watermarkGui.ResetOnSpawn = false
pcall(function()
watermarkGui.Parent = CoreGui
end)
if not watermarkGui.Parent then
watermarkGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
end
local glowFrame = Instance.new("Frame")
glowFrame.Name = "Glow"
glowFrame.Size = UDim2.new(0, 260, 0, 46)
glowFrame.Position = UDim2.new(1, -275, 0, 15)
glowFrame.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
glowFrame.BackgroundTransparency = 0.8
glowFrame.BorderSizePixel = 0
glowFrame.Parent = watermarkGui
local glowCorner = Instance.new("UICorner")
glowCorner.CornerRadius = UDim.new(0, 12)
glowCorner.Parent = glowFrame
local watermarkBg = Instance.new("Frame")
watermarkBg.Name = "MainFrame"
watermarkBg.Size = UDim2.new(0, 250, 0, 38)
watermarkBg.Position = UDim2.new(1, -270, 0, 19)
watermarkBg.BackgroundColor3 = Color3.fromRGB(12, 12, 16)
watermarkBg.BackgroundTransparency = 0.2
watermarkBg.BorderSizePixel = 0
watermarkBg.Parent = watermarkGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 8)
mainCorner.Parent = watermarkBg
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(0, 170, 255)
mainStroke.Transparency = 0.3
mainStroke.Thickness = 1.5
mainStroke.Parent = watermarkBg
local avatarImage = Instance.new("ImageLabel")
avatarImage.Name = "Avatar"
avatarImage.Size = UDim2.new(0, 26, 0, 26)
avatarImage.Position = UDim2.new(0, 6, 0, 6)
avatarImage.BackgroundTransparency = 1
avatarImage.Image = "https://www.roblox.com/headshot-thumbnail/image?userId=" .. LocalPlayer.UserId .. "&width=420&height=420&format=png"
avatarImage.Parent = watermarkBg
local avatarCorner = Instance.new("UICorner")
avatarCorner.CornerRadius = UDim.new(1, 0)
avatarCorner.Parent = avatarImage
local watermarkText = Instance.new("TextLabel")
watermarkText.Name = "Text"
watermarkText.Size = UDim2.new(1, -40, 1, 0)
watermarkText.Position = UDim2.new(0, 38, 0, 0)
watermarkText.BackgroundTransparency = 1
watermarkText.Font = Enum.Font.GothamSemibold
watermarkText.TextColor3 = Color3.fromRGB(255, 255, 255)
watermarkText.TextSize = 12
watermarkText.TextXAlignment = Enum.TextXAlignment.Left
watermarkText.Text = "Radius Client | FPS: 60 | 0ms"
watermarkText.Parent = watermarkBg
local radarSize = 100
local radarBg = Drawing.new("Circle")
radarBg.Visible = false
radarBg.Radius = radarSize
radarBg.Color = Color3.fromRGB(20, 20, 20)
radarBg.Filled = true
radarBg.Transparency = 0.7
local radarOutline = Drawing.new("Circle")
radarOutline.Visible = false
radarOutline.Radius = radarSize
radarOutline.Color = Color3.fromRGB(255, 255, 255)
radarOutline.Thickness = 1
radarOutline.Filled = false
local radarCrossH = Drawing.new("Line")
radarCrossH.Visible = false
radarCrossH.Color = Color3.fromRGB(60, 60, 60)
radarCrossH.Thickness = 1
local radarCrossV = Drawing.new("Line")
radarCrossV.Visible = false
radarCrossV.Color = Color3.fromRGB(60, 60, 60)
radarCrossV.Thickness = 1
local function rotatePoint(point, center, angle)
local s = math.sin(angle)
local c = math.cos(angle)
local x = point.X - center.X
local y = point.Y - center.Y
return Vector2.new(x * c - y * s + center.X, x * s + y * c + center.Y)
end
local function checkWallVisibility(targetPos, targetModel)
if not aimbotSettings.WallCheck and not toggles.VisibleOnly then return true end
local origin = Camera.CFrame.Position
local result = workspace:Raycast(origin, targetPos - origin)
return result == nil or result.Instance:IsDescendantOf(targetModel)
end
local Client = nil
for _, v in pairs(getgc(true)) do
if type(v) == "table" then
local successUpvalue, players = pcall(function()
return debug.getupvalue(rawget(v, 'new'), 9)
end)
if successUpvalue and players then
Client = { Players = players }
break
end
end
end
local espObjects = {}
local connections = {}
local lastFPSUpdate = 0
local frameCount = 0
local currentFPS = 60
local lastAutoFireTick = 0
table.insert(connections, RunService.RenderStepped:Connect(function(dt)
frameCount = frameCount + 1
if tick() - lastFPSUpdate >= 1 then
currentFPS = frameCount
frameCount = 0
lastFPSUpdate = tick()
end
watermarkGui.Enabled = miscSettings.Watermark
fovCircle.Filled = aimbotSettings.FOVFilled
local ping = 0
pcall(function() ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue()) end)
watermarkText.Text = string.format("Radius Client | FPS: %d | %dms", currentFPS, ping)
pcall(function()
local mouseCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
Camera.FieldOfView = miscSettings.CameraFOV
if miscSettings.Crosshair then
crosshairH.From = Vector2.new(mouseCenter.X - 6, mouseCenter.Y)
crosshairH.To = Vector2.new(mouseCenter.X + 6, mouseCenter.Y)
crosshairH.Visible = true
crosshairV.From = Vector2.new(mouseCenter.X, mouseCenter.Y - 6)
crosshairV.To = Vector2.new(mouseCenter.X, mouseCenter.Y + 6)
crosshairV.Visible = true
else
crosshairH.Visible = false
crosshairV.Visible = false
end
if aimbotSettings.Enabled and aimbotSettings.ShowFOV then
fovCircle.Visible = true
fovCircle.Radius = aimbotSettings.FOVRadius
fovCircle.Position = mouseCenter
else
fovCircle.Visible = false
end
local radarCenter = Vector2.new(radarSettings.X, radarSettings.Y)
if radarSettings.Enabled then
radarBg.Visible = true
radarOutline.Visible = true
radarCrossH.Visible = true
radarCrossV.Visible = true
radarBg.Position = radarCenter
radarOutline.Position = radarCenter
radarBg.Radius = radarSize
radarOutline.Radius = radarSize
radarCrossH.From = Vector2.new(radarCenter.X - radarSize, radarCenter.Y)
radarCrossH.To = Vector2.new(radarCenter.X + radarSize, radarCenter.Y)
radarCrossV.From = Vector2.new(radarCenter.X, radarCenter.Y - radarSize)
radarCrossV.To = Vector2.new(radarCenter.X, radarCenter.Y + radarSize)
else
radarBg.Visible = false
radarOutline.Visible = false
radarCrossH.Visible = false
radarCrossV.Visible = false
end
local canAim = false
if aimbotSettings.AimCondition == "Always" then
canAim = true
elseif aimbotSettings.AimCondition == "Fire" then
canAim = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1)
elseif aimbotSettings.AimCondition == "Hold RMB" then
canAim = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)
end
local activeEspCount = 0
local targetList = {}
if standardRobloxESP then
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Head") then
if not (toggles.TeamCheck and player.Team and player.Team == LocalPlayer.Team) then
local hum = player.Character:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 then
local char = player.Character
local rootPart = char.HumanoidRootPart
local headPart = char.Head
table.insert(targetList, {
Key = player,
Name = player.Name,
Model = char,
RootPos = rootPart.Position,
HeadPos = headPart.Position + Vector3.new(0, 0.6, 0),
LegPos = rootPart.Position - Vector3.new(0, 2.5, 0),
SpecificHeadPos = headPart.Position,
SpecificRootPos = rootPart.Position,
Velocity = rootPart.AssemblyLinearVelocity or rootPart.Velocity,
Dead = false
})
end
end
end
end
else
if Client and Client.Players then
for _, player in pairs(Client.Players) do
local model = player.PlayerModel and player.PlayerModel.Model
if model and not player.Dead and player.Position and player.Position.Magnitude > 5 then
local rootPos = player.Position
local headOffsetMultiplier = 5.5
local legOffsetMultiplier = -1.0
local headP = rootPos + Vector3.new(0, headOffsetMultiplier, 0)
table.insert(targetList, {
Key = player,
Name = player.Name or "Player",
Model = model,
RootPos = rootPos,
HeadPos = headP,
LegPos = rootPos + Vector3.new(0, legOffsetMultiplier, 0),
SpecificHeadPos = headP - Vector3.new(0, 0.8, 0),
SpecificRootPos = rootPos + Vector3.new(0, 3.0, 0),
Velocity = player.Velocity or Vector3.new(),
Dead = player.Dead
})
end
end
end
end
local closestPlayerPart = nil
local closestTargetWorldPos = nil
local shortestDist = math.huge
local localChar = LocalPlayer.Character
local localPos = localChar and localChar:FindFirstChild("HumanoidRootPart") and localChar.HumanoidRootPart.Position or Camera.CFrame.Position
for _, data in ipairs(targetList) do
local playerKey = data.Key
local model = data.Model
local targetPosWorld = (aimbotSettings.TargetPart == "Head") and data.SpecificHeadPos or data.SpecificRootPos
if data.Velocity then
targetPosWorld = targetPosWorld + (data.Velocity * aimbotSettings.Prediction)
end
local proceed = true
if toggles.VisibleOnly and not checkWallVisibility(targetPosWorld, model) then
proceed = false
end
if proceed then
local distToLocal = (data.RootPos - localPos).Magnitude
if distToLocal <= toggles.MaxDistance then
activeEspCount = activeEspCount + 1
if not espObjects[playerKey] then
local highlight = Instance.new("Highlight")
highlight.Parent = model
highlight.FillColor = Color3.fromRGB(chamsColor.R, chamsColor.G, chamsColor.B)
highlight.FillTransparency = 0.3
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.OutlineTransparency = 0
local lines = {}
for i = 1, 8 do
local l = Drawing.new("Line")
l.Visible = false
l.Color = Color3.fromRGB(255, 255, 255)
l.Thickness = 1.5
table.insert(lines, l)
end
local fullBox = Drawing.new("Square")
fullBox.Visible = false
fullBox.Color = Color3.fromRGB(255, 255, 255)
fullBox.Thickness = 1
fullBox.Filled = false
local tracer = Drawing.new("Line")
tracer.Visible = false
tracer.Color = Color3.fromRGB(255, 255, 255)
tracer.Thickness = 1
local nameText = Drawing.new("Text")
nameText.Visible = false
nameText.Center = true
nameText.Outline = true
nameText.Color = Color3.fromRGB(255, 255, 255)
nameText.Size = 14
local distText = Drawing.new("Text")
distText.Visible = false
distText.Center = true
distText.Outline = true
distText.Color = Color3.fromRGB(255, 255, 255)
distText.Size = 13
local radarDot = Drawing.new("Circle")
radarDot.Visible = false
radarDot.Radius = 3
radarDot.Filled = true
radarDot.Color = Color3.fromRGB(255, 50, 50)
local offScreenArrow = Drawing.new("Triangle")
offScreenArrow.Visible = false
offScreenArrow.Color = Color3.fromRGB(255, 50, 50)
offScreenArrow.Filled = true
local offScreenDistText = Drawing.new("Text")
offScreenDistText.Visible = false
offScreenDistText.Center = true
offScreenDistText.Outline = true
offScreenDistText.Color = Color3.fromRGB(255, 255, 255)
offScreenDistText.Size = 12
espObjects[playerKey] = {
Highlight = highlight,
Lines = lines,
FullBox = fullBox,
Tracer = tracer,
NameText = nameText,
DistText = distText,
RadarDot = radarDot,
OffScreenArrow = offScreenArrow,
OffScreenDistText = offScreenDistText
}
end
if espObjects[playerKey].Highlight then
if selectedChams == "Off" then
espObjects[playerKey].Highlight.Enabled = false
else
espObjects[playerKey].Highlight.Enabled = true
espObjects[playerKey].Highlight.FillColor = Color3.fromRGB(chamsColor.R, chamsColor.G, chamsColor.B)
espObjects[playerKey].Highlight.DepthMode = toggles.ChamsWallCheck and Enum.HighlightDepthMode.Occluded or Enum.HighlightDepthMode.AlwaysOnTop
if selectedChams == "Default" then
espObjects[playerKey].Highlight.FillTransparency = 0.3
espObjects[playerKey].Highlight.OutlineTransparency = 0
elseif selectedChams == "Neon Glow" then
espObjects[playerKey].Highlight.FillTransparency = 0.1
espObjects[playerKey].Highlight.OutlineTransparency = 0
elseif selectedChams == "ForceField" then
espObjects[playerKey].Highlight.FillTransparency = 0.5
espObjects[playerKey].Highlight.OutlineTransparency = 0.5
elseif selectedChams == "Glass" then
espObjects[playerKey].Highlight.FillTransparency = 0.7
espObjects[playerKey].Highlight.OutlineTransparency = 0.2
elseif selectedChams == "Outline Only" then
espObjects[playerKey].Highlight.FillTransparency = 1
espObjects[playerKey].Highlight.OutlineTransparency = 0
elseif selectedChams == "Flat Color" then
espObjects[playerKey].Highlight.FillTransparency = 0
espObjects[playerKey].Highlight.OutlineTransparency = 1
end
end
end
local rootPos = data.RootPos
local headPos = data.HeadPos
local legPos = data.LegPos
local headScreen, headOnScreen = Camera:WorldToViewportPoint(headPos)
local legScreen, legOnScreen = Camera:WorldToViewportPoint(legPos)
local rootScreen, rootOnScreen = Camera:WorldToViewportPoint(rootPos)
local screenP, onScr = Camera:WorldToViewportPoint(targetPosWorld)
if onScr then
local screenPos2D = Vector2.new(screenP.X, screenP.Y)
local dist = (screenPos2D - mouseCenter).Magnitude
if aimbotSettings.Enabled then
local passTeamCheckAimbot = true
if aimbotSettings.TeamCheck and typeof(playerKey) == "Instance" and playerKey:IsA("Player") then
if playerKey.Team and playerKey.Team == LocalPlayer.Team then
passTeamCheckAimbot = false
end
end
if passTeamCheckAimbot and dist <= aimbotSettings.FOVRadius and dist < shortestDist then
if checkWallVisibility(targetPosWorld, model) then
shortestDist = dist
closestPlayerPart = screenPos2D
closestTargetWorldPos = targetPosWorld
end
end
end
end
if headOnScreen or legOnScreen then
local height = math.abs(headScreen.Y - legScreen.Y)
local width = height / 2
local x = headScreen.X - width / 2
local y = headScreen.Y
local lineLen = width / 3
if selectedBoxStyle == "Corner" then
local lines = espObjects[playerKey].Lines
lines[1].From = Vector2.new(x, y)
lines[1].To = Vector2.new(x + lineLen, y)
lines[2].From = Vector2.new(x, y)
lines[2].To = Vector2.new(x, y + lineLen)
lines[3].From = Vector2.new(x + width, y)
lines[3].To = Vector2.new(x + width - lineLen, y)
lines[4].From = Vector2.new(x + width, y)
lines[4].To = Vector2.new(x + width, y + lineLen)
lines[5].From = Vector2.new(x, y + height)
lines[5].To = Vector2.new(x + lineLen, y + height)
lines[6].From = Vector2.new(x, y + height)
lines[6].To = Vector2.new(x, y + height - lineLen)
lines[7].From = Vector2.new(x + width, y + height)
lines[7].To = Vector2.new(x + width - lineLen, y + height)
lines[8].From = Vector2.new(x + width, y + height)
lines[8].To = Vector2.new(x + width, y + height - lineLen)
for _, l in ipairs(lines) do
l.Visible = true
end
espObjects[playerKey].FullBox.Visible = false
elseif selectedBoxStyle == "Full Box" then
for _, l in ipairs(espObjects[playerKey].Lines) do
l.Visible = false
end
local fb = espObjects[playerKey].FullBox
fb.Position = Vector2.new(x, y)
fb.Size = Vector2.new(width, height)
fb.Visible = true
else
for _, l in ipairs(espObjects[playerKey].Lines) do
l.Visible = false
end
espObjects[playerKey].FullBox.Visible = false
end
if toggles.Name then
espObjects[playerKey].NameText.Text = data.Name
espObjects[playerKey].NameText.Position = Vector2.new(headScreen.X, y - 16)
espObjects[playerKey].NameText.Visible = true
else
espObjects[playerKey].NameText.Visible = false
end
local bottomOffset = y + height + 2
if toggles.Distance then
local distVal = math.floor((rootPos - Camera.CFrame.Position).Magnitude)
espObjects[playerKey].DistText.Text = tostring(distVal) .. "m"
espObjects[playerKey].DistText.Position = Vector2.new(headScreen.X, bottomOffset)
espObjects[playerKey].DistText.Visible = true
else
espObjects[playerKey].DistText.Visible = false
end
else
for _, l in ipairs(espObjects[playerKey].Lines) do
l.Visible = false
end
espObjects[playerKey].FullBox.Visible = false
espObjects[playerKey].NameText.Visible = false
espObjects[playerKey].DistText.Visible = false
end
if toggles.OffScreenArrows and not rootOnScreen then
local screenPos, onScreen = Camera:WorldToViewportPoint(rootPos)
local diff = Vector2.new(screenPos.X, screenPos.Y) - mouseCenter
if screenPos.Z < 0 then
diff = -diff
end
local angle = math.atan2(diff.Y, diff.X)
local radius = 180
local arrowPos = mouseCenter + Vector2.new(math.cos(angle), math.sin(angle)) * radius
local arrow = espObjects[playerKey].OffScreenArrow
local size = 7
local p1 = arrowPos + Vector2.new(size * 1.5, 0)
local p2 = arrowPos + Vector2.new(-size, size)
local p3 = arrowPos + Vector2.new(-size, -size)
arrow.PointA = rotatePoint(p1, arrowPos, angle)
arrow.PointB = rotatePoint(p2, arrowPos, angle)
arrow.PointC = rotatePoint(p3, arrowPos, angle)
if aimbotSettings.WallCheck then
if checkWallVisibility(targetPosWorld, model) then
arrow.Color = Color3.fromRGB(0, 255, 0)
else
arrow.Color = Color3.fromRGB(255, 0, 0)
end
else
arrow.Color = Color3.fromRGB(255, 50, 50)
end
arrow.Visible = true
local distVal = math.floor((rootPos - Camera.CFrame.Position).Magnitude)
local distTextObj = espObjects[playerKey].OffScreenDistText
distTextObj.Text = tostring(distVal) .. "m"
distTextObj.Position = arrowPos + Vector2.new(0, 12)
distTextObj.Visible = true
else
espObjects[playerKey].OffScreenArrow.Visible = false
espObjects[playerKey].OffScreenDistText.Visible = false
end
if radarSettings.Enabled then
local camCF = Camera.CFrame
local playerPos = rootPos
local relPos = camCF:PointToObjectSpace(playerPos)
local radarRange = radarSettings.Range
local distance2D = Vector2.new(relPos.X, relPos.Z)
if distance2D.Magnitude < radarRange then
local drawX = radarCenter.X + (relPos.X / radarRange) * radarSize
local drawY = radarCenter.Y + (relPos.Z / radarRange) * radarSize
local dot = espObjects[playerKey].RadarDot
dot.Position = Vector2.new(drawX, drawY)
if aimbotSettings.WallCheck then
if checkWallVisibility(targetPosWorld, model) then
dot.Color = Color3.fromRGB(0, 255, 0)
else
dot.Color = Color3.fromRGB(255, 0, 0)
end
else
dot.Color = Color3.fromRGB(255, 50, 50)
end
dot.Visible = true
else
espObjects[playerKey].RadarDot.Visible = false
end
else
espObjects[playerKey].RadarDot.Visible = false
end
if toggles.Tracer and headOnScreen then
local tracer = espObjects[playerKey].Tracer
tracer.From = Vector2.new(Camera.ViewportSize.X / 2, 0)
tracer.To = Vector2.new(headScreen.X, headScreen.Y)
if aimbotSettings.WallCheck then
if checkWallVisibility(targetPosWorld, model) then
tracer.Color = Color3.fromRGB(0, 255, 0)
else
tracer.Color = Color3.fromRGB(255, 0, 0)
end
else
tracer.Color = Color3.fromRGB(255, 255, 255)
end
tracer.Visible = true
else
espObjects[playerKey].Tracer.Visible = false
end
end
end
end
for playerKey, obj in pairs(espObjects) do
local found = false
for _, data in ipairs(targetList) do
if data.Key == playerKey then
found = true
break
end
end
if not found then
if obj.Highlight then obj.Highlight:Destroy() end
if obj.Lines then for _, l in pairs(obj.Lines) do l:Remove() end end
if obj.FullBox then obj.FullBox:Remove() end
if obj.Tracer then obj.Tracer:Remove() end
if obj.NameText then obj.NameText:Remove() end
if obj.DistText then obj.DistText:Remove() end
if obj.RadarDot then obj.RadarDot:Remove() end
if obj.OffScreenArrow then obj.OffScreenArrow:Remove() end
if obj.OffScreenDistText then obj.OffScreenDistText:Remove() end
espObjects[playerKey] = nil
end
end
espCountText.Text = "ESP Count: " .. tostring(activeEspCount)
espCountText.Position = Vector2.new(Camera.ViewportSize.X / 2, 15)
espCountText.Visible = true
if aimbotSettings.Enabled and aimbotSettings.AimLine then
if closestPlayerPart then
aimLine.From = mouseCenter
aimLine.To = closestPlayerPart
aimLine.Visible = true
else
aimLine.From = mouseCenter
aimLine.To = UserInputService:GetMouseLocation()
aimLine.Visible = true
end
else
aimLine.Visible = false
end
if aimbotSettings.Enabled and canAim and closestPlayerPart then
if aimbotSettings.AimMethod == "MouseMovement" and mousemoverel then
local moveDelta = (closestPlayerPart - mouseCenter) / aimbotSettings.Smoothness
mousemoverel(math.round(moveDelta.X), math.round(moveDelta.Y))
end
if aimbotSettings.AutoFire and mouse1click then
if tick() - lastAutoFireTick >= 0.15 then
lastAutoFireTick = tick()
pcall(function()
mouse1click()
end)
end
end
end
end)
end))
SettingsTab:Button({
Label = "Unload Script",
Callback = function()
for _, conn in ipairs(connections) do
conn:Disconnect()
end
pcall(function() fovCircle:Remove() end)
pcall(function() aimLine:Remove() end)
pcall(function() crosshairH:Remove() end)
pcall(function() crosshairV:Remove() end)
pcall(function() espCountText:Remove() end)
pcall(function() watermarkGui:Destroy() end)
pcall(function() radarBg:Remove() end)
pcall(function() radarOutline:Remove() end)
pcall(function() radarCrossH:Remove() end)
pcall(function() radarCrossV:Remove() end)
for player, obj in pairs(espObjects) do
if obj.Highlight then obj.Highlight:Destroy() end
if obj.Lines then for _, l in pairs(obj.Lines) do l:Remove() end end
if obj.FullBox then obj.FullBox:Remove() end
if obj.Tracer then obj.Tracer:Remove() end
if obj.NameText then obj.NameText:Remove() end
if obj.DistText then obj.DistText:Remove() end
if obj.RadarDot then obj.RadarDot:Remove() end
if obj.OffScreenArrow then obj.OffScreenArrow:Remove() end
if obj.OffScreenDistText then obj.OffScreenDistText:Remove() end
end
pcall(function()
Window:Close()
end)
end
})Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place