
Keyless Patched

-- This WILL NOT WORK ON LOW UNC EXECUTORS LIKE XENO
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local LocalPlayer = Players.LocalPlayer
local Tuning = {
CacheInterval = 0.2,
TeamScanInterval = 0.5,
CleanupInterval = 1.0,
ChamsUpdateInterval = 0.15,
BoxRatio = 0.55,
CornerLength = 10,
TracerThickness = 1.5,
BoxThickness = 1.5,
NameSize = 14,
DistSize = 12,
NameOffset = 18,
DistOffset = 6,
MinBoxSize = 20,
MaxBoxSize = 400,
MenuWidth = 280,
MenuItemHeight = 28,
MenuPadding = 12,
TabHeight = 32
}
local Palette = {
Enemy = Color3.fromRGB(255, 75, 85),
EnemyAlt = Color3.fromRGB(255, 120, 130),
Friendly = Color3.fromRGB(80, 180, 255),
Checking = Color3.fromRGB(150, 150, 150),
Dead = Color3.fromRGB(120, 120, 130),
MenuBg = Color3.fromRGB(18, 18, 22),
MenuPanel = Color3.fromRGB(24, 24, 30),
MenuBorder = Color3.fromRGB(45, 45, 55),
MenuAccent = Color3.fromRGB(255, 75, 85),
MenuAccentDim = Color3.fromRGB(180, 55, 65),
MenuText = Color3.fromRGB(235, 235, 240),
MenuTextDim = Color3.fromRGB(140, 140, 150),
MenuEnabled = Color3.fromRGB(85, 220, 120),
MenuDisabled = Color3.fromRGB(70, 70, 80),
Tracer = Color3.fromRGB(255, 140, 100),
ChamsOutline = Color3.fromRGB(255, 255, 255),
ChamsFill = Color3.fromRGB(255, 75, 85)
}
local Settings = {
ESP_Enabled = true,
ESP_Box = true,
ESP_BoxStyle = 1,
ESP_BoxFill = false,
ESP_Name = true,
ESP_Distance = true,
ESP_Tracer = false,
ESP_TracerOrigin = 1,
ESP_TeamCheck = true,
ESP_Chams = false,
ESP_ChamsOutline = true,
ESP_MaxDistance = 500,
AIM_Enabled = false,
AIM_FOV = 180,
AIM_Smooth = 0.18,
AIM_ShowFOV = true,
AIM_TargetPart = 1,
AIM_TeamCheck = true,
MenuOpen = true
}
local State = {
Unloaded = false,
LastCache = 0,
LastTeamScan = 0,
LastCleanup = 0,
LastChamsUpdate = 0,
CurrentTab = 1,
MenuPos = nil,
MenuDragging = false,
MenuDragOffset = Vector2.zero
}
local Cache = {
Soldiers = {},
Positions = {},
Friendlies = {},
FriendlyScores = {},
ConfirmedEnemies = {},
EnemyConfirmations = {},
FriendlyIndicators = {},
LastFriendlyUpdate = {}
}
local ESP = {
Objects = {},
Pool = {},
PoolIndex = 0
}
local Chams = {
Objects = {}
}
local Menu = {
Drawings = {},
Tabs = {"ESP", "AIM"},
Items = {}
}
local CharacterFolder = nil
local Connections = {}
local function ClampVector2(v, minX, maxX, minY, maxY)
return Vector2.new(
math.clamp(v.X, minX, maxX),
math.clamp(v.Y, minY, maxY)
)
end
local function IsValidModel(model)
if not model or not model.Parent then return false end
local root = model:FindFirstChild("humanoid_root_part")
return root ~= nil and root.Parent ~= nil
end
local function GetRoot(model)
return model:FindFirstChild("humanoid_root_part")
end
local function GetHead(model)
return model:FindFirstChild("head")
end
local function GetTorso(model)
return model:FindFirstChild("torso")
end
local function GetLocalRoot()
local char = LocalPlayer.Character
if not char then return nil end
return char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("humanoid_root_part")
end
local function GetLocalPosition()
local root = GetLocalRoot()
if root then return root.Position end
local cam = Workspace.CurrentCamera
return cam and cam.CFrame.Position or Vector3.zero
end
local function IsLocalPlayer(model)
local char = LocalPlayer.Character
if not char then return false end
if model == char then return true end
local myRoot = GetLocalRoot()
local modelRoot = GetRoot(model)
if myRoot and modelRoot then
return (myRoot.Position - modelRoot.Position).Magnitude < 1
end
return false
end
local function ScanFriendlyIndicators()
Cache.FriendlyIndicators = {}
if not Settings.ESP_TeamCheck then return end
local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
if not playerGui then return end
local count = 0
local maxIndicators = 50
local descendants = playerGui:GetDescendants()
for i = 1, #descendants do
if count >= maxIndicators then break end
local gui = descendants[i]
if not gui:IsA("GuiObject") or not gui.Visible then continue end
local size = gui.AbsoluteSize
if size.X <= 0 or size.Y <= 0 or size.X >= 20 or size.Y >= 20 then continue end
local isIndicator = false
if gui:IsA("Frame") and gui.BackgroundTransparency < 0.9 then
local col = gui.BackgroundColor3
if col.G > 0.5 or col.B > 0.5 then
isIndicator = true
end
elseif gui:IsA("ImageLabel") and gui.ImageTransparency < 0.5 and gui.Image ~= "" then
isIndicator = true
end
if isIndicator then
local pos = gui.AbsolutePosition
Cache.FriendlyIndicators[count + 1] = Vector2.new(pos.X + size.X/2, pos.Y + size.Y/2)
count = count + 1
end
end
end
local function UpdateFriendlyStatus()
if not Settings.ESP_TeamCheck then
return
end
local cam = Workspace.CurrentCamera
if not cam then return end
local processedModels = {}
for model, data in pairs(Cache.Soldiers) do
if not IsValidModel(model) then
Cache.Friendlies[model] = nil
Cache.FriendlyScores[model] = nil
Cache.ConfirmedEnemies[model] = nil
Cache.EnemyConfirmations[model] = nil
continue
end
local root = GetRoot(model)
if not root then continue end
local screenPos, onScreen = cam:WorldToViewportPoint(root.Position)
if Cache.ConfirmedEnemies[model] then
continue
end
if not onScreen or screenPos.Z <= 0 then
local enemyConfirms = Cache.EnemyConfirmations[model] or 0
if enemyConfirms > 0 then
Cache.EnemyConfirmations[model] = enemyConfirms + 1
if Cache.EnemyConfirmations[model] >= 2 then
Cache.ConfirmedEnemies[model] = true
Cache.Friendlies[model] = nil
Cache.EnemyConfirmations[model] = 999
end
end
continue
end
processedModels[model] = true
local screenPos2D = Vector2.new(screenPos.X, screenPos.Y)
local foundIndicator = false
for i = 1, #Cache.FriendlyIndicators do
local indicator = Cache.FriendlyIndicators[i]
local dist = (indicator - screenPos2D).Magnitude
if dist < 120 then
foundIndicator = true
break
end
end
local currentScore = Cache.FriendlyScores[model] or 0
local enemyConfirms = Cache.EnemyConfirmations[model] or 0
if foundIndicator then
currentScore = math.min(currentScore + 2, 8)
enemyConfirms = math.max(enemyConfirms - 2, 0)
else
currentScore = math.max(currentScore - 1, 0)
enemyConfirms = enemyConfirms + 2
end
Cache.FriendlyScores[model] = currentScore
Cache.EnemyConfirmations[model] = enemyConfirms
Cache.LastFriendlyUpdate[model] = tick()
if currentScore >= 3 then
Cache.Friendlies[model] = true
Cache.ConfirmedEnemies[model] = nil
Cache.EnemyConfirmations[model] = 0
elseif enemyConfirms >= 2 then
Cache.Friendlies[model] = nil
Cache.ConfirmedEnemies[model] = true
Cache.EnemyConfirmations[model] = 999
elseif currentScore <= 0 then
Cache.Friendlies[model] = nil
end
end
for model in pairs(Cache.FriendlyScores) do
if not processedModels[model] and Cache.Soldiers[model] then
if not Cache.ConfirmedEnemies[model] then
local lastUpdate = Cache.LastFriendlyUpdate[model] or 0
if tick() - lastUpdate > 2 then
Cache.FriendlyScores[model] = math.max((Cache.FriendlyScores[model] or 0) - 1, 0)
Cache.LastFriendlyUpdate[model] = tick()
if Cache.FriendlyScores[model] <= 0 then
Cache.Friendlies[model] = nil
end
end
end
end
end
end
local function IsFriendly(model)
if not Settings.ESP_TeamCheck then return false end
if Cache.ConfirmedEnemies[model] then return false end
return Cache.Friendlies[model] == true
end
local function IsChecking(model)
if not Settings.ESP_TeamCheck then return false end
if Cache.ConfirmedEnemies[model] then return false end
if Cache.Friendlies[model] == true then return false end
return true
end
local function GetPlayerStatus(model)
if not Settings.ESP_TeamCheck then
return "neutral", Palette.Enemy
end
if Cache.ConfirmedEnemies[model] then
return "enemy", Palette.Enemy
end
if Cache.Friendlies[model] == true then
return "friendly", Palette.Friendly
end
return "checking", Palette.Checking
end
local function CreateESPObject()
local obj = {
Box = {},
Corners = {},
Name = Drawing.new("Text"),
Distance = Drawing.new("Text"),
Tracer = Drawing.new("Line"),
Fill = Drawing.new("Square")
}
for i = 1, 4 do
obj.Box[i] = Drawing.new("Line")
obj.Box[i].Thickness = Tuning.BoxThickness
obj.Box[i].Visible = false
end
for i = 1, 8 do
obj.Corners[i] = Drawing.new("Line")
obj.Corners[i].Thickness = Tuning.BoxThickness
obj.Corners[i].Visible = false
end
obj.Name.Size = Tuning.NameSize
obj.Name.Font = Drawing.Fonts.Plex
obj.Name.Center = true
obj.Name.Outline = true
obj.Name.Visible = false
obj.Distance.Size = Tuning.DistSize
obj.Distance.Font = Drawing.Fonts.Plex
obj.Distance.Center = true
obj.Distance.Outline = true
obj.Distance.Color = Palette.MenuTextDim
obj.Distance.Visible = false
obj.Tracer.Thickness = Tuning.TracerThickness
obj.Tracer.Visible = false
obj.Fill.Filled = true
obj.Fill.Transparency = 0.15
obj.Fill.Visible = false
return obj
end
local function HideESP(obj)
if not obj then return end
for i = 1, 4 do
if obj.Box[i] then obj.Box[i].Visible = false end
end
for i = 1, 8 do
if obj.Corners[i] then obj.Corners[i].Visible = false end
end
if obj.Name then obj.Name.Visible = false end
if obj.Distance then obj.Distance.Visible = false end
if obj.Tracer then obj.Tracer.Visible = false end
if obj.Fill then obj.Fill.Visible = false end
end
local function DestroyESP(obj)
if not obj then return end
pcall(function()
for i = 1, 4 do
if obj.Box[i] then obj.Box[i]:Remove() end
end
for i = 1, 8 do
if obj.Corners[i] then obj.Corners[i]:Remove() end
end
if obj.Name then obj.Name:Remove() end
if obj.Distance then obj.Distance:Remove() end
if obj.Tracer then obj.Tracer:Remove() end
if obj.Fill then obj.Fill:Remove() end
end)
end
local function GetPooledESP()
ESP.PoolIndex = ESP.PoolIndex + 1
if not ESP.Pool[ESP.PoolIndex] then
ESP.Pool[ESP.PoolIndex] = CreateESPObject()
end
return ESP.Pool[ESP.PoolIndex]
end
local function ResetPool()
for i = ESP.PoolIndex + 1, #ESP.Pool do
HideESP(ESP.Pool[i])
end
ESP.PoolIndex = 0
end
local function RenderESP(obj, model, cam, screenSize, screenCenter, myPos)
local root = GetRoot(model)
if not root then
HideESP(obj)
return
end
local rootPos = root.Position
local dist = (rootPos - myPos).Magnitude
if dist > Settings.ESP_MaxDistance then
HideESP(obj)
return
end
local screenPos, onScreen = cam:WorldToViewportPoint(rootPos)
if not onScreen or screenPos.Z <= 0 then
HideESP(obj)
return
end
local baseHeight = 1200 / math.max(screenPos.Z, 1)
local boxH = math.clamp(baseHeight, Tuning.MinBoxSize, Tuning.MaxBoxSize)
local boxW = boxH * Tuning.BoxRatio
local cx, cy = screenPos.X, screenPos.Y
local halfW, halfH = boxW / 2, boxH / 2
local top = cy - halfH * 1.1
local bottom = cy + halfH * 0.9
local left = cx - halfW
local right = cx + halfW
local status, color = GetPlayerStatus(model)
if Settings.ESP_Box then
if Settings.ESP_BoxStyle == 1 then
for i = 1, 8 do obj.Corners[i].Visible = false end
obj.Box[1].From = Vector2.new(left, top)
obj.Box[1].To = Vector2.new(right, top)
obj.Box[2].From = Vector2.new(right, top)
obj.Box[2].To = Vector2.new(right, bottom)
obj.Box[3].From = Vector2.new(right, bottom)
obj.Box[3].To = Vector2.new(left, bottom)
obj.Box[4].From = Vector2.new(left, bottom)
obj.Box[4].To = Vector2.new(left, top)
for i = 1, 4 do
obj.Box[i].Color = color
obj.Box[i].Visible = true
end
else
for i = 1, 4 do obj.Box[i].Visible = false end
local cl = Tuning.CornerLength
obj.Corners[1].From = Vector2.new(left, top)
obj.Corners[1].To = Vector2.new(left + cl, top)
obj.Corners[2].From = Vector2.new(left, top)
obj.Corners[2].To = Vector2.new(left, top + cl)
obj.Corners[3].From = Vector2.new(right, top)
obj.Corners[3].To = Vector2.new(right - cl, top)
obj.Corners[4].From = Vector2.new(right, top)
obj.Corners[4].To = Vector2.new(right, top + cl)
obj.Corners[5].From = Vector2.new(left, bottom)
obj.Corners[5].To = Vector2.new(left + cl, bottom)
obj.Corners[6].From = Vector2.new(left, bottom)
obj.Corners[6].To = Vector2.new(left, bottom - cl)
obj.Corners[7].From = Vector2.new(right, bottom)
obj.Corners[7].To = Vector2.new(right - cl, bottom)
obj.Corners[8].From = Vector2.new(right, bottom)
obj.Corners[8].To = Vector2.new(right, bottom - cl)
for i = 1, 8 do
obj.Corners[i].Color = color
obj.Corners[i].Visible = true
end
end
else
for i = 1, 4 do obj.Box[i].Visible = false end
for i = 1, 8 do obj.Corners[i].Visible = false end
end
if Settings.ESP_BoxFill then
obj.Fill.Position = Vector2.new(left, top)
obj.Fill.Size = Vector2.new(boxW, bottom - top)
obj.Fill.Color = color
obj.Fill.Visible = true
else
obj.Fill.Visible = false
end
if Settings.ESP_Name and Settings.ESP_TeamCheck then
if status == "friendly" then
obj.Name.Text = "FRIENDLY"
elseif status == "checking" then
obj.Name.Text = "CHECKING"
else
obj.Name.Text = "ENEMY"
end
obj.Name.Position = Vector2.new(cx, top - Tuning.NameOffset)
obj.Name.Color = color
obj.Name.Visible = true
else
obj.Name.Visible = false
end
if Settings.ESP_Distance then
obj.Distance.Text = math.floor(dist) .. "m"
obj.Distance.Position = Vector2.new(cx, bottom + Tuning.DistOffset)
obj.Distance.Visible = true
else
obj.Distance.Visible = false
end
if Settings.ESP_Tracer then
local origin
if Settings.ESP_TracerOrigin == 1 then
origin = Vector2.new(screenCenter.X, screenSize.Y)
elseif Settings.ESP_TracerOrigin == 2 then
origin = screenCenter
else
origin = Vector2.new(screenCenter.X, 0)
end
obj.Tracer.From = origin
obj.Tracer.To = Vector2.new(cx, bottom)
obj.Tracer.Color = Palette.Tracer
obj.Tracer.Visible = true
else
obj.Tracer.Visible = false
end
end
local function CreateChams(model)
if Chams.Objects[model] then return end
local h = Instance.new("Highlight")
h.Name = "Highlight"
h.Adornee = model
h.FillColor = Palette.ChamsFill
h.OutlineColor = Palette.ChamsOutline
h.FillTransparency = 0.7
h.OutlineTransparency = Settings.ESP_ChamsOutline and 0 or 1
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.Parent = model
Chams.Objects[model] = h
end
local function UpdateChams(model)
local h = Chams.Objects[model]
if not h or not h.Parent then return end
local status, fillColor = GetPlayerStatus(model)
if not Settings.ESP_TeamCheck then
fillColor = Palette.ChamsFill
elseif status == "friendly" then
fillColor = Palette.Friendly
elseif status == "checking" then
fillColor = Palette.Checking
else
fillColor = Palette.ChamsFill
end
h.FillColor = fillColor
h.OutlineTransparency = Settings.ESP_ChamsOutline and 0 or 1
end
local function RemoveChams(model)
local h = Chams.Objects[model]
if not h then return end
pcall(function() h:Destroy() end)
Chams.Objects[model] = nil
end
local function ClearAllChams()
for model in pairs(Chams.Objects) do
RemoveChams(model)
end
end
local function CacheSoldiers()
if not CharacterFolder then return end
local children = CharacterFolder:GetChildren()
local validModels = {}
local myPos = GetLocalPosition()
local maxDist = Settings.ESP_MaxDistance
for i = 1, #children do
local model = children[i]
if not model:IsA("Model") then continue end
if not IsValidModel(model) then continue end
if IsLocalPlayer(model) then continue end
local root = GetRoot(model)
if root then
local dist = (root.Position - myPos).Magnitude
if dist <= maxDist then
validModels[model] = true
if not Cache.Soldiers[model] then
Cache.Soldiers[model] = { added = tick() }
end
end
end
end
for model in pairs(Cache.Soldiers) do
if not validModels[model] then
Cache.Soldiers[model] = nil
Cache.Friendlies[model] = nil
Cache.FriendlyScores[model] = nil
Cache.ConfirmedEnemies[model] = nil
Cache.EnemyConfirmations[model] = nil
Cache.LastFriendlyUpdate[model] = nil
RemoveChams(model)
end
end
end
local FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 1.5
FOVCircle.NumSides = 64
FOVCircle.Filled = false
FOVCircle.Visible = false
FOVCircle.Color = Palette.MenuAccent
FOVCircle.Transparency = 0.7
local function GetClosestTarget(cam, mousePos)
local closestTarget = nil
local shortestDistance = Settings.AIM_FOV
for model in pairs(Cache.Soldiers) do
if Settings.AIM_TeamCheck and IsFriendly(model) then continue end
if Settings.ESP_TeamCheck and IsChecking(model) then continue end
if not IsValidModel(model) then continue end
local targetPart
if Settings.AIM_TargetPart == 1 then
targetPart = GetHead(model)
elseif Settings.AIM_TargetPart == 2 then
targetPart = GetTorso(model)
else
targetPart = GetRoot(model)
end
if not targetPart then continue end
local screenPos, onScreen = cam:WorldToViewportPoint(targetPart.Position)
if not onScreen or screenPos.Z <= 0 then continue end
local screenDist = (mousePos - Vector2.new(screenPos.X, screenPos.Y)).Magnitude
if screenDist < shortestDistance then
shortestDistance = screenDist
closestTarget = model
end
end
return closestTarget
end
local function ProcessAimbot(cam, screenCenter)
local mousePos = UserInputService:GetMouseLocation()
local isHoldingRMB = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)
FOVCircle.Position = mousePos
FOVCircle.Radius = Settings.AIM_FOV
FOVCircle.Visible = Settings.AIM_Enabled and Settings.AIM_ShowFOV
FOVCircle.Color = isHoldingRMB and Palette.MenuEnabled or Palette.MenuAccent
if not Settings.AIM_Enabled then return end
if not isHoldingRMB then return end
local target = GetClosestTarget(cam, mousePos)
if not target then return end
local targetPart
if Settings.AIM_TargetPart == 1 then
targetPart = target:FindFirstChild("head")
elseif Settings.AIM_TargetPart == 2 then
targetPart = target:FindFirstChild("torso")
else
targetPart = target:FindFirstChild("humanoid_root_part")
end
if not targetPart then return end
local screenPos = cam:WorldToViewportPoint(targetPart.Position)
local delta = Vector2.new(screenPos.X, screenPos.Y) - mousePos
mousemoverel(delta.X * Settings.AIM_Smooth, delta.Y * Settings.AIM_Smooth)
end
local MenuItems = {
{tab = 1, label = "ESP Settings", type = "header"},
{tab = 1, label = "Enable ESP", key = "ESP_Enabled", type = "toggle"},
{tab = 1, label = "Box ESP", key = "ESP_Box", type = "toggle"},
{tab = 1, label = "Box Style", key = "ESP_BoxStyle", type = "dropdown", options = {"Full", "Corner"}, optionCount = 2},
{tab = 1, label = "Box Fill", key = "ESP_BoxFill", type = "toggle"},
{tab = 1, label = "Name", key = "ESP_Name", type = "toggle"},
{tab = 1, label = "Distance", key = "ESP_Distance", type = "toggle"},
{tab = 1, label = "Max Distance", key = "ESP_MaxDistance", type = "slider", min = 500, max = 3000, step = 50},
{tab = 1, label = "Tracer", key = "ESP_Tracer", type = "toggle"},
{tab = 1, label = "Tracer Origin", key = "ESP_TracerOrigin", type = "dropdown", options = {"Bottom", "Center", "Top"}, optionCount = 3},
{tab = 1, label = "Team Check", key = "ESP_TeamCheck", type = "toggle"},
{tab = 1, label = "Chams", type = "header"},
{tab = 1, label = "Enable Chams", key = "ESP_Chams", type = "toggle"},
{tab = 1, label = "Chams Outline", key = "ESP_ChamsOutline", type = "toggle"},
{tab = 2, label = "Aimbot Settings", type = "header"},
{tab = 2, label = "Enable Aimbot", key = "AIM_Enabled", type = "toggle"},
{tab = 2, label = "Show FOV", key = "AIM_ShowFOV", type = "toggle"},
{tab = 2, label = "FOV Size", key = "AIM_FOV", type = "slider", min = 50, max = 400, step = 10},
{tab = 2, label = "Smoothness", key = "AIM_Smooth", type = "slider", min = 0.05, max = 0.5, step = 0.01},
{tab = 2, label = "Target Part", key = "AIM_TargetPart", type = "dropdown", options = {"Head", "Torso", "Root"}, optionCount = 3},
{tab = 2, label = "Team Check", key = "AIM_TeamCheck", type = "toggle"}
}
local function CreateMenuDrawings()
Menu.Drawings.Bg = Drawing.new("Square")
Menu.Drawings.Bg.Filled = true
Menu.Drawings.Bg.Color = Palette.MenuBg
Menu.Drawings.Border = Drawing.new("Square")
Menu.Drawings.Border.Filled = false
Menu.Drawings.Border.Color = Palette.MenuBorder
Menu.Drawings.Border.Thickness = 1
Menu.Drawings.AccentLine = Drawing.new("Line")
Menu.Drawings.AccentLine.Thickness = 2
Menu.Drawings.AccentLine.Color = Palette.MenuAccent
Menu.Drawings.Title = Drawing.new("Text")
Menu.Drawings.Title.Size = 18
Menu.Drawings.Title.Font = Drawing.Fonts.Plex
Menu.Drawings.Title.Color = Palette.MenuAccent
Menu.Drawings.Title.Outline = true
Menu.Drawings.Title.Text = "DEADLINE"
Menu.Drawings.Subtitle = Drawing.new("Text")
Menu.Drawings.Subtitle.Size = 12
Menu.Drawings.Subtitle.Font = Drawing.Fonts.Plex
Menu.Drawings.Subtitle.Color = Palette.MenuTextDim
Menu.Drawings.Subtitle.Outline = true
Menu.Drawings.Subtitle.Text = "by leet"
Menu.Drawings.Tabs = {}
for i = 1, #Menu.Tabs do
Menu.Drawings.Tabs[i] = {
Bg = Drawing.new("Square"),
Label = Drawing.new("Text"),
Indicator = Drawing.new("Square")
}
Menu.Drawings.Tabs[i].Bg.Filled = true
Menu.Drawings.Tabs[i].Label.Size = 14
Menu.Drawings.Tabs[i].Label.Font = Drawing.Fonts.Plex
Menu.Drawings.Tabs[i].Label.Center = true
Menu.Drawings.Tabs[i].Label.Outline = true
Menu.Drawings.Tabs[i].Indicator.Filled = true
Menu.Drawings.Tabs[i].Indicator.Color = Palette.MenuAccent
end
Menu.Drawings.Items = {}
for i = 1, 20 do
Menu.Drawings.Items[i] = {
Bg = Drawing.new("Square"),
Label = Drawing.new("Text"),
Value = Drawing.new("Text"),
Toggle = Drawing.new("Square"),
ToggleKnob = Drawing.new("Circle"),
SliderBg = Drawing.new("Square"),
SliderFill = Drawing.new("Square")
}
local item = Menu.Drawings.Items[i]
item.Bg.Filled = true
item.Label.Size = 14
item.Label.Font = Drawing.Fonts.Plex
item.Label.Outline = true
item.Value.Size = 13
item.Value.Font = Drawing.Fonts.Plex
item.Value.Outline = true
item.Toggle.Filled = true
item.ToggleKnob.Filled = true
item.ToggleKnob.Color = Color3.new(1, 1, 1)
item.ToggleKnob.NumSides = 16
item.SliderBg.Filled = true
item.SliderBg.Color = Palette.MenuDisabled
item.SliderFill.Filled = true
item.SliderFill.Color = Palette.MenuAccent
end
Menu.Drawings.Footer = Drawing.new("Text")
Menu.Drawings.Footer.Size = 11
Menu.Drawings.Footer.Font = Drawing.Fonts.Plex
Menu.Drawings.Footer.Color = Palette.MenuTextDim
Menu.Drawings.Footer.Outline = true
Menu.Drawings.Footer.Text = "[INS] Toggle [HOME] Panic [END] FPS"
end
local function HideMenu()
for name, drawing in pairs(Menu.Drawings) do
if type(drawing) == "table" then
for _, subDrawing in pairs(drawing) do
if type(subDrawing) == "table" then
for _, d in pairs(subDrawing) do
if d and d.Visible ~= nil then d.Visible = false end
end
elseif subDrawing and subDrawing.Visible ~= nil then
subDrawing.Visible = false
end
end
elseif drawing and drawing.Visible ~= nil then
drawing.Visible = false
end
end
end
local function RenderMenu()
if State.Unloaded or not Settings.MenuOpen then
HideMenu()
return
end
local cam = Workspace.CurrentCamera
if not cam then return end
local screenSize = cam.ViewportSize
local menuW = Tuning.MenuWidth
local titleH = 44
local tabH = Tuning.TabHeight
local footerH = 24
local padding = Tuning.MenuPadding
local visibleItems = 0
for _, item in ipairs(MenuItems) do
if item.tab == State.CurrentTab then
visibleItems = visibleItems + 1
end
end
local contentH = visibleItems * Tuning.MenuItemHeight + padding * 2
local menuH = titleH + tabH + contentH + footerH
if not State.MenuPos then
State.MenuPos = Vector2.new(20, screenSize.Y / 2 - menuH / 2)
end
if State.MenuDragging then
local mouse = UserInputService:GetMouseLocation()
State.MenuPos = mouse - State.MenuDragOffset
State.MenuPos = ClampVector2(State.MenuPos, 0, screenSize.X - menuW, 0, screenSize.Y - menuH)
end
local x, y = State.MenuPos.X, State.MenuPos.Y
Menu.Drawings.Bg.Position = Vector2.new(x, y)
Menu.Drawings.Bg.Size = Vector2.new(menuW, menuH)
Menu.Drawings.Bg.Transparency = 0.97
Menu.Drawings.Bg.Visible = true
Menu.Drawings.Border.Position = Vector2.new(x, y)
Menu.Drawings.Border.Size = Vector2.new(menuW, menuH)
Menu.Drawings.Border.Visible = true
Menu.Drawings.AccentLine.From = Vector2.new(x, y)
Menu.Drawings.AccentLine.To = Vector2.new(x + menuW, y)
Menu.Drawings.AccentLine.Visible = true
Menu.Drawings.Title.Position = Vector2.new(x + padding, y + 10)
Menu.Drawings.Title.Visible = true
Menu.Drawings.Subtitle.Position = Vector2.new(x + padding, y + 28)
Menu.Drawings.Subtitle.Visible = true
local tabY = y + titleH
local tabWidth = menuW / #Menu.Tabs
for i, tabName in ipairs(Menu.Tabs) do
local tabX = x + (i - 1) * tabWidth
local isSelected = i == State.CurrentTab
Menu.Drawings.Tabs[i].Bg.Position = Vector2.new(tabX, tabY)
Menu.Drawings.Tabs[i].Bg.Size = Vector2.new(tabWidth, tabH)
Menu.Drawings.Tabs[i].Bg.Color = isSelected and Palette.MenuPanel or Palette.MenuBg
Menu.Drawings.Tabs[i].Bg.Transparency = 0.95
Menu.Drawings.Tabs[i].Bg.Visible = true
Menu.Drawings.Tabs[i].Label.Position = Vector2.new(tabX + tabWidth / 2, tabY + 9)
Menu.Drawings.Tabs[i].Label.Text = tabName
Menu.Drawings.Tabs[i].Label.Color = isSelected and Palette.MenuText or Palette.MenuTextDim
Menu.Drawings.Tabs[i].Label.Visible = true
if isSelected then
Menu.Drawings.Tabs[i].Indicator.Position = Vector2.new(tabX, tabY + tabH - 2)
Menu.Drawings.Tabs[i].Indicator.Size = Vector2.new(tabWidth, 2)
Menu.Drawings.Tabs[i].Indicator.Visible = true
else
Menu.Drawings.Tabs[i].Indicator.Visible = false
end
end
local contentY = y + titleH + tabH + padding
local itemIdx = 0
for _, menuItem in ipairs(MenuItems) do
if menuItem.tab ~= State.CurrentTab then continue end
itemIdx = itemIdx + 1
if itemIdx > 20 then break end
local itemY = contentY + (itemIdx - 1) * Tuning.MenuItemHeight
local item = Menu.Drawings.Items[itemIdx]
item.Bg.Position = Vector2.new(x + padding / 2, itemY)
item.Bg.Size = Vector2.new(menuW - padding, Tuning.MenuItemHeight - 2)
item.Bg.Color = Palette.MenuPanel
item.Bg.Transparency = menuItem.type == "header" and 0.5 or 0.9
item.Bg.Visible = true
item.Label.Position = Vector2.new(x + padding, itemY + 6)
item.Label.Text = menuItem.label
item.Label.Color = menuItem.type == "header" and Palette.MenuAccent or Palette.MenuText
item.Label.Visible = true
if menuItem.type == "toggle" then
local isOn = Settings[menuItem.key]
local toggleX = x + menuW - padding - 36
local toggleY = itemY + 7
item.Toggle.Position = Vector2.new(toggleX, toggleY)
item.Toggle.Size = Vector2.new(32, 14)
item.Toggle.Color = isOn and Palette.MenuEnabled or Palette.MenuDisabled
item.Toggle.Visible = true
local knobX = isOn and (toggleX + 32 - 12) or (toggleX + 2)
item.ToggleKnob.Position = Vector2.new(knobX + 5, toggleY + 7)
item.ToggleKnob.Radius = 5
item.ToggleKnob.Visible = true
item.Value.Visible = false
item.SliderBg.Visible = false
item.SliderFill.Visible = false
elseif menuItem.type == "slider" then
local val = Settings[menuItem.key]
local pct = (val - menuItem.min) / (menuItem.max - menuItem.min)
local valText = menuItem.step < 1 and string.format("%.2f", val) or tostring(math.floor(val))
item.Value.Position = Vector2.new(x + menuW - padding - 35, itemY + 6)
item.Value.Text = valText
item.Value.Color = Palette.MenuTextDim
item.Value.Visible = true
local sliderW = menuW - padding * 2 - 50
item.SliderBg.Position = Vector2.new(x + padding, itemY + Tuning.MenuItemHeight - 6)
item.SliderBg.Size = Vector2.new(sliderW, 3)
item.SliderBg.Visible = true
item.SliderFill.Position = Vector2.new(x + padding, itemY + Tuning.MenuItemHeight - 6)
item.SliderFill.Size = Vector2.new(sliderW * pct, 3)
item.SliderFill.Visible = true
item.Toggle.Visible = false
item.ToggleKnob.Visible = false
elseif menuItem.type == "dropdown" then
local val = Settings[menuItem.key]
local optionText = menuItem.options[val] or "?"
item.Value.Position = Vector2.new(x + menuW - padding - 60, itemY + 6)
item.Value.Text = "< " .. optionText .. " >"
item.Value.Color = Palette.MenuAccent
item.Value.Visible = true
item.Toggle.Visible = false
item.ToggleKnob.Visible = false
item.SliderBg.Visible = false
item.SliderFill.Visible = false
else
item.Value.Visible = false
item.Toggle.Visible = false
item.ToggleKnob.Visible = false
item.SliderBg.Visible = false
item.SliderFill.Visible = false
end
end
for i = itemIdx + 1, 20 do
local item = Menu.Drawings.Items[i]
item.Bg.Visible = false
item.Label.Visible = false
item.Value.Visible = false
item.Toggle.Visible = false
item.ToggleKnob.Visible = false
item.SliderBg.Visible = false
item.SliderFill.Visible = false
end
Menu.Drawings.Footer.Position = Vector2.new(x + padding, y + menuH - footerH + 4)
Menu.Drawings.Footer.Visible = true
end
local function HandleMenuClick(mouse)
if not Settings.MenuOpen or not State.MenuPos then return false end
local x, y = State.MenuPos.X, State.MenuPos.Y
local menuW = Tuning.MenuWidth
local titleH = 44
local tabH = Tuning.TabHeight
local padding = Tuning.MenuPadding
local visibleItems = 0
for _, item in ipairs(MenuItems) do
if item.tab == State.CurrentTab then
visibleItems = visibleItems + 1
end
end
local contentH = visibleItems * Tuning.MenuItemHeight + padding * 2
local menuH = titleH + tabH + contentH + 24
if mouse.X < x or mouse.X > x + menuW or mouse.Y < y or mouse.Y > y + menuH then
return false
end
if mouse.Y >= y and mouse.Y <= y + titleH then
State.MenuDragging = true
State.MenuDragOffset = mouse - State.MenuPos
return true
end
local tabY = y + titleH
if mouse.Y >= tabY and mouse.Y <= tabY + tabH then
local tabWidth = menuW / #Menu.Tabs
for i = 1, #Menu.Tabs do
local tabX = x + (i - 1) * tabWidth
if mouse.X >= tabX and mouse.X <= tabX + tabWidth then
State.CurrentTab = i
return true
end
end
end
local contentY = y + titleH + tabH + padding
local itemIdx = 0
for _, menuItem in ipairs(MenuItems) do
if menuItem.tab ~= State.CurrentTab then continue end
itemIdx = itemIdx + 1
local itemY = contentY + (itemIdx - 1) * Tuning.MenuItemHeight
if mouse.Y >= itemY and mouse.Y <= itemY + Tuning.MenuItemHeight then
if menuItem.type == "toggle" then
Settings[menuItem.key] = not Settings[menuItem.key]
if menuItem.key == "ESP_Chams" and not Settings.ESP_Chams then
ClearAllChams()
end
return true
elseif menuItem.type == "dropdown" then
local current = Settings[menuItem.key]
current = current + 1
if current > menuItem.optionCount then current = 1 end
Settings[menuItem.key] = current
return true
elseif menuItem.type == "slider" then
local sliderX = x + padding
local sliderW = menuW - padding * 2 - 50
local pct = math.clamp((mouse.X - sliderX) / sliderW, 0, 1)
local val = menuItem.min + pct * (menuItem.max - menuItem.min)
val = math.floor(val / menuItem.step + 0.5) * menuItem.step
Settings[menuItem.key] = math.clamp(val, menuItem.min, menuItem.max)
return true
end
end
end
return true
end
local function Unload()
if State.Unloaded then return end
State.Unloaded = true
for name, conn in pairs(Connections) do
pcall(function()
if conn and conn.Disconnect then
conn:Disconnect()
end
end)
end
Connections = {}
for i = 1, #ESP.Pool do
DestroyESP(ESP.Pool[i])
end
ESP.Pool = {}
ClearAllChams()
pcall(function()
if FOVCircle then FOVCircle:Remove() end
end)
pcall(function()
for name, drawing in pairs(Menu.Drawings) do
if type(drawing) == "table" then
for _, subDrawing in pairs(drawing) do
if type(subDrawing) == "table" then
for _, d in pairs(subDrawing) do
if d and d.Remove then d:Remove() end
end
elseif subDrawing and subDrawing.Remove then
subDrawing:Remove()
end
end
elseif drawing and drawing.Remove then
drawing:Remove()
end
end
end)
Cache = {
Soldiers = {},
Positions = {},
Friendlies = {},
FriendlyScores = {},
ConfirmedEnemies = {},
EnemyConfirmations = {},
FriendlyIndicators = {},
LastFriendlyUpdate = {}
}
end
local function MainLoop()
if State.Unloaded then return end
local now = tick()
local cam = Workspace.CurrentCamera
if not cam then return end
local screenSize = cam.ViewportSize
local screenCenter = Vector2.new(screenSize.X / 2, screenSize.Y / 2)
if now - State.LastCache > Tuning.CacheInterval then
State.LastCache = now
CacheSoldiers()
end
if Settings.ESP_TeamCheck and now - State.LastTeamScan > Tuning.TeamScanInterval then
State.LastTeamScan = now
ScanFriendlyIndicators()
UpdateFriendlyStatus()
end
if now - State.LastCleanup > Tuning.CleanupInterval then
State.LastCleanup = now
for model in pairs(Cache.Soldiers) do
if not IsValidModel(model) then
Cache.Soldiers[model] = nil
Cache.Friendlies[model] = nil
Cache.FriendlyScores[model] = nil
Cache.ConfirmedEnemies[model] = nil
Cache.EnemyConfirmations[model] = nil
Cache.LastFriendlyUpdate[model] = nil
RemoveChams(model)
end
end
end
ResetPool()
if Settings.ESP_Enabled then
local myPos = GetLocalPosition()
local maxDistSq = Settings.ESP_MaxDistance * Settings.ESP_MaxDistance
for model in pairs(Cache.Soldiers) do
if not IsValidModel(model) then continue end
if Settings.ESP_TeamCheck and IsFriendly(model) then continue end
local root = GetRoot(model)
if not root then continue end
local rootPos = root.Position
local distVec = rootPos - myPos
local distSq = distVec.X * distVec.X + distVec.Y * distVec.Y + distVec.Z * distVec.Z
if distSq > maxDistSq then continue end
local espObj = GetPooledESP()
RenderESP(espObj, model, cam, screenSize, screenCenter, myPos)
end
end
if Settings.ESP_Chams then
if now - State.LastChamsUpdate > Tuning.ChamsUpdateInterval then
State.LastChamsUpdate = now
for model in pairs(Cache.Soldiers) do
if not IsValidModel(model) then continue end
if Settings.ESP_TeamCheck and IsFriendly(model) then
RemoveChams(model)
continue
end
if not Chams.Objects[model] then
CreateChams(model)
else
UpdateChams(model)
end
end
end
else
if next(Chams.Objects) then
ClearAllChams()
end
end
ProcessAimbot(cam, screenCenter)
RenderMenu()
end
local FPSOptimizer = {
Enabled = false,
LastOptimize = 0,
OptimizeInterval = 3.0
}
local function OptimizeFPS()
if not FPSOptimizer.Enabled then return end
pcall(function()
Lighting.GlobalShadows = false
Lighting.ShadowSoftness = 0
Lighting.Brightness = 1.5
Lighting.FogEnd = 100000
Lighting.FogStart = 0
Lighting.Ambient = Color3.fromRGB(128, 128, 128)
end)
pcall(function()
for _, effect in ipairs(Lighting:GetChildren()) do
if effect:IsA("BlurEffect") or effect:IsA("BloomEffect") or
effect:IsA("DepthOfFieldEffect") or effect:IsA("SunRaysEffect") or
effect:IsA("ColorCorrectionEffect") then
effect.Enabled = false
end
end
end)
pcall(function()
settings().Rendering.QualityLevel = 1
end)
end
local function InitializeFPSOptimizer()
Connections.FPSOptimizer = RunService.Heartbeat:Connect(function()
if FPSOptimizer.Enabled then
local now = tick()
if now - FPSOptimizer.LastOptimize > FPSOptimizer.OptimizeInterval then
OptimizeFPS()
FPSOptimizer.LastOptimize = now
end
end
end)
Connections.WorkspaceDescendantAdded = Workspace.DescendantAdded:Connect(function(descendant)
if FPSOptimizer.Enabled then
pcall(function()
if descendant:IsA("ParticleEmitter") or descendant:IsA("Fire") or descendant:IsA("Smoke") then
descendant.Enabled = false
elseif descendant:IsA("Beam") or descendant:IsA("Trail") then
descendant.Enabled = false
elseif descendant:IsA("Explosion") then
descendant.BlastRadius = 0
end
end)
end
end)
end
local function HandleInput(input, gameProcessed)
if State.Unloaded then return end
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == Enum.KeyCode.Home then
Unload()
return
end
if input.KeyCode == Enum.KeyCode.Insert then
Settings.MenuOpen = not Settings.MenuOpen
return
end
if input.KeyCode == Enum.KeyCode.End then
FPSOptimizer.Enabled = not FPSOptimizer.Enabled
if FPSOptimizer.Enabled then
OptimizeFPS()
end
return
end
end
if input.UserInputType == Enum.UserInputType.MouseButton1 and Settings.MenuOpen then
local mouse = UserInputService:GetMouseLocation()
HandleMenuClick(mouse)
end
end
local function HandleInputEnd(input)
if State.Unloaded then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 then
State.MenuDragging = false
end
end
local function Initialize()
CharacterFolder = Workspace:WaitForChild("characters", 10)
if not CharacterFolder then
warn("Could not find characters folder")
return
end
InitializeFPSOptimizer()
CreateMenuDrawings()
Connections.Render = RunService.RenderStepped:Connect(MainLoop)
Connections.Input = UserInputService.InputBegan:Connect(HandleInput)
Connections.InputEnd = UserInputService.InputEnded:Connect(HandleInputEnd)
Connections.CharacterAdded = LocalPlayer.CharacterAdded:Connect(function()
ClearAllChams()
Cache.Soldiers = {}
Cache.Friendlies = {}
Cache.FriendlyScores = {}
Cache.ConfirmedEnemies = {}
Cache.EnemyConfirmations = {}
Cache.LastFriendlyUpdate = {}
end)
end
Initialize()



SUPER TUFF YOOOO
@transdimensional IT DOESNT work
@qaxlyr ur executor is dog* it works fine on volcano
@qaxlyr does not work on free executors... they do not have the proper drawing libraries.
yo @evildotcom release anbu srces and refresh the * discord invite
@transdimensional these are the anbu sources. discord is dead evil is sunsetting im open sourcing most scripts I dont want to exactly ruin everything for people with paid/key scripts if a method gets patched or detected its not a great time to fix. So I am remaking all of them in a clean UI per script, clean and modular so that anyone can take it and use as a base.
what game is this for
@Verly Deadline
@leet i dont see it on roblox
nvm i found it
omgggg
this does work on xeno you should add silent aim
what executor do you need to have to run?
@Vixi for this one; wave, pot as s ium, volcano works 90% UNC and above, if you are using xeno etc use the other version
tuff asf
if not xeno, which free executors are good?