
Keyless

--This was made for xeno compatibility for a more robust script visit the original
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Config = {
ESP_Enabled = true,
ESP_Box = true,
ESP_BoxStyle = 1,
ESP_Name = true,
ESP_Distance = true,
ESP_Tracer = false,
ESP_TracerOrigin = 1,
ESP_TeamCheck = true,
ESP_MaxDistance = 500,
AIM_Enabled = false,
AIM_FOV = 180,
AIM_Smooth = 0.18,
AIM_ShowFOV = true,
AIM_TargetPart = 1,
AIM_TeamCheck = true,
TRIGGER_Enabled = false,
TRIGGER_Delay = 45,
TRIGGER_HitChance = 100,
TRIGGER_Head = true,
TRIGGER_Chest = true,
TRIGGER_Arms = false,
TRIGGER_Legs = false,
MENU_Open = true,
MENU_Tab = 1
}
local Tuning = {
CacheInterval = 0.2,
TeamScanInterval = 0.5,
BoxRatio = 0.55,
CornerLength = 10,
MinBoxSize = 20,
MaxBoxSize = 400,
NameOffset = 18,
DistOffset = 6
}
local Palette = {
Enemy = Color3.fromRGB(255, 75, 85),
Friendly = Color3.fromRGB(80, 180, 255),
Checking = Color3.fromRGB(150, 150, 150),
MenuBg = Color3.fromRGB(12, 14, 18),
MenuPanel = Color3.fromRGB(18, 22, 28),
MenuBorder = Color3.fromRGB(35, 40, 50),
MenuAccent = Color3.fromRGB(255, 65, 75),
MenuText = Color3.fromRGB(220, 225, 230),
MenuTextDim = Color3.fromRGB(100, 110, 125),
MenuOn = Color3.fromRGB(255, 65, 75),
MenuOff = Color3.fromRGB(40, 45, 55),
MenuHeader = Color3.fromRGB(255, 65, 75),
GraphBg = Color3.fromRGB(8, 10, 14),
GraphLine = Color3.fromRGB(255, 65, 75),
GraphGrid = Color3.fromRGB(25, 30, 38),
Tracer = Color3.fromRGB(255, 140, 100),
FOV_Circle = Color3.fromRGB(255, 65, 75),
FOV_Active = Color3.fromRGB(85, 220, 120)
}
local Timers = {
lastCache = 0,
lastTeamScan = 0,
lastTrigger = 0
}
local Cache = {
Soldiers = {},
Friendlies = {},
FriendlyScores = {},
ConfirmedEnemies = {},
EnemyConfirmations = {},
FriendlyIndicators = {},
myRoot = nil,
myPos = Vector3.zero
}
local CharacterFolder = nil
local Connections = {}
local Unloaded = false
local UI = {}
UI.ScreenGui = Instance.new("ScreenGui")
UI.ScreenGui.Name = "DeadlineXeno"
UI.ScreenGui.ResetOnSpawn = false
UI.ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
UI.ScreenGui.DisplayOrder = 999
UI.ScreenGui.IgnoreGuiInset = true
pcall(function() UI.ScreenGui.Parent = game:GetService("CoreGui") end)
if not UI.ScreenGui.Parent then
UI.ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
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 IsLocalPlayer(model)
local char = LocalPlayer.Character
if not char then return false end
if model == char then return true end
local myRoot = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("humanoid_root_part")
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 Config.ESP_TeamCheck then return end
local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
if not playerGui then return end
local count = 0
for _, gui in ipairs(playerGui:GetDescendants()) do
if count >= 50 then break end
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 Config.ESP_TeamCheck then return end
local cam = Workspace.CurrentCamera
if not cam then return end
for model in pairs(Cache.Soldiers) do
if not IsValidModel(model) then
Cache.Friendlies[model] = nil
Cache.FriendlyScores[model] = nil
Cache.ConfirmedEnemies[model] = nil
continue
end
if Cache.ConfirmedEnemies[model] then continue end
local root = GetRoot(model)
if not root then continue end
local screenPos, onScreen = cam:WorldToViewportPoint(root.Position)
if not onScreen or screenPos.Z <= 0 then
local confirms = Cache.EnemyConfirmations[model] or 0
if confirms > 0 then
Cache.EnemyConfirmations[model] = confirms + 1
if Cache.EnemyConfirmations[model] >= 2 then
Cache.ConfirmedEnemies[model] = true
Cache.Friendlies[model] = nil
end
end
continue
end
local screenPos2D = Vector2.new(screenPos.X, screenPos.Y)
local foundIndicator = false
for i = 1, #Cache.FriendlyIndicators do
if (Cache.FriendlyIndicators[i] - screenPos2D).Magnitude < 120 then
foundIndicator = true
break
end
end
local score = Cache.FriendlyScores[model] or 0
local confirms = Cache.EnemyConfirmations[model] or 0
if foundIndicator then
score = math.min(score + 2, 8)
confirms = math.max(confirms - 2, 0)
else
score = math.max(score - 1, 0)
confirms = confirms + 2
end
Cache.FriendlyScores[model] = score
Cache.EnemyConfirmations[model] = confirms
if score >= 3 then
Cache.Friendlies[model] = true
Cache.ConfirmedEnemies[model] = nil
elseif confirms >= 2 then
Cache.Friendlies[model] = nil
Cache.ConfirmedEnemies[model] = true
elseif score <= 0 then
Cache.Friendlies[model] = nil
end
end
end
local function IsFriendly(model)
if not Config.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 Config.ESP_TeamCheck then return false end
if Cache.ConfirmedEnemies[model] then return false end
if Cache.Friendlies[model] then return false end
return true
end
local function GetPlayerColor(model)
if not Config.ESP_TeamCheck then return Palette.Enemy end
if Cache.ConfirmedEnemies[model] then return Palette.Enemy end
if Cache.Friendlies[model] then return Palette.Friendly end
return Palette.Checking
end
local function GetPlayerStatus(model)
if not Config.ESP_TeamCheck then return "ENEMY" end
if Cache.ConfirmedEnemies[model] then return "ENEMY" end
if Cache.Friendlies[model] then return "FRIENDLY" end
return "CHECKING"
end
local function CacheSoldiers()
if not CharacterFolder then return end
local myChar = LocalPlayer.Character
Cache.myRoot = myChar and (myChar:FindFirstChild("HumanoidRootPart") or myChar:FindFirstChild("humanoid_root_part"))
if Cache.myRoot then
Cache.myPos = Cache.myRoot.Position
else
local cam = Workspace.CurrentCamera
Cache.myPos = cam and cam.CFrame.Position or Vector3.zero
end
local myPos = Cache.myPos
local validModels = {}
for _, model in ipairs(CharacterFolder:GetChildren()) do
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 and (root.Position - myPos).Magnitude <= Config.ESP_MaxDistance then
validModels[model] = true
if not Cache.Soldiers[model] then
Cache.Soldiers[model] = true
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
end
end
end
local ESP = { cache = {} }
local function DrawLine(frame, x1, y1, x2, y2, color, thickness)
thickness = thickness or 1
local dx, dy = x2 - x1, y2 - y1
local length = math.sqrt(dx * dx + dy * dy)
if length < 1 then frame.Visible = false; return end
local cx, cy = (x1 + x2) / 2, (y1 + y2) / 2
local angle = math.deg(math.atan2(dy, dx))
frame.Position = UDim2.new(0, cx, 0, cy)
frame.Size = UDim2.new(0, length, 0, thickness)
frame.Rotation = angle
frame.BackgroundColor3 = color
frame.Visible = true
end
function ESP.Create(model)
if ESP.cache[model] then return end
local boxLines = {}
for i = 1, 4 do
local line = Instance.new("Frame")
line.BackgroundColor3 = Palette.Enemy
line.BorderSizePixel = 0
line.Visible = false
line.Parent = UI.ScreenGui
boxLines[i] = line
end
local corners = {}
for i = 1, 8 do
local c = Instance.new("Frame")
c.BackgroundColor3 = Palette.Enemy
c.BorderSizePixel = 0
c.Visible = false
c.Parent = UI.ScreenGui
corners[i] = c
end
local name = Instance.new("TextLabel")
name.BackgroundTransparency = 1
name.Font = Enum.Font.RobotoMono
name.TextSize = 13
name.TextStrokeTransparency = 0
name.Size = UDim2.new(0, 150, 0, 16)
name.TextXAlignment = Enum.TextXAlignment.Center
name.Visible = false
name.Parent = UI.ScreenGui
local dist = Instance.new("TextLabel")
dist.BackgroundTransparency = 1
dist.Font = Enum.Font.RobotoMono
dist.TextSize = 11
dist.TextColor3 = Palette.MenuTextDim
dist.TextStrokeTransparency = 0
dist.Size = UDim2.new(0, 100, 0, 14)
dist.TextXAlignment = Enum.TextXAlignment.Center
dist.Visible = false
dist.Parent = UI.ScreenGui
local tracer = Instance.new("Frame")
tracer.BackgroundColor3 = Palette.Tracer
tracer.BorderSizePixel = 0
tracer.AnchorPoint = Vector2.new(0.5, 0.5)
tracer.Visible = false
tracer.Parent = UI.ScreenGui
ESP.cache[model] = {
BoxLines = boxLines, Corners = corners,
Name = name, Dist = dist, Tracer = tracer
}
end
function ESP.Hide(esp)
if not esp then return end
for _, line in ipairs(esp.BoxLines) do line.Visible = false end
for _, c in ipairs(esp.Corners) do c.Visible = false end
esp.Name.Visible = false
esp.Dist.Visible = false
esp.Tracer.Visible = false
end
function ESP.Destroy(esp)
if not esp then return end
for _, line in ipairs(esp.BoxLines) do pcall(function() line:Destroy() end) end
for _, c in ipairs(esp.Corners) do pcall(function() c:Destroy() end) end
pcall(function() esp.Name:Destroy() end)
pcall(function() esp.Dist:Destroy() end)
pcall(function() esp.Tracer:Destroy() end)
end
function ESP.HideAll()
for _, esp in pairs(ESP.cache) do ESP.Hide(esp) end
end
function ESP.Cleanup()
local toRemove = {}
for model, esp in pairs(ESP.cache) do
if not Cache.Soldiers[model] then
ESP.Hide(esp)
ESP.Destroy(esp)
toRemove[#toRemove + 1] = model
end
end
for _, model in ipairs(toRemove) do ESP.cache[model] = nil end
end
function ESP.Render(esp, model, cam, screenSize, screenCenter)
local root = GetRoot(model)
if not root then ESP.Hide(esp); return end
local myPos = Cache.myPos
local dist = (root.Position - myPos).Magnitude
if dist > Config.ESP_MaxDistance then ESP.Hide(esp); return end
local screenPos, onScreen = cam:WorldToViewportPoint(root.Position)
if not onScreen or screenPos.Z <= 0 then ESP.Hide(esp); return end
local baseH = 1200 / math.max(screenPos.Z, 1)
local boxH = math.clamp(baseH, 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 color = GetPlayerColor(model)
if Config.ESP_Box then
if Config.ESP_BoxStyle == 1 then
for _, c in ipairs(esp.Corners) do c.Visible = false end
esp.BoxLines[1].Position = UDim2.new(0, left, 0, top)
esp.BoxLines[1].Size = UDim2.new(0, boxW, 0, 1)
esp.BoxLines[2].Position = UDim2.new(0, left, 0, bottom)
esp.BoxLines[2].Size = UDim2.new(0, boxW, 0, 1)
esp.BoxLines[3].Position = UDim2.new(0, left, 0, top)
esp.BoxLines[3].Size = UDim2.new(0, 1, 0, bottom - top)
esp.BoxLines[4].Position = UDim2.new(0, right, 0, top)
esp.BoxLines[4].Size = UDim2.new(0, 1, 0, bottom - top)
for _, line in ipairs(esp.BoxLines) do line.BackgroundColor3 = color; line.Visible = true end
else
for _, line in ipairs(esp.BoxLines) do line.Visible = false end
local clX = math.min(Tuning.CornerLength, boxW * 0.3)
local clY = math.min(Tuning.CornerLength, boxH * 0.2)
esp.Corners[1].Position = UDim2.new(0, left, 0, top)
esp.Corners[1].Size = UDim2.new(0, clX, 0, 1)
esp.Corners[2].Position = UDim2.new(0, left, 0, top)
esp.Corners[2].Size = UDim2.new(0, 1, 0, clY)
esp.Corners[3].Position = UDim2.new(0, right - clX, 0, top)
esp.Corners[3].Size = UDim2.new(0, clX, 0, 1)
esp.Corners[4].Position = UDim2.new(0, right - 1, 0, top)
esp.Corners[4].Size = UDim2.new(0, 1, 0, clY)
esp.Corners[5].Position = UDim2.new(0, left, 0, bottom - 1)
esp.Corners[5].Size = UDim2.new(0, clX, 0, 1)
esp.Corners[6].Position = UDim2.new(0, left, 0, bottom - clY)
esp.Corners[6].Size = UDim2.new(0, 1, 0, clY)
esp.Corners[7].Position = UDim2.new(0, right - clX, 0, bottom - 1)
esp.Corners[7].Size = UDim2.new(0, clX, 0, 1)
esp.Corners[8].Position = UDim2.new(0, right - 1, 0, bottom - clY)
esp.Corners[8].Size = UDim2.new(0, 1, 0, clY)
for _, c in ipairs(esp.Corners) do c.BackgroundColor3 = color; c.Visible = true end
end
else
for _, line in ipairs(esp.BoxLines) do line.Visible = false end
for _, c in ipairs(esp.Corners) do c.Visible = false end
end
if Config.ESP_Name and Config.ESP_TeamCheck then
esp.Name.Text = GetPlayerStatus(model)
esp.Name.Position = UDim2.new(0, cx - 75, 0, top - Tuning.NameOffset)
esp.Name.TextColor3 = color
esp.Name.Visible = true
else
esp.Name.Visible = false
end
if Config.ESP_Distance then
esp.Dist.Text = math.floor(dist) .. "m"
esp.Dist.Position = UDim2.new(0, cx - 50, 0, bottom + Tuning.DistOffset)
esp.Dist.Visible = true
else
esp.Dist.Visible = false
end
if Config.ESP_Tracer then
local originY = Config.ESP_TracerOrigin == 1 and screenSize.Y or (Config.ESP_TracerOrigin == 2 and screenCenter.Y or 0)
DrawLine(esp.Tracer, screenCenter.X, originY, cx, bottom, Palette.Tracer, 1)
else
esp.Tracer.Visible = false
end
end
function ESP.Step(cam, screenSize, screenCenter)
if not Config.ESP_Enabled then ESP.HideAll(); return end
ESP.Cleanup()
for model in pairs(Cache.Soldiers) do
if not IsValidModel(model) then
if ESP.cache[model] then ESP.Hide(ESP.cache[model]) end
elseif Config.ESP_TeamCheck and IsFriendly(model) then
if ESP.cache[model] then ESP.Hide(ESP.cache[model]) end
else
if not ESP.cache[model] then ESP.Create(model) end
ESP.Render(ESP.cache[model], model, cam, screenSize, screenCenter)
end
end
end
local FOVCircle = Instance.new("Frame")
FOVCircle.BackgroundTransparency = 1
FOVCircle.BorderSizePixel = 0
FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5)
FOVCircle.Parent = UI.ScreenGui
local FOVStroke = Instance.new("UIStroke")
FOVStroke.Color = Palette.FOV_Circle
FOVStroke.Thickness = 1
FOVStroke.Parent = FOVCircle
Instance.new("UICorner", FOVCircle).CornerRadius = UDim.new(1, 0)
local Aimbot = { aiming = false, target = nil }
Connections.mb2down = Mouse.Button2Down:Connect(function() Aimbot.aiming = true; Aimbot.target = nil end)
Connections.mb2up = Mouse.Button2Up:Connect(function() Aimbot.aiming = false; Aimbot.target = nil end)
function Aimbot.GetTarget(cam, mousePos)
local best, bestDist = nil, Config.AIM_FOV
for model in pairs(Cache.Soldiers) do
if Config.AIM_TeamCheck and IsFriendly(model) then continue end
if Config.ESP_TeamCheck and IsChecking(model) then continue end
if not IsValidModel(model) then continue end
local part
if Config.AIM_TargetPart == 1 then part = GetHead(model)
elseif Config.AIM_TargetPart == 2 then part = GetTorso(model)
else part = GetRoot(model) end
if not part then continue end
local sp, on = cam:WorldToViewportPoint(part.Position)
if not on or sp.Z <= 0 then continue end
local sDist = (mousePos - Vector2.new(sp.X, sp.Y)).Magnitude
if sDist < bestDist then bestDist = sDist; best = model end
end
return best
end
function Aimbot.Step(cam, screenCenter)
local mousePos = UserInputService:GetMouseLocation()
FOVCircle.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y)
FOVCircle.Size = UDim2.new(0, Config.AIM_FOV * 2, 0, Config.AIM_FOV * 2)
FOVStroke.Color = Aimbot.aiming and Palette.FOV_Active or Palette.FOV_Circle
FOVCircle.Visible = Config.AIM_Enabled and Config.AIM_ShowFOV
if not Config.AIM_Enabled or not Aimbot.aiming then return end
local target = Aimbot.GetTarget(cam, mousePos)
if not target then return end
local part
if Config.AIM_TargetPart == 1 then part = target:FindFirstChild("head")
elseif Config.AIM_TargetPart == 2 then part = target:FindFirstChild("torso")
else part = target:FindFirstChild("humanoid_root_part") end
if not part then return end
local sp = cam:WorldToViewportPoint(part.Position)
local delta = Vector2.new(sp.X, sp.Y) - mousePos
pcall(function()
if mousemoverel then
mousemoverel(delta.X * Config.AIM_Smooth, delta.Y * Config.AIM_Smooth)
end
end)
end
local Trigger = { lastShot = 0 }
function Trigger.Check(cam, mousePos)
local myChar = LocalPlayer.Character
for model in pairs(Cache.Soldiers) do
if Config.AIM_TeamCheck and IsFriendly(model) then continue end
if IsChecking(model) then continue end
if not IsValidModel(model) then continue end
local parts = {}
if Config.TRIGGER_Head then table.insert(parts, "head") end
if Config.TRIGGER_Chest then table.insert(parts, "torso") end
if Config.TRIGGER_Arms then table.insert(parts, "left_arm"); table.insert(parts, "right_arm") end
if Config.TRIGGER_Legs then table.insert(parts, "left_leg"); table.insert(parts, "right_leg") end
for _, pn in ipairs(parts) do
local p = model:FindFirstChild(pn)
if p then
local sp, on = cam:WorldToViewportPoint(p.Position)
if on and sp.Z > 0 and (Vector2.new(sp.X, sp.Y) - mousePos).Magnitude < 35 then
local origin = cam.CFrame.Position
local direction = (p.Position - origin)
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Exclude
rayParams.FilterDescendantsInstances = {myChar, model}
local result = Workspace:Raycast(origin, direction, rayParams)
if not result then
return true
end
end
end
end
end
return false
end
function Trigger.Shoot()
pcall(function() if mouse1click then mouse1click() end end)
pcall(function()
local vim = game:GetService("VirtualInputManager")
vim:SendMouseButtonEvent(0, 0, 0, true, game, 1)
task.wait(0.01)
vim:SendMouseButtonEvent(0, 0, 0, false, game, 1)
end)
end
function Trigger.Step(cam)
if not Config.TRIGGER_Enabled then return end
local now = tick() * 1000
if now - Trigger.lastShot < Config.TRIGGER_Delay then return end
local mousePos = UserInputService:GetMouseLocation()
if Trigger.Check(cam, mousePos) then
if math.random(1, 100) <= Config.TRIGGER_HitChance then
Trigger.Shoot()
Trigger.lastShot = now
end
end
end
local GUI = {
Frame = nil,
Dragging = false,
DragOffset = Vector2.zero,
GraphLines = {},
GraphDots = {}
}
function GUI.CreateSmoothGraph(parent, x, y, w, h)
local graph = Instance.new("Frame")
graph.Name = "Graph"
graph.BackgroundColor3 = Palette.GraphBg
graph.BorderSizePixel = 0
graph.Position = UDim2.new(0, x, 0, y)
graph.Size = UDim2.new(0, w, 0, h)
graph.Parent = parent
Instance.new("UICorner", graph).CornerRadius = UDim.new(0, 4)
local stroke = Instance.new("UIStroke")
stroke.Color = Palette.MenuBorder
stroke.Thickness = 1
stroke.Parent = graph
for i = 1, 4 do
local gridH = Instance.new("Frame")
gridH.BackgroundColor3 = Palette.GraphGrid
gridH.BorderSizePixel = 0
gridH.Position = UDim2.new(0, 0, i/5, 0)
gridH.Size = UDim2.new(1, 0, 0, 1)
gridH.Parent = graph
end
for i = 1, 4 do
local gridV = Instance.new("Frame")
gridV.BackgroundColor3 = Palette.GraphGrid
gridV.BorderSizePixel = 0
gridV.Position = UDim2.new(i/5, 0, 0, 0)
gridV.Size = UDim2.new(0, 1, 1, 0)
gridV.Parent = graph
end
GUI.GraphLines = {}
GUI.GraphDots = {}
for i = 1, 20 do
local line = Instance.new("Frame")
line.Name = "Line" .. i
line.BackgroundColor3 = Palette.GraphLine
line.BorderSizePixel = 0
line.AnchorPoint = Vector2.new(0.5, 0.5)
line.Parent = graph
GUI.GraphLines[i] = line
end
for i = 0, 20 do
local dot = Instance.new("Frame")
dot.Name = "Dot" .. i
dot.BackgroundColor3 = Palette.GraphLine
dot.BorderSizePixel = 0
dot.AnchorPoint = Vector2.new(0.5, 0.5)
dot.Size = UDim2.new(0, 4, 0, 4)
dot.Parent = graph
Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)
GUI.GraphDots[i] = dot
end
return graph
end
function GUI.UpdateGraph(graphFrame)
if not graphFrame then return end
local w = graphFrame.AbsoluteSize.X
local h = graphFrame.AbsoluteSize.Y
if w < 10 or h < 10 then return end
local smooth = Config.AIM_Smooth
local points = {}
for i = 0, 20 do
local x = i / 20
local y = 1 - math.pow(x, 1 / math.max(smooth * 5, 0.1))
y = math.clamp(y, 0, 1)
points[i] = {x = x * w, y = y * (h - 8) + 4}
end
for i, dot in pairs(GUI.GraphDots) do
if points[i] then
dot.Position = UDim2.new(0, points[i].x, 0, points[i].y)
dot.Visible = true
end
end
for i = 1, 20 do
local line = GUI.GraphLines[i]
local p1 = points[i - 1]
local p2 = points[i]
if p1 and p2 then
local dx = p2.x - p1.x
local dy = p2.y - p1.y
local length = math.sqrt(dx * dx + dy * dy)
local angle = math.deg(math.atan2(dy, dx))
local cx = (p1.x + p2.x) / 2
local cy = (p1.y + p2.y) / 2
line.Position = UDim2.new(0, cx, 0, cy)
line.Size = UDim2.new(0, length + 1, 0, 2)
line.Rotation = angle
line.Visible = true
end
end
end
function GUI.CreateToggle(parent, text, key, x, y)
local frame = Instance.new("Frame")
frame.BackgroundTransparency = 1
frame.Position = UDim2.new(0, x, 0, y)
frame.Size = UDim2.new(1, -x - 8, 0, 18)
frame.Parent = parent
local check = Instance.new("Frame")
check.Name = "Check"
check.BackgroundColor3 = Config[key] and Palette.MenuOn or Palette.MenuOff
check.BorderSizePixel = 0
check.Position = UDim2.new(0, 0, 0.5, -6)
check.Size = UDim2.new(0, 12, 0, 12)
check.Parent = frame
Instance.new("UICorner", check).CornerRadius = UDim.new(0, 2)
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Position = UDim2.new(0, 18, 0, 0)
lbl.Size = UDim2.new(1, -18, 1, 0)
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 11
lbl.TextColor3 = Palette.MenuText
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Text = text
lbl.Parent = frame
local btn = Instance.new("TextButton")
btn.BackgroundTransparency = 1
btn.Size = UDim2.new(1, 0, 1, 0)
btn.Text = ""
btn.Parent = frame
btn.MouseButton1Click:Connect(function()
Config[key] = not Config[key]
check.BackgroundColor3 = Config[key] and Palette.MenuOn or Palette.MenuOff
end)
return frame
end
function GUI.CreateSlider(parent, text, key, min, max, step, x, y, w)
local frame = Instance.new("Frame")
frame.BackgroundTransparency = 1
frame.Position = UDim2.new(0, x, 0, y)
frame.Size = UDim2.new(0, w, 0, 32)
frame.Parent = parent
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Size = UDim2.new(1, 0, 0, 14)
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 10
lbl.TextColor3 = Palette.MenuTextDim
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Text = text
lbl.Parent = frame
local valLbl = Instance.new("TextLabel")
valLbl.Name = "Value"
valLbl.BackgroundTransparency = 1
valLbl.Position = UDim2.new(1, -40, 0, 0)
valLbl.Size = UDim2.new(0, 40, 0, 14)
valLbl.Font = Enum.Font.RobotoMono
valLbl.TextSize = 10
valLbl.TextColor3 = Palette.MenuText
valLbl.TextXAlignment = Enum.TextXAlignment.Right
valLbl.Text = step < 1 and string.format("%.2f", Config[key]) or tostring(math.floor(Config[key]))
valLbl.Parent = frame
local track = Instance.new("Frame")
track.Name = "Track"
track.BackgroundColor3 = Palette.MenuOff
track.BorderSizePixel = 0
track.Position = UDim2.new(0, 0, 0, 18)
track.Size = UDim2.new(1, 0, 0, 8)
track.Parent = frame
Instance.new("UICorner", track).CornerRadius = UDim.new(0, 4)
local pct = (Config[key] - min) / (max - min)
local fill = Instance.new("Frame")
fill.Name = "Fill"
fill.BackgroundColor3 = Palette.MenuAccent
fill.BorderSizePixel = 0
fill.Size = UDim2.new(pct, 0, 1, 0)
fill.Parent = track
Instance.new("UICorner", fill).CornerRadius = UDim.new(0, 4)
local dragging = false
track.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end
end)
track.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
Connections["slider_" .. key] = RunService.RenderStepped:Connect(function()
if dragging then
local mx = UserInputService:GetMouseLocation().X
local tx = track.AbsolutePosition.X
local tw = track.AbsoluteSize.X
local p = math.clamp((mx - tx) / tw, 0, 1)
local v = min + p * (max - min)
v = math.floor(v / step + 0.5) * step
Config[key] = math.clamp(v, min, max)
fill.Size = UDim2.new((Config[key] - min) / (max - min), 0, 1, 0)
valLbl.Text = step < 1 and string.format("%.2f", Config[key]) or tostring(math.floor(Config[key]))
if key == "AIM_Smooth" and GUI.GraphFrame then
GUI.UpdateGraph(GUI.GraphFrame)
end
end
end)
return frame
end
function GUI.CreateDropdown(parent, text, key, options, x, y, w)
local frame = Instance.new("Frame")
frame.BackgroundTransparency = 1
frame.Position = UDim2.new(0, x, 0, y)
frame.Size = UDim2.new(0, w, 0, 18)
frame.Parent = parent
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Size = UDim2.new(0.5, 0, 1, 0)
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 10
lbl.TextColor3 = Palette.MenuTextDim
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Text = text
lbl.Parent = frame
local valLbl = Instance.new("TextLabel")
valLbl.Name = "Value"
valLbl.BackgroundTransparency = 1
valLbl.Position = UDim2.new(0.5, 0, 0, 0)
valLbl.Size = UDim2.new(0.5, 0, 1, 0)
valLbl.Font = Enum.Font.Gotham
valLbl.TextSize = 10
valLbl.TextColor3 = Palette.MenuAccent
valLbl.TextXAlignment = Enum.TextXAlignment.Right
valLbl.Text = options[Config[key]] or "?"
valLbl.Parent = frame
local btn = Instance.new("TextButton")
btn.BackgroundTransparency = 1
btn.Size = UDim2.new(1, 0, 1, 0)
btn.Text = ""
btn.Parent = frame
btn.MouseButton1Click:Connect(function()
Config[key] = Config[key] % #options + 1
valLbl.Text = options[Config[key]] or "?"
end)
return frame
end
function GUI.CreatePanel(parent, title, x, y, w, h)
local panel = Instance.new("Frame")
panel.Name = title
panel.BackgroundColor3 = Palette.MenuPanel
panel.BorderSizePixel = 0
panel.Position = UDim2.new(0, x, 0, y)
panel.Size = UDim2.new(0, w, 0, h)
panel.Parent = parent
Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 4)
local stroke = Instance.new("UIStroke")
stroke.Color = Palette.MenuBorder
stroke.Thickness = 1
stroke.Parent = panel
local header = Instance.new("TextLabel")
header.BackgroundTransparency = 1
header.Position = UDim2.new(0, 10, 0, 6)
header.Size = UDim2.new(1, -20, 0, 16)
header.Font = Enum.Font.GothamBold
header.TextSize = 11
header.TextColor3 = Palette.MenuHeader
header.TextXAlignment = Enum.TextXAlignment.Left
header.Text = title
header.Parent = panel
return panel
end
function GUI.Create()
local menuW, menuH = 540, 320
local main = Instance.new("Frame")
main.Name = "Menu"
main.BackgroundColor3 = Palette.MenuBg
main.BorderSizePixel = 0
main.Size = UDim2.new(0, menuW, 0, menuH)
main.Position = UDim2.new(0.5, -menuW/2, 0.5, -menuH/2)
main.Active = true
main.Parent = UI.ScreenGui
GUI.Frame = main
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 6)
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Palette.MenuBorder
mainStroke.Thickness = 1
mainStroke.Parent = main
local header = Instance.new("Frame")
header.Name = "Header"
header.BackgroundColor3 = Palette.MenuPanel
header.BorderSizePixel = 0
header.Size = UDim2.new(1, 0, 0, 28)
header.Parent = main
Instance.new("UICorner", header).CornerRadius = UDim.new(0, 6)
local title = Instance.new("TextLabel")
title.BackgroundTransparency = 1
title.Position = UDim2.new(0, 12, 0, 0)
title.Size = UDim2.new(0, 100, 1, 0)
title.Font = Enum.Font.GothamBold
title.TextSize = 14
title.TextColor3 = Palette.MenuAccent
title.TextXAlignment = Enum.TextXAlignment.Left
title.Text = "DEADLINE"
title.Parent = header
local subtitle = Instance.new("TextLabel")
subtitle.BackgroundTransparency = 1
subtitle.Position = UDim2.new(0, 95, 0, 0)
subtitle.Size = UDim2.new(0, 60, 1, 0)
subtitle.Font = Enum.Font.Gotham
subtitle.TextSize = 10
subtitle.TextColor3 = Palette.MenuTextDim
subtitle.TextXAlignment = Enum.TextXAlignment.Left
subtitle.Text = "by leet"
subtitle.Parent = header
local xenoTag = Instance.new("TextLabel")
xenoTag.BackgroundTransparency = 1
xenoTag.Position = UDim2.new(1, -120, 0, 0)
xenoTag.Size = UDim2.new(0, 50, 1, 0)
xenoTag.Font = Enum.Font.GothamBold
xenoTag.TextSize = 10
xenoTag.TextColor3 = Color3.fromRGB(80, 255, 120)
xenoTag.TextXAlignment = Enum.TextXAlignment.Right
xenoTag.Text = "XENO"
xenoTag.Parent = header
local hotkey = Instance.new("TextLabel")
hotkey.BackgroundTransparency = 1
hotkey.Position = UDim2.new(1, -65, 0, 0)
hotkey.Size = UDim2.new(0, 55, 1, 0)
hotkey.Font = Enum.Font.RobotoMono
hotkey.TextSize = 9
hotkey.TextColor3 = Palette.MenuTextDim
hotkey.TextXAlignment = Enum.TextXAlignment.Right
hotkey.Text = "[INS]"
hotkey.Parent = header
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
GUI.Dragging = true
local mouse = UserInputService:GetMouseLocation()
GUI.DragOffset = mouse - Vector2.new(main.AbsolutePosition.X, main.AbsolutePosition.Y)
end
end)
header.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then GUI.Dragging = false end
end)
local content = Instance.new("Frame")
content.Name = "Content"
content.BackgroundTransparency = 1
content.Position = UDim2.new(0, 10, 0, 36)
content.Size = UDim2.new(1, -20, 1, -60)
content.Parent = main
local aimPanel = GUI.CreatePanel(content, "Aimbot", 0, 0, 170, 230)
GUI.CreateToggle(aimPanel, "Enable", "AIM_Enabled", 10, 28)
GUI.CreateDropdown(aimPanel, "Target", "AIM_TargetPart", {"Head", "Torso", "Root"}, 10, 50, 150)
GUI.CreateSlider(aimPanel, "FOV", "AIM_FOV", 50, 400, 10, 10, 72, 150)
GUI.CreateSlider(aimPanel, "Smooth", "AIM_Smooth", 0.05, 0.5, 0.01, 10, 108, 150)
GUI.GraphFrame = GUI.CreateSmoothGraph(aimPanel, 10, 148, 150, 72)
task.defer(function()
task.wait(0.1)
GUI.UpdateGraph(GUI.GraphFrame)
end)
local triggerPanel = GUI.CreatePanel(content, "Trigger", 180, 0, 170, 230)
GUI.CreateToggle(triggerPanel, "Enable", "TRIGGER_Enabled", 10, 28)
local bodyFrame = Instance.new("Frame")
bodyFrame.BackgroundColor3 = Palette.GraphBg
bodyFrame.BorderSizePixel = 0
bodyFrame.Position = UDim2.new(0, 10, 0, 50)
bodyFrame.Size = UDim2.new(0, 150, 0, 70)
bodyFrame.Parent = triggerPanel
Instance.new("UICorner", bodyFrame).CornerRadius = UDim.new(0, 3)
Instance.new("UIStroke", bodyFrame).Color = Palette.MenuBorder
local bodyParts = {{"Head", "TRIGGER_Head"}, {"Arms", "TRIGGER_Arms"}, {"Chest", "TRIGGER_Chest"}, {"Legs", "TRIGGER_Legs"}}
for i, bp in ipairs(bodyParts) do
local py = 4 + (i - 1) * 16
local check = Instance.new("Frame")
check.BackgroundColor3 = Config[bp[2]] and Palette.MenuOn or Palette.MenuOff
check.BorderSizePixel = 0
check.Position = UDim2.new(0, 6, 0, py + 2)
check.Size = UDim2.new(0, 10, 0, 10)
check.Parent = bodyFrame
Instance.new("UICorner", check).CornerRadius = UDim.new(0, 2)
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Position = UDim2.new(0, 22, 0, py)
lbl.Size = UDim2.new(1, -26, 0, 14)
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 10
lbl.TextColor3 = Palette.MenuText
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Text = bp[1]
lbl.Parent = bodyFrame
local btn = Instance.new("TextButton")
btn.BackgroundTransparency = 1
btn.Position = UDim2.new(0, 0, 0, py)
btn.Size = UDim2.new(1, 0, 0, 14)
btn.Text = ""
btn.Parent = bodyFrame
btn.MouseButton1Click:Connect(function()
Config[bp[2]] = not Config[bp[2]]
check.BackgroundColor3 = Config[bp[2]] and Palette.MenuOn or Palette.MenuOff
end)
end
GUI.CreateSlider(triggerPanel, "Delay", "TRIGGER_Delay", 0, 200, 5, 10, 138, 150)
GUI.CreateSlider(triggerPanel, "Hitchance", "TRIGGER_HitChance", 1, 100, 1, 10, 172, 150)
local espPanel = GUI.CreatePanel(content, "ESP", 360, 0, 160, 230)
GUI.CreateToggle(espPanel, "Enable", "ESP_Enabled", 10, 28)
GUI.CreateToggle(espPanel, "Box", "ESP_Box", 10, 48)
GUI.CreateDropdown(espPanel, "Style", "ESP_BoxStyle", {"Full", "Corner"}, 10, 68, 140)
GUI.CreateToggle(espPanel, "Name", "ESP_Name", 10, 88)
GUI.CreateToggle(espPanel, "Distance", "ESP_Distance", 10, 108)
GUI.CreateToggle(espPanel, "Tracer", "ESP_Tracer", 10, 128)
GUI.CreateToggle(espPanel, "Team Check", "ESP_TeamCheck", 10, 148)
GUI.CreateSlider(espPanel, "Range", "ESP_MaxDistance", 100, 2000, 50, 10, 172, 140)
local footer = Instance.new("Frame")
footer.BackgroundTransparency = 1
footer.Position = UDim2.new(0, 0, 1, -20)
footer.Size = UDim2.new(1, 0, 0, 20)
footer.Parent = main
local panic = Instance.new("TextLabel")
panic.BackgroundTransparency = 1
panic.Position = UDim2.new(0, 12, 0, 0)
panic.Size = UDim2.new(0, 100, 1, 0)
panic.Font = Enum.Font.RobotoMono
panic.TextSize = 10
panic.TextColor3 = Palette.MenuTextDim
panic.TextXAlignment = Enum.TextXAlignment.Left
panic.Text = "[HOME] panic"
panic.Parent = footer
local credit = Instance.new("TextLabel")
credit.BackgroundTransparency = 1
credit.Position = UDim2.new(0, 12, 0, 0)
credit.Size = UDim2.new(1, -24, 1, 0)
credit.Font = Enum.Font.RobotoMono
credit.TextSize = 10
credit.TextColor3 = Palette.MenuTextDim
credit.TextXAlignment = Enum.TextXAlignment.Right
credit.Text = "xan.bar"
credit.Parent = footer
end
function GUI.Step()
if GUI.Dragging then
local mouse = UserInputService:GetMouseLocation()
local newPos = mouse - GUI.DragOffset
GUI.Frame.Position = UDim2.new(0, newPos.X, 0, newPos.Y)
end
end
local function Unload()
if Unloaded then return end
Unloaded = true
for _, c in pairs(Connections) do pcall(function() c:Disconnect() end) end
Connections = {}
for _, esp in pairs(ESP.cache) do ESP.Destroy(esp) end
ESP.cache = {}
pcall(function() UI.ScreenGui:Destroy() end)
end
Connections.input = UserInputService.InputBegan:Connect(function(input, gp)
if input.KeyCode == Enum.KeyCode.Home then Unload(); return end
if input.KeyCode == Enum.KeyCode.Insert and not gp then
Config.MENU_Open = not Config.MENU_Open
if GUI.Frame then GUI.Frame.Visible = Config.MENU_Open end
return
end
end)
Connections.inputUp = UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then GUI.Dragging = false end
end)
Connections.render = RunService.RenderStepped:Connect(function()
if Unloaded then return end
local cam = Workspace.CurrentCamera
if not cam then return end
local screenSize = cam.ViewportSize
local screenCenter = Vector2.new(screenSize.X / 2, screenSize.Y / 2)
local now = tick()
local myChar = LocalPlayer.Character
Cache.myRoot = myChar and (myChar:FindFirstChild("HumanoidRootPart") or myChar:FindFirstChild("humanoid_root_part"))
if Cache.myRoot then
Cache.myPos = Cache.myRoot.Position
else
Cache.myPos = cam.CFrame.Position
end
if now - Timers.lastCache > Tuning.CacheInterval then
Timers.lastCache = now
CacheSoldiers()
end
if Config.ESP_TeamCheck and now - Timers.lastTeamScan > Tuning.TeamScanInterval then
Timers.lastTeamScan = now
ScanFriendlyIndicators()
UpdateFriendlyStatus()
end
pcall(function() ESP.Step(cam, screenSize, screenCenter) end)
pcall(function() Aimbot.Step(cam, screenCenter) end)
pcall(function() Trigger.Step(cam) end)
pcall(GUI.Step)
end)
local function Initialize()
CharacterFolder = Workspace:WaitForChild("characters", 10)
if not CharacterFolder then return end
GUI.Create()
Connections.CharacterAdded = LocalPlayer.CharacterAdded:Connect(function()
Cache.Soldiers = {}
Cache.Friendlies = {}
Cache.FriendlyScores = {}
Cache.ConfirmedEnemies = {}
Cache.EnemyConfirmations = {}
end)
end
Initialize()
WWW i respect your work you open source scripts
the trigger bot is bug, always shoot the wall
@sal22 added a raycast vis check to it. let me know if its better for you thanks
@leet why not make silent aim and speed modifiers?
@wdadsadwasd cause the game would insta ban you. deadline has a very strict anti cheat
@leet not true ive already made them all, including wallbang and tons of others (none of it is detected unless u go over a threshold)
@wdadsadwasd ok then ill look into it i just made a basic esp + aim and left it at that for this
มันใช้งานได้ดี คุณนี้สุดยอดจริงๆทำอะไรแบบนี้ออกมาได้
leet what executor u use? "Vulcano just keeps crashing"
@Toshu I use wave and xeno this one in particularis made for xeno
Made an account just to comment on this its the best script I have seen for this game
Could you make it mobile friendly
@Isucksoihack stay tuned big updates coming soon
@Isucksoihack wdym mobile friendly this game isn’t even for mobile
this guy is insane at making script i hope he or she stay active this is crazy! go LEET!
trash hack