
Keyless VerifiedUniversal

-- 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 ReplicatedStorage = game:GetService("ReplicatedStorage")
local Stats = game:GetService("Stats")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Config = {
ESP_Enabled = true,
ESP_Boxes = true,
ESP_Names = true,
ESP_Distance = true,
ESP_Skeleton = true,
ESP_Weapons = true,
ESP_MaxDist = 2000,
ESP_Offscreen = true,
ESP_AimDir = true,
ESP_LookingAtYou = true,
ESP_Tracers = false,
ESP_Velocity = false,
ESP_Shield = true,
RADAR_Enabled = true,
RADAR_Size = 120,
RADAR_Circle = false,
AIM_Enabled = false,
AIM_FOV = 150,
AIM_Smooth = 15,
AIM_ShowFOV = true,
AIM_WallCheck = true,
AIM_IgnoreShielded = true,
AIM_IgnoreLobby = true,
TRIGGER_Enabled = false,
TRIGGER_Delay = 80,
RAGE_Enabled = false,
RAGE_PrioVisible = true,
RAGE_PrioThreat = true,
RAGE_AutoShoot = true,
MISC_WalkSpeed = 16,
MISC_FOV = 70,
MISC_FullBright = false,
MISC_NoFog = false,
MISC_AutoRespawn = false,
MenuOpen = true
}
local Tuning = {
VisibilityRefreshRate = 0.15,
WeaponRefreshRate = 2.0,
ShieldDuration = 1.5,
BoxWidthRatio = 0.6,
NameOffset = 18,
DistOffset = 4,
WeaponOffset = 8,
LookingOffset = 35,
ShieldOffset = 50,
OffscreenEdgeDist = 50,
OffscreenArrowSize = 12,
AimLineLength = 15,
LookingThreshold = 0.85,
RadarRange = 150,
RadarDotSize = 5,
RadarArrowSize = 8,
TriggerRadius = 30,
RageShootDelay = 80,
RageDistWeight = 100,
RageVisibleWeight = 500,
RageThreatWeight = 300,
RageMaxDist = 500
}
local Bones = {
{"Head", "UpperTorso"},
{"UpperTorso", "LowerTorso"},
{"UpperTorso", "LeftUpperArm"},
{"LeftUpperArm", "LeftLowerArm"},
{"LeftLowerArm", "LeftHand"},
{"UpperTorso", "RightUpperArm"},
{"RightUpperArm", "RightLowerArm"},
{"RightLowerArm", "RightHand"},
{"LowerTorso", "LeftUpperLeg"},
{"LeftUpperLeg", "LeftLowerLeg"},
{"LeftLowerLeg", "LeftFoot"},
{"LowerTorso", "RightUpperLeg"},
{"RightUpperLeg", "RightLowerLeg"},
{"RightLowerLeg", "RightFoot"}
}
local R6Bones = {
{"Head", "Torso"},
{"Torso", "Left Arm"},
{"Torso", "Right Arm"},
{"Torso", "Left Leg"},
{"Torso", "Right Leg"}
}
local Colors = {
Enemy = Color3.fromRGB(255, 50, 50),
EnemyVisible = Color3.fromRGB(0, 255, 0),
Lobby = Color3.fromRGB(150, 150, 150),
Shielded = Color3.fromRGB(255, 200, 0),
Skeleton = Color3.fromRGB(255, 255, 255),
SkeletonVisible = Color3.fromRGB(0, 255, 0),
LookingAtYou = Color3.fromRGB(255, 255, 0),
AimDir = Color3.fromRGB(255, 150, 0),
Weapon = Color3.fromRGB(255, 200, 100),
Tracer = Color3.fromRGB(255, 100, 100),
RadarBg = Color3.fromRGB(20, 20, 20),
RadarBorder = Color3.fromRGB(255, 50, 50),
RadarYou = Color3.fromRGB(0, 255, 0),
RadarEnemy = Color3.fromRGB(255, 50, 50),
MenuBg = Color3.fromRGB(12, 12, 12),
MenuHighlight = Color3.fromRGB(255, 50, 50),
MenuOn = Color3.fromRGB(50, 255, 50),
MenuOff = Color3.fromRGB(80, 80, 80),
MenuText = Color3.fromRGB(150, 150, 150)
}
local Timers = {
lastVisRefresh = 0,
lastWeaponRefresh = 0,
warningEnd = 0
}
local Cache = {
visibility = {},
weapons = {},
shields = {}
}
local OriginalLighting = {
Brightness = game.Lighting.Brightness,
Ambient = game.Lighting.Ambient,
OutdoorAmbient = game.Lighting.OutdoorAmbient,
FogEnd = game.Lighting.FogEnd,
FogStart = game.Lighting.FogStart
}
local Connections = {}
local Unloaded = false
local Team = {}
function Team.getPlayerFromCharacter(char)
for _, p in pairs(Players:GetPlayers()) do
if p.Character == char then return p end
end
return nil
end
function Team.isTeammate(char)
local player = Team.getPlayerFromCharacter(char)
if not player or not LocalPlayer.Team or not player.Team then return false end
return player.Team == LocalPlayer.Team
end
function Team.isInLobby(char)
local player = Team.getPlayerFromCharacter(char)
if not player or not player.Team then return false end
return player.Team.Name == "Lobby"
end
function Team.isShielded(char)
return Cache.shields[char] and tick() < Cache.shields[char]
end
function Team.applyShield(char)
Cache.shields[char] = tick() + Tuning.ShieldDuration
end
local Util = {}
function Util.isVisible(character)
if not character then return false end
local cam = workspace.CurrentCamera
if not cam then return false end
local origin = cam.CFrame.Position
local parts = {"Head", "UpperTorso", "Torso", "HumanoidRootPart"}
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Blacklist
local filter = {cam}
if LocalPlayer.Character then table.insert(filter, LocalPlayer.Character) end
table.insert(filter, character)
rayParams.FilterDescendantsInstances = filter
for _, partName in pairs(parts) do
local part = character:FindFirstChild(partName)
if part then
local dir = (part.Position - origin)
local result = workspace:Raycast(origin, dir.Unit * dir.Magnitude, rayParams)
if not result or (result.Position - part.Position).Magnitude < 5 then
return true
end
end
end
return false
end
function Util.isLookingAtYou(char)
if not LocalPlayer.Character then return false end
local myHead = LocalPlayer.Character:FindFirstChild("Head")
local head = char:FindFirstChild("Head")
if not myHead or not head then return false end
local toYou = (myHead.Position - head.Position).Unit
return toYou:Dot(head.CFrame.LookVector) > Tuning.LookingThreshold
end
function Util.getWeapon(char)
local tool = char:FindFirstChildWhichIsA("Tool")
if tool then return tool.Name end
return nil
end
function Util.getName(char)
for _, p in pairs(Players:GetPlayers()) do
if p.Character == char then return p.Name end
end
return char.Name
end
function Util.isR6(char)
return char:FindFirstChild("Torso") ~= nil
end
local Targets = {}
function Targets.refreshVisibility()
local count = 0
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
count = count + 1
if count > 20 then
Cache.visibility[player] = false
else
Cache.visibility[player] = Util.isVisible(player.Character)
end
end
end
end
function Targets.refreshWeapons()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
Cache.weapons[player] = Util.getWeapon(player.Character)
end
end
end
local ESP = {
cache = {},
velocityData = {}
}
function ESP.create()
local skel = {}
for i = 1, 14 do
skel[i] = Drawing.new("Line")
end
return {
Box = {Drawing.new("Line"), Drawing.new("Line"), Drawing.new("Line"), Drawing.new("Line")},
Name = Drawing.new("Text"),
Dist = Drawing.new("Text"),
Weapon = Drawing.new("Text"),
Skel = skel,
Offscreen = Drawing.new("Triangle"),
AimLine = Drawing.new("Line"),
LookingText = Drawing.new("Text"),
ShieldText = Drawing.new("Text"),
Tracer = Drawing.new("Line"),
VelLine = Drawing.new("Line"),
VelArrow = Drawing.new("Triangle")
}
end
function ESP.setup(esp)
for _, l in pairs(esp.Box) do l.Thickness = 1 end
esp.Name.Size = 14
esp.Name.Font = Drawing.Fonts.Monospace
esp.Name.Center = true
esp.Name.Outline = true
esp.Dist.Size = 12
esp.Dist.Font = Drawing.Fonts.Monospace
esp.Dist.Center = true
esp.Dist.Outline = true
esp.Weapon.Size = 12
esp.Weapon.Font = Drawing.Fonts.Monospace
esp.Weapon.Outline = true
for _, l in pairs(esp.Skel) do l.Thickness = 1 end
esp.Offscreen.Filled = true
esp.Offscreen.Thickness = 2
esp.AimLine.Thickness = 2
esp.LookingText.Size = 14
esp.LookingText.Font = Drawing.Fonts.Monospace
esp.LookingText.Center = true
esp.LookingText.Outline = true
esp.ShieldText.Size = 14
esp.ShieldText.Font = Drawing.Fonts.Monospace
esp.ShieldText.Center = true
esp.ShieldText.Outline = true
esp.ShieldText.Color = Colors.Shielded
esp.Tracer.Thickness = 1
esp.Tracer.Color = Colors.Tracer
esp.VelLine.Thickness = 2
esp.VelLine.Color = Color3.fromRGB(0, 255, 255)
esp.VelArrow.Filled = true
esp.VelArrow.Color = Color3.fromRGB(0, 255, 255)
end
function ESP.hide(esp)
for _, l in pairs(esp.Box) do l.Visible = false end
esp.Name.Visible = false
esp.Dist.Visible = false
esp.Weapon.Visible = false
for _, l in pairs(esp.Skel) do l.Visible = false end
esp.Offscreen.Visible = false
esp.AimLine.Visible = false
esp.LookingText.Visible = false
esp.ShieldText.Visible = false
esp.Tracer.Visible = false
esp.VelLine.Visible = false
esp.VelArrow.Visible = false
end
function ESP.destroy(esp)
pcall(function()
for _, l in pairs(esp.Box) do l:Remove() end
esp.Name:Remove()
esp.Dist:Remove()
esp.Weapon:Remove()
for _, l in pairs(esp.Skel) do l:Remove() end
esp.Offscreen:Remove()
esp.AimLine:Remove()
esp.LookingText:Remove()
esp.ShieldText:Remove()
esp.Tracer:Remove()
esp.VelLine:Remove()
esp.VelArrow:Remove()
end)
end
function ESP.cleanup()
local validPlayers = {}
for _, p in ipairs(Players:GetPlayers()) do
validPlayers[p] = true
end
for player, esp in pairs(ESP.cache) do
if not validPlayers[player] then
ESP.hide(esp)
ESP.destroy(esp)
ESP.cache[player] = nil
ESP.velocityData[player] = nil
end
end
end
function ESP.hideAll()
for _, esp in pairs(ESP.cache) do ESP.hide(esp) end
end
function ESP.step(cam, screenSize, screenCenter)
if not Config.ESP_Enabled then
ESP.hideAll()
return
end
ESP.cleanup()
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then
if ESP.cache[player] then ESP.hide(ESP.cache[player]) end
else
local root = char:FindFirstChild("HumanoidRootPart")
if not ESP.cache[player] then
ESP.cache[player] = ESP.create()
ESP.setup(ESP.cache[player])
end
local esp = ESP.cache[player]
local myChar = LocalPlayer.Character
local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
local dist = myRoot and (root.Position - myRoot.Position).Magnitude or 0
local isLobby = player.Team and player.Team.Name == "Lobby"
if dist > Config.ESP_MaxDist then
ESP.hide(esp)
else
ESP.render(esp, player, char, root, nil, cam, screenSize, screenCenter, dist, false, isLobby)
end
end
end
end
function ESP.render(esp, player, char, root, hum, cam, screenSize, screenCenter, dist, isTeam, isLobby)
local head = char:FindFirstChild("Head")
local headPos = head and head.Position or (root.Position + Vector3.new(0, 2, 0))
local feetPos = root.Position - Vector3.new(0, 3, 0)
local topPos = headPos + Vector3.new(0, 0.5, 0)
local rs, ron = cam:WorldToViewportPoint(root.Position)
local hs = cam:WorldToViewportPoint(topPos)
local fs = cam:WorldToViewportPoint(feetPos)
local onScreen = ron and rs.Z > 0
local visible = Cache.visibility[player] or false
local shielded = Team.isShielded(char)
local col
if shielded and Config.ESP_Shield then
col = Colors.Shielded
elseif isLobby then
col = Colors.Lobby
else
col = visible and Colors.EnemyVisible or Colors.Enemy
end
local skelCol = visible and Colors.SkeletonVisible or Colors.Skeleton
local lookingAtYou = visible and Util.isLookingAtYou(char) or false
if not onScreen then
ESP.hide(esp)
if Config.ESP_Offscreen and visible then
local screenPos = cam:WorldToViewportPoint(root.Position)
local dx, dy = screenPos.X - screenCenter.X, screenPos.Y - screenCenter.Y
local angle = math.atan2(dy, dx)
local arrowX = math.clamp(screenCenter.X + math.cos(angle) * (screenSize.X/2 - Tuning.OffscreenEdgeDist), Tuning.OffscreenEdgeDist, screenSize.X - Tuning.OffscreenEdgeDist)
local arrowY = math.clamp(screenCenter.Y + math.sin(angle) * (screenSize.Y/2 - Tuning.OffscreenEdgeDist), Tuning.OffscreenEdgeDist, screenSize.Y - Tuning.OffscreenEdgeDist)
local fwd = Vector2.new(math.cos(angle), math.sin(angle))
local right = Vector2.new(-fwd.Y, fwd.X)
local pos = Vector2.new(arrowX, arrowY)
esp.Offscreen.PointA = pos + fwd * Tuning.OffscreenArrowSize
esp.Offscreen.PointB = pos - fwd * Tuning.OffscreenArrowSize/2 - right * Tuning.OffscreenArrowSize/2
esp.Offscreen.PointC = pos - fwd * Tuning.OffscreenArrowSize/2 + right * Tuning.OffscreenArrowSize/2
esp.Offscreen.Color = Colors.EnemyVisible
esp.Offscreen.Visible = true
end
return
end
esp.Offscreen.Visible = false
local boxTop, boxBottom = hs.Y, fs.Y
local boxHeight = math.abs(boxBottom - boxTop)
local boxWidth = boxHeight * Tuning.BoxWidthRatio
local cx = rs.X
if Config.ESP_Boxes then
esp.Box[1].From = Vector2.new(cx - boxWidth/2, boxTop)
esp.Box[1].To = Vector2.new(cx + boxWidth/2, boxTop)
esp.Box[2].From = Vector2.new(cx + boxWidth/2, boxTop)
esp.Box[2].To = Vector2.new(cx + boxWidth/2, boxBottom)
esp.Box[3].From = Vector2.new(cx + boxWidth/2, boxBottom)
esp.Box[3].To = Vector2.new(cx - boxWidth/2, boxBottom)
esp.Box[4].From = Vector2.new(cx - boxWidth/2, boxBottom)
esp.Box[4].To = Vector2.new(cx - boxWidth/2, boxTop)
for _, l in pairs(esp.Box) do l.Color = col; l.Visible = true end
else
for _, l in pairs(esp.Box) do l.Visible = false end
end
if Config.ESP_Names then
esp.Name.Text = player.Name
esp.Name.Position = Vector2.new(cx, hs.Y - Tuning.NameOffset)
esp.Name.Color = col
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 = Vector2.new(cx, fs.Y + Tuning.DistOffset)
esp.Dist.Color = Color3.fromRGB(180, 180, 180)
esp.Dist.Visible = true
else
esp.Dist.Visible = false
end
if Config.ESP_Weapons then
local weapon = Cache.weapons[player]
if weapon then
esp.Weapon.Text = "[" .. weapon .. "]"
esp.Weapon.Position = Vector2.new(cx + boxWidth/2 + Tuning.WeaponOffset, rs.Y)
esp.Weapon.Color = Colors.Weapon
esp.Weapon.Visible = true
else
esp.Weapon.Visible = false
end
else
esp.Weapon.Visible = false
end
if Config.ESP_Skeleton then
local bones = Util.isR6(char) and R6Bones or Bones
for i, b in pairs(bones) do
if esp.Skel[i] then
local p1, p2 = char:FindFirstChild(b[1]), char:FindFirstChild(b[2])
if p1 and p2 then
local s1, o1 = cam:WorldToViewportPoint(p1.Position)
local s2, o2 = cam:WorldToViewportPoint(p2.Position)
if o1 and o2 and s1.Z > 0 and s2.Z > 0 then
esp.Skel[i].From = Vector2.new(s1.X, s1.Y)
esp.Skel[i].To = Vector2.new(s2.X, s2.Y)
esp.Skel[i].Color = skelCol
esp.Skel[i].Visible = true
else
esp.Skel[i].Visible = false
end
else
esp.Skel[i].Visible = false
end
end
end
for i = #bones + 1, #esp.Skel do
if esp.Skel[i] then esp.Skel[i].Visible = false end
end
else
for _, l in pairs(esp.Skel) do l.Visible = false end
end
if Config.ESP_AimDir and head then
local aimEnd = head.Position + head.CFrame.LookVector * Tuning.AimLineLength
local aimScreen, aimOn = cam:WorldToViewportPoint(aimEnd)
local headScreen = cam:WorldToViewportPoint(head.Position)
if aimOn and headScreen.Z > 0 then
esp.AimLine.From = Vector2.new(headScreen.X, headScreen.Y)
esp.AimLine.To = Vector2.new(aimScreen.X, aimScreen.Y)
esp.AimLine.Color = Colors.AimDir
esp.AimLine.Visible = true
else
esp.AimLine.Visible = false
end
else
esp.AimLine.Visible = false
end
if Config.ESP_LookingAtYou and lookingAtYou then
esp.LookingText.Text = "[!] LOOKING"
esp.LookingText.Position = Vector2.new(cx, hs.Y - Tuning.LookingOffset)
esp.LookingText.Color = Colors.LookingAtYou
esp.LookingText.Visible = true
else
esp.LookingText.Visible = false
end
if Config.ESP_Shield and shielded then
local remaining = Cache.shields[char] - tick()
esp.ShieldText.Text = "[SHIELDED " .. string.format("%.1f", math.max(0, remaining)) .. "s]"
esp.ShieldText.Position = Vector2.new(cx, hs.Y - Tuning.ShieldOffset)
esp.ShieldText.Visible = true
else
esp.ShieldText.Visible = false
end
if Config.ESP_Tracers then
esp.Tracer.From = Vector2.new(screenCenter.X, screenSize.Y)
esp.Tracer.To = Vector2.new(cx, fs.Y)
esp.Tracer.Color = visible and Colors.EnemyVisible or Colors.Tracer
esp.Tracer.Visible = true
else
esp.Tracer.Visible = false
end
local vd = ESP.velocityData[player]
if not vd then
vd = {pos = root.Position, vel = Vector3.zero, time = tick()}
ESP.velocityData[player] = vd
end
local now = tick()
local dt = now - vd.time
if dt > 0.03 then
local rawVel = (root.Position - vd.pos) / dt
vd.vel = vd.vel * 0.7 + rawVel * 0.3
vd.pos = root.Position
vd.time = now
end
if Config.ESP_Velocity then
local velFlat = Vector3.new(vd.vel.X, 0, vd.vel.Z)
local velMag = velFlat.Magnitude
if velMag > 2 then
local futurePos = root.Position + velFlat.Unit * math.clamp(velMag * 0.4, 5, 20)
local futureScreen, futureOn = cam:WorldToViewportPoint(futurePos)
if futureOn and futureScreen.Z > 0 then
esp.VelLine.From = Vector2.new(rs.X, rs.Y)
esp.VelLine.To = Vector2.new(futureScreen.X, futureScreen.Y)
esp.VelLine.Visible = true
local dx, dy = futureScreen.X - rs.X, futureScreen.Y - rs.Y
local len = math.sqrt(dx*dx + dy*dy)
if len > 5 then
local fx, fy = dx/len, dy/len
esp.VelArrow.PointA = Vector2.new(futureScreen.X, futureScreen.Y)
esp.VelArrow.PointB = Vector2.new(futureScreen.X - fx*10 + fy*5, futureScreen.Y - fy*10 - fx*5)
esp.VelArrow.PointC = Vector2.new(futureScreen.X - fx*10 - fy*5, futureScreen.Y - fy*10 + fx*5)
esp.VelArrow.Visible = true
else
esp.VelArrow.Visible = false
end
else
esp.VelLine.Visible = false
esp.VelArrow.Visible = false
end
else
esp.VelLine.Visible = false
esp.VelArrow.Visible = false
end
else
esp.VelLine.Visible = false
esp.VelArrow.Visible = false
end
end
local Radar = {
bg = Drawing.new("Square"),
circleBg = Drawing.new("Circle"),
border = Drawing.new("Square"),
circleBorder = Drawing.new("Circle"),
cross1 = Drawing.new("Line"),
cross2 = Drawing.new("Line"),
center = Drawing.new("Triangle"),
dots = {}
}
do
Radar.bg.Filled = true
Radar.bg.Color = Colors.RadarBg
Radar.bg.Transparency = 0.8
Radar.circleBg.Filled = true
Radar.circleBg.Color = Colors.RadarBg
Radar.circleBg.Transparency = 0.8
Radar.circleBg.NumSides = 64
Radar.border.Filled = false
Radar.border.Color = Colors.RadarBorder
Radar.border.Thickness = 2
Radar.circleBorder.Filled = false
Radar.circleBorder.Color = Colors.RadarBorder
Radar.circleBorder.Thickness = 2
Radar.circleBorder.NumSides = 64
Radar.cross1.Color = Color3.fromRGB(40, 40, 40)
Radar.cross1.Thickness = 1
Radar.cross2.Color = Color3.fromRGB(40, 40, 40)
Radar.cross2.Thickness = 1
Radar.center.Filled = true
Radar.center.Color = Colors.RadarYou
for i = 1, 50 do
local d = Drawing.new("Triangle")
d.Filled = true
d.Visible = false
Radar.dots[i] = d
end
end
function Radar.hideAll()
Radar.bg.Visible = false
Radar.circleBg.Visible = false
Radar.border.Visible = false
Radar.circleBorder.Visible = false
Radar.center.Visible = false
Radar.cross1.Visible = false
Radar.cross2.Visible = false
for _, d in pairs(Radar.dots) do d.Visible = false end
end
function Radar.step(cam)
if not Config.RADAR_Enabled then
Radar.hideAll()
return
end
local size = Config.RADAR_Size
local pos = Vector2.new(cam.ViewportSize.X - size - 20, 20)
local center = pos + Vector2.new(size/2, size/2)
if Config.RADAR_Circle then
Radar.bg.Visible = false
Radar.border.Visible = false
Radar.circleBg.Position = center
Radar.circleBg.Radius = size/2
Radar.circleBg.Visible = true
Radar.circleBorder.Position = center
Radar.circleBorder.Radius = size/2
Radar.circleBorder.Visible = true
else
Radar.circleBg.Visible = false
Radar.circleBorder.Visible = false
Radar.bg.Position = pos
Radar.bg.Size = Vector2.new(size, size)
Radar.bg.Visible = true
Radar.border.Position = pos
Radar.border.Size = Vector2.new(size, size)
Radar.border.Visible = true
end
Radar.cross1.From = Vector2.new(center.X, pos.Y + 10)
Radar.cross1.To = Vector2.new(center.X, pos.Y + size - 10)
Radar.cross1.Visible = true
Radar.cross2.From = Vector2.new(pos.X + 10, center.Y)
Radar.cross2.To = Vector2.new(pos.X + size - 10, center.Y)
Radar.cross2.Visible = true
local myChar = LocalPlayer.Character
local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
local myLook = cam.CFrame.LookVector
if not myRoot then
Radar.center.Visible = false
for _, d in pairs(Radar.dots) do d.Visible = false end
return
end
local myAngle = math.atan2(-myLook.X, -myLook.Z)
local cosA, sinA = math.cos(myAngle), math.sin(myAngle)
local scale = (size/2 - 10) / Tuning.RadarRange
local idx = 1
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
if idx > #Radar.dots then break end
local char = player.Character
if char then
local root = char:FindFirstChild("HumanoidRootPart")
if root then
local isLobby = player.Team and player.Team.Name == "Lobby"
local isShielded = Team.isShielded(char)
local rx, rz = root.Position.X - myRoot.Position.X, root.Position.Z - myRoot.Position.Z
local dist2D = math.sqrt(rx^2 + rz^2)
if dist2D < Tuning.RadarRange then
local rotX = rx * cosA - rz * sinA
local rotZ = rx * sinA + rz * cosA
local radarX, radarY = rotX * scale, rotZ * scale
local maxD = size/2 - 8
local rDist = math.sqrt(radarX^2 + radarY^2)
if rDist > maxD then
radarX, radarY = radarX/rDist*maxD, radarY/rDist*maxD
end
local dotPos = center + Vector2.new(radarX, radarY)
local dot = Radar.dots[idx]
local head = char:FindFirstChild("Head")
local eAngle = head and math.atan2(-head.CFrame.LookVector.X, -head.CFrame.LookVector.Z) - myAngle or 0
local eFwd = Vector2.new(-math.sin(eAngle), -math.cos(eAngle))
local eRight = Vector2.new(-eFwd.Y, eFwd.X)
dot.PointA = dotPos + eFwd * Tuning.RadarDotSize
dot.PointB = dotPos - eFwd * Tuning.RadarDotSize/2 + eRight * Tuning.RadarDotSize/2
dot.PointC = dotPos - eFwd * Tuning.RadarDotSize/2 - eRight * Tuning.RadarDotSize/2
dot.Color = isLobby and Colors.Lobby or (isShielded and Colors.Shielded or Colors.RadarEnemy)
dot.Visible = true
idx = idx + 1
end
end
end
end
for i = idx, #Radar.dots do Radar.dots[i].Visible = false end
Radar.center.PointA = center + Vector2.new(0, -Tuning.RadarArrowSize)
Radar.center.PointB = center + Vector2.new(-Tuning.RadarArrowSize/2, Tuning.RadarArrowSize/2)
Radar.center.PointC = center + Vector2.new(Tuning.RadarArrowSize/2, Tuning.RadarArrowSize/2)
Radar.center.Visible = true
end
local Aimbot = {
aiming = false,
locked = nil,
fov = Drawing.new("Circle")
}
Aimbot.fov.Thickness = 1
Aimbot.fov.NumSides = 64
Aimbot.fov.Filled = false
Aimbot.fov.Transparency = 0.6
Connections.mb2down = Mouse.Button2Down:Connect(function()
Aimbot.aiming = true
Aimbot.locked = nil
end)
Connections.mb2up = Mouse.Button2Up:Connect(function()
Aimbot.aiming = false
Aimbot.locked = nil
end)
function Aimbot.getBest(cam)
local center = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y/2)
local myChar = LocalPlayer.Character
local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
if not myRoot then return nil end
local best, bestDist = nil, math.huge
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local char = player.Character
if char then
local root = char:FindFirstChild("HumanoidRootPart")
if root then
local isLobby = player.Team and player.Team.Name == "Lobby"
local shielded = Team.isShielded(char)
if Config.AIM_IgnoreLobby and isLobby then continue end
if Config.AIM_IgnoreShielded and shielded then continue end
if Config.AIM_WallCheck and not Cache.visibility[player] then continue end
local head = char:FindFirstChild("Head")
if head then
local sp, on = cam:WorldToViewportPoint(head.Position)
if on and sp.Z > 0 then
local sDist = (Vector2.new(sp.X, sp.Y) - center).Magnitude
if sDist <= Config.AIM_FOV then
local wDist = (root.Position - myRoot.Position).Magnitude
if wDist < bestDist then
bestDist = wDist
best = char
end
end
end
end
end
end
end
return best
end
function Aimbot.step(cam, screenCenter)
if Config.AIM_Enabled and Config.AIM_ShowFOV then
Aimbot.fov.Position = screenCenter
Aimbot.fov.Radius = Config.AIM_FOV
Aimbot.fov.Color = (Aimbot.aiming and Aimbot.locked) and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(255, 255, 255)
Aimbot.fov.Visible = true
else
Aimbot.fov.Visible = false
end
end
RunService:BindToRenderStep("FlickAimbotCore", Enum.RenderPriority.Camera.Value + 1, function()
if Unloaded or not Config.AIM_Enabled then return end
local rmb = UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)
if not (Aimbot.aiming or rmb) then
Aimbot.locked = nil
return
end
local cam = workspace.CurrentCamera
if not cam then return end
if not Aimbot.locked or not Aimbot.locked.Parent or not Aimbot.locked:FindFirstChild("Head") then
Aimbot.locked = Aimbot.getBest(cam)
end
if not Aimbot.locked then return end
local head = Aimbot.locked:FindFirstChild("Head")
local hum = Aimbot.locked:FindFirstChild("Humanoid")
if not head or not hum or hum.Health <= 0 then
Aimbot.locked = nil
return
end
local goal = CFrame.lookAt(cam.CFrame.Position, head.Position)
local newCF
if Config.AIM_Smooth <= 0 then
newCF = goal
else
local alpha = math.clamp(0.9 - (Config.AIM_Smooth/100)*0.8, 0.1, 0.9)
newCF = cam.CFrame:Lerp(goal, alpha)
end
cam.CFrame = newCF
end)
local Trigger = {
active = false,
lastShot = 0
}
function Trigger.check(cam)
local center = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y/2)
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local char = player.Character
if not char then continue end
local isLobby = player.Team and player.Team.Name == "Lobby"
local shielded = Team.isShielded(char)
if isLobby or shielded then continue end
local visible = Cache.visibility[player]
if not visible then continue end
for _, pn in pairs({"Head", "UpperTorso", "Torso"}) do
local p = char: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) - center).Magnitude < Tuning.TriggerRadius then
return true
end
end
end
end
return false
end
function Trigger.shoot()
pcall(function()
if mouse1click then
mouse1click()
end
end)
pcall(function()
if mousebuttonclick then
mousebuttonclick(1)
end
end)
pcall(function()
if click then
click()
end
end)
end
function Trigger.run()
Trigger.active = true
while Config.TRIGGER_Enabled and not Unloaded do
pcall(function()
local cam = workspace.CurrentCamera
if cam and Trigger.check(cam) then
local now = tick() * 1000
if now - Trigger.lastShot >= Config.TRIGGER_Delay then
Trigger.shoot()
Trigger.lastShot = now
end
end
end)
task.wait(0.016)
end
Trigger.active = false
end
task.spawn(function()
while not Unloaded do
if Config.TRIGGER_Enabled and not Trigger.active then
task.spawn(Trigger.run)
end
task.wait(0.3)
end
end)
local Rage = {
active = false,
currentTarget = nil,
lastShot = 0,
indicator = Drawing.new("Text")
}
Rage.indicator.Size = 18
Rage.indicator.Font = Drawing.Fonts.Monospace
Rage.indicator.Center = true
Rage.indicator.Outline = true
Rage.indicator.Color = Color3.fromRGB(255, 0, 0)
Rage.indicator.Text = "[RAGE ACTIVE]"
Rage.indicator.Visible = false
function Rage.scoreTarget(player, myRoot, cam)
local char = player.Character
if not char then return -1 end
local root = char:FindFirstChild("HumanoidRootPart")
if not root then return -1 end
local hum = char:FindFirstChild("Humanoid")
if hum and hum.Health <= 0 then return -1 end
local isLobby = player.Team and player.Team.Name == "Lobby"
if isLobby then return -1 end
local shielded = Team.isShielded(char)
if shielded then return -1 end
local dist = (root.Position - myRoot.Position).Magnitude
if dist > Tuning.RageMaxDist then return -1 end
local score = 1000
score = score - (dist / Tuning.RageMaxDist) * Tuning.RageDistWeight
local visible = Cache.visibility[player]
if visible and Config.RAGE_PrioVisible then
score = score + Tuning.RageVisibleWeight
end
if Config.RAGE_PrioThreat then
local head = char:FindFirstChild("Head")
if head and myRoot then
local myHead = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Head")
if myHead then
local toYou = (myHead.Position - head.Position).Unit
local lookDot = toYou:Dot(head.CFrame.LookVector)
if lookDot > 0.5 then
score = score + Tuning.RageThreatWeight * lookDot
end
end
end
end
return score
end
function Rage.getBestTarget(cam)
local myChar = LocalPlayer.Character
local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
if not myRoot then return nil end
local best, bestScore = nil, -1
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local score = Rage.scoreTarget(player, myRoot, cam)
if score > bestScore then
bestScore = score
best = player.Character
end
end
return best
end
function Rage.aimAt(target, cam)
if not target then return end
local head = target:FindFirstChild("Head")
if not head then return end
local goal = CFrame.lookAt(cam.CFrame.Position, head.Position)
cam.CFrame = goal
end
function Rage.shoot()
pcall(function()
if mouse1click then mouse1click() end
end)
pcall(function()
if mousebuttonclick then mousebuttonclick(1) end
end)
pcall(function()
if click then click() end
end)
end
function Rage.run()
Rage.active = true
while Config.RAGE_Enabled and not Unloaded do
pcall(function()
local cam = workspace.CurrentCamera
if not cam then return end
local target = Rage.getBestTarget(cam)
if target and target ~= Rage.currentTarget then
Rage.currentTarget = target
end
if not Rage.currentTarget or not Rage.currentTarget.Parent then
Rage.currentTarget = target
end
if Rage.currentTarget then
local hum = Rage.currentTarget:FindFirstChild("Humanoid")
if hum and hum.Health <= 0 then
Rage.currentTarget = target
end
if Team.isShielded(Rage.currentTarget) then
Rage.currentTarget = target
end
end
if Rage.currentTarget then
Rage.aimAt(Rage.currentTarget, cam)
if Config.RAGE_AutoShoot then
local now = tick() * 1000
if now - Rage.lastShot >= Tuning.RageShootDelay then
local visible = false
for _, p in ipairs(Players:GetPlayers()) do
if p.Character == Rage.currentTarget then
visible = Cache.visibility[p]
break
end
end
if visible then
Rage.shoot()
Rage.lastShot = now
end
end
end
end
end)
task.wait(0.016)
end
Rage.active = false
Rage.currentTarget = nil
Rage.indicator.Visible = false
end
function Rage.step(cam, screenCenter)
if Config.RAGE_Enabled then
Rage.indicator.Position = Vector2.new(screenCenter.X, 80)
Rage.indicator.Visible = true
if Rage.currentTarget then
local name = "UNKNOWN"
for _, p in ipairs(Players:GetPlayers()) do
if p.Character == Rage.currentTarget then
name = p.Name
break
end
end
Rage.indicator.Text = "[RAGE] -> " .. name
else
Rage.indicator.Text = "[RAGE ACTIVE]"
end
else
Rage.indicator.Visible = false
end
end
task.spawn(function()
while not Unloaded do
if Config.RAGE_Enabled and not Rage.active then
task.spawn(Rage.run)
end
task.wait(0.3)
end
end)
local Menu = {
selected = 1,
drawings = {},
items = {
{name = "ESP", key = "ESP_Enabled", type = "toggle"},
{name = " Boxes", key = "ESP_Boxes", type = "toggle", parent = "ESP_Enabled"},
{name = " Names", key = "ESP_Names", type = "toggle", parent = "ESP_Enabled"},
{name = " Distance", key = "ESP_Distance", type = "toggle", parent = "ESP_Enabled"},
{name = " Skeleton", key = "ESP_Skeleton", type = "toggle", parent = "ESP_Enabled"},
{name = " Weapons", key = "ESP_Weapons", type = "toggle", parent = "ESP_Enabled"},
{name = " Aim Direction", key = "ESP_AimDir", type = "toggle", parent = "ESP_Enabled"},
{name = " Looking At You", key = "ESP_LookingAtYou", type = "toggle", parent = "ESP_Enabled"},
{name = " Shield Indicator", key = "ESP_Shield", type = "toggle", parent = "ESP_Enabled"},
{name = " Offscreen", key = "ESP_Offscreen", type = "toggle", parent = "ESP_Enabled"},
{name = " Tracers", key = "ESP_Tracers", type = "toggle", parent = "ESP_Enabled"},
{name = " Velocity", key = "ESP_Velocity", type = "toggle", parent = "ESP_Enabled"},
{name = " Max Dist", key = "ESP_MaxDist", type = "slider", min = 500, max = 5000, step = 100, parent = "ESP_Enabled"},
{name = "----------", type = "sep"},
{name = "RADAR", key = "RADAR_Enabled", type = "toggle"},
{name = " Size", key = "RADAR_Size", type = "slider", min = 80, max = 200, step = 10, parent = "RADAR_Enabled"},
{name = " Circle Mode", key = "RADAR_Circle", type = "toggle", parent = "RADAR_Enabled"},
{name = "----------", type = "sep"},
{name = "AIMBOT", key = "AIM_Enabled", type = "toggle"},
{name = " FOV", key = "AIM_FOV", type = "slider", min = 50, max = 500, step = 25, parent = "AIM_Enabled"},
{name = " Smooth", key = "AIM_Smooth", type = "slider", min = 0, max = 100, step = 5, parent = "AIM_Enabled"},
{name = " Show FOV", key = "AIM_ShowFOV", type = "toggle", parent = "AIM_Enabled"},
{name = " Wall Check", key = "AIM_WallCheck", type = "toggle", parent = "AIM_Enabled"},
{name = " Ignore Shielded", key = "AIM_IgnoreShielded", type = "toggle", parent = "AIM_Enabled"},
{name = " Ignore Lobby", key = "AIM_IgnoreLobby", type = "toggle", parent = "AIM_Enabled"},
{name = "----------", type = "sep"},
{name = "TRIGGERBOT", key = "TRIGGER_Enabled", type = "toggle"},
{name = " Delay (ms)", key = "TRIGGER_Delay", type = "slider", min = 0, max = 200, step = 10, parent = "TRIGGER_Enabled"},
{name = "----------", type = "sep"},
{name = "RAGE BOT", key = "RAGE_Enabled", type = "toggle"},
{name = " Prio Visible", key = "RAGE_PrioVisible", type = "toggle", parent = "RAGE_Enabled"},
{name = " Prio Threats", key = "RAGE_PrioThreat", type = "toggle", parent = "RAGE_Enabled"},
{name = " Auto Shoot", key = "RAGE_AutoShoot", type = "toggle", parent = "RAGE_Enabled"},
{name = "----------", type = "sep"},
{name = "MISC", type = "label"},
{name = " Walk Speed", key = "MISC_WalkSpeed", type = "slider", min = 16, max = 24, step = 1},
{name = " Field of View", key = "MISC_FOV", type = "slider", min = 60, max = 120, step = 5},
{name = " Full Bright", key = "MISC_FullBright", type = "toggle"},
{name = " No Fog", key = "MISC_NoFog", type = "toggle"},
{name = " Auto Respawn", key = "MISC_AutoRespawn", type = "toggle"}
},
bg = Drawing.new("Square"),
border = Drawing.new("Square"),
title = Drawing.new("Text"),
stats = Drawing.new("Text"),
warning = {
bg = Drawing.new("Square"),
border = Drawing.new("Square"),
title = Drawing.new("Text"),
text1 = Drawing.new("Text"),
text2 = Drawing.new("Text")
}
}
Menu.bg.Position = Vector2.new(10, 10)
Menu.bg.Color = Colors.MenuBg
Menu.bg.Filled = true
Menu.bg.Transparency = 0.9
Menu.border.Position = Vector2.new(10, 10)
Menu.border.Color = Colors.MenuHighlight
Menu.border.Filled = false
Menu.border.Thickness = 1
Menu.title.Position = Vector2.new(18, 14)
Menu.title.Text = "FLICK | INS menu | HOME panic"
Menu.title.Size = 13
Menu.title.Font = Drawing.Fonts.Monospace
Menu.title.Color = Color3.fromRGB(100, 100, 100)
Menu.title.Outline = true
Menu.stats.Size = 12
Menu.stats.Font = Drawing.Fonts.Monospace
Menu.stats.Color = Color3.fromRGB(80, 80, 80)
Menu.stats.Outline = true
Menu.warning.bg.Filled = true
Menu.warning.bg.Color = Color3.fromRGB(20, 0, 0)
Menu.warning.bg.Transparency = 0.9
Menu.warning.bg.Visible = false
Menu.warning.border.Filled = false
Menu.warning.border.Color = Color3.fromRGB(255, 50, 50)
Menu.warning.border.Thickness = 2
Menu.warning.border.Visible = false
Menu.warning.title.Size = 16
Menu.warning.title.Font = Drawing.Fonts.Monospace
Menu.warning.title.Color = Color3.fromRGB(255, 50, 50)
Menu.warning.title.Outline = true
Menu.warning.title.Center = true
Menu.warning.title.Text = "!! WARNING !!"
Menu.warning.title.Visible = false
Menu.warning.text1.Size = 13
Menu.warning.text1.Font = Drawing.Fonts.Monospace
Menu.warning.text1.Color = Color3.fromRGB(255, 200, 200)
Menu.warning.text1.Outline = true
Menu.warning.text1.Center = true
Menu.warning.text1.Text = "Aimbot may get you banned!"
Menu.warning.text1.Visible = false
Menu.warning.text2.Size = 13
Menu.warning.text2.Font = Drawing.Fonts.Monospace
Menu.warning.text2.Color = Color3.fromRGB(255, 150, 150)
Menu.warning.text2.Outline = true
Menu.warning.text2.Center = true
Menu.warning.text2.Text = "Use at your own risk!"
Menu.warning.text2.Visible = false
for i = 1, #Menu.items do
local t = Drawing.new("Text")
t.Size = 13
t.Font = Drawing.Fonts.Monospace
t.Outline = true
Menu.drawings[i] = t
end
function Menu.showWarning(cam)
local cx = cam.ViewportSize.X / 2
local w, h = 280, 80
Menu.warning.bg.Position = Vector2.new(cx - w/2, 150)
Menu.warning.bg.Size = Vector2.new(w, h)
Menu.warning.bg.Visible = true
Menu.warning.border.Position = Vector2.new(cx - w/2, 150)
Menu.warning.border.Size = Vector2.new(w, h)
Menu.warning.border.Visible = true
Menu.warning.title.Position = Vector2.new(cx, 165)
Menu.warning.title.Visible = true
Menu.warning.text1.Position = Vector2.new(cx, 188)
Menu.warning.text1.Visible = true
Menu.warning.text2.Position = Vector2.new(cx, 205)
Menu.warning.text2.Visible = true
Timers.warningEnd = tick() + 3
end
function Menu.updateWarning()
if Timers.warningEnd > 0 and tick() > Timers.warningEnd then
Menu.warning.bg.Visible = false
Menu.warning.border.Visible = false
Menu.warning.title.Visible = false
Menu.warning.text1.Visible = false
Menu.warning.text2.Visible = false
Timers.warningEnd = 0
end
end
function Menu.step()
if not Config.MenuOpen then
Menu.bg.Visible = false
Menu.border.Visible = false
Menu.title.Visible = false
Menu.stats.Visible = false
for _, d in pairs(Menu.drawings) do d.Visible = false end
return
end
local y, count = 32, 0
for i, item in ipairs(Menu.items) do
local d = Menu.drawings[i]
local show = not item.parent or Config[item.parent]
if show then
count = count + 1
d.Position = Vector2.new(18, y)
if item.type == "sep" then
d.Text = item.name
d.Color = Color3.fromRGB(50, 50, 50)
elseif item.type == "label" then
d.Text = item.name
d.Color = Color3.fromRGB(200, 200, 200)
elseif item.type == "toggle" then
local on = Config[item.key]
d.Text = (i == Menu.selected and "> " or " ") .. item.name .. (on and " ON" or " OFF")
d.Color = i == Menu.selected and Colors.MenuHighlight or (on and Colors.MenuOn or Colors.MenuOff)
elseif item.type == "slider" then
d.Text = (i == Menu.selected and "> " or " ") .. item.name .. " " .. math.floor(Config[item.key])
d.Color = i == Menu.selected and Colors.MenuHighlight or Colors.MenuText
end
d.Visible = true
y = y + 16
else
d.Visible = false
end
end
local statsY = y + 8
local ping = 0
pcall(function()
ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue())
end)
local health = 0
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
health = math.floor(LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Health)
end
Menu.stats.Text = "HP: " .. health .. " | Ping: " .. ping .. "ms"
Menu.stats.Position = Vector2.new(18, statsY)
Menu.stats.Visible = true
Menu.bg.Size = Vector2.new(200, statsY - 10 + 20)
Menu.border.Size = Vector2.new(200, statsY - 10 + 20)
Menu.bg.Visible = true
Menu.border.Visible = true
Menu.title.Visible = true
end
local function ApplyMiscSettings()
if LocalPlayer.Character then
local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = Config.MISC_WalkSpeed
end
end
workspace.CurrentCamera.FieldOfView = Config.MISC_FOV
if Config.MISC_FullBright then
game.Lighting.Brightness = 2
game.Lighting.Ambient = Color3.fromRGB(255, 255, 255)
game.Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
else
game.Lighting.Brightness = OriginalLighting.Brightness
game.Lighting.Ambient = OriginalLighting.Ambient
game.Lighting.OutdoorAmbient = OriginalLighting.OutdoorAmbient
end
if Config.MISC_NoFog then
game.Lighting.FogEnd = 100000
game.Lighting.FogStart = 0
else
game.Lighting.FogEnd = OriginalLighting.FogEnd
game.Lighting.FogStart = OriginalLighting.FogStart
end
end
local autoRespawnLastFire = 0
local function AutoRespawnTick()
if not Config.MISC_AutoRespawn then return end
if not workspace:FindFirstChild(LocalPlayer.Name) then
if tick() - autoRespawnLastFire >= 1 then
local remotes = ReplicatedStorage:FindFirstChild("Remotes")
if remotes and remotes:FindFirstChild("Command") then
remotes.Command:FireServer("Play")
end
autoRespawnLastFire = tick()
end
end
end
local function Unload()
if Unloaded then return end
Unloaded = true
Config.TRIGGER_Enabled = false
Config.RAGE_Enabled = false
Trigger.active = false
Rage.active = false
pcall(function() RunService:UnbindFromRenderStep("FlickAimbotCore") end)
for _, c in pairs(Connections) do
pcall(function() c:Disconnect() end)
end
for _, esp in pairs(ESP.cache) do ESP.destroy(esp) end
Radar.bg:Remove()
Radar.circleBg:Remove()
Radar.border:Remove()
Radar.circleBorder:Remove()
Radar.cross1:Remove()
Radar.cross2:Remove()
Radar.center:Remove()
for _, d in pairs(Radar.dots) do d:Remove() end
Aimbot.fov:Remove()
Rage.indicator:Remove()
Menu.bg:Remove()
Menu.border:Remove()
Menu.title:Remove()
Menu.stats:Remove()
for _, d in pairs(Menu.drawings) do d:Remove() end
Menu.warning.bg:Remove()
Menu.warning.border:Remove()
Menu.warning.title:Remove()
Menu.warning.text1:Remove()
Menu.warning.text2:Remove()
game.Lighting.Brightness = OriginalLighting.Brightness
game.Lighting.Ambient = OriginalLighting.Ambient
game.Lighting.OutdoorAmbient = OriginalLighting.OutdoorAmbient
game.Lighting.FogEnd = OriginalLighting.FogEnd
game.Lighting.FogStart = OriginalLighting.FogStart
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.MenuOpen = not Config.MenuOpen
return
end
if not Config.MenuOpen then return end
if input.KeyCode == Enum.KeyCode.Up then
repeat
Menu.selected = Menu.selected - 1
if Menu.selected < 1 then Menu.selected = #Menu.items end
until Menu.items[Menu.selected].type ~= "sep" and Menu.items[Menu.selected].type ~= "label" and (not Menu.items[Menu.selected].parent or Config[Menu.items[Menu.selected].parent])
elseif input.KeyCode == Enum.KeyCode.Down then
repeat
Menu.selected = Menu.selected + 1
if Menu.selected > #Menu.items then Menu.selected = 1 end
until Menu.items[Menu.selected].type ~= "sep" and Menu.items[Menu.selected].type ~= "label" and (not Menu.items[Menu.selected].parent or Config[Menu.items[Menu.selected].parent])
elseif input.KeyCode == Enum.KeyCode.Left or input.KeyCode == Enum.KeyCode.Right then
local item = Menu.items[Menu.selected]
if item and item.type == "toggle" then
Config[item.key] = not Config[item.key]
if item.key == "AIM_Enabled" and Config.AIM_Enabled then
Menu.showWarning(workspace.CurrentCamera)
end
if item.key == "RAGE_Enabled" and Config.RAGE_Enabled then
Menu.warning.text1.Text = "RAGE BOT IS VERY RISKY!"
Menu.warning.text2.Text = "You WILL get reported and banned!"
Menu.showWarning(workspace.CurrentCamera)
end
elseif item and item.type == "slider" then
if input.KeyCode == Enum.KeyCode.Left then
Config[item.key] = math.max(item.min, Config[item.key] - item.step)
else
Config[item.key] = math.min(item.max, Config[item.key] + item.step)
end
end
end
end)
Connections.playerAdded = Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
Team.applyShield(char)
end)
end)
Connections.playerRemoving = Players.PlayerRemoving:Connect(function(player)
Cache.visibility[player] = nil
Cache.weapons[player] = nil
if player.Character then
Cache.shields[player.Character] = nil
end
if ESP.cache[player] then
ESP.hide(ESP.cache[player])
ESP.destroy(ESP.cache[player])
ESP.cache[player] = nil
ESP.velocityData[player] = nil
end
end)
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
player.CharacterAdded:Connect(function(char)
Team.applyShield(char)
end)
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()
if now - Timers.lastVisRefresh > Tuning.VisibilityRefreshRate then
Timers.lastVisRefresh = now
Targets.refreshVisibility()
end
if now - Timers.lastWeaponRefresh > Tuning.WeaponRefreshRate then
Timers.lastWeaponRefresh = now
Targets.refreshWeapons()
end
ApplyMiscSettings()
AutoRespawnTick()
ESP.step(cam, screenSize, screenCenter)
Radar.step(cam)
Aimbot.step(cam, screenCenter)
Rage.step(cam, screenCenter)
Menu.updateWarning()
Menu.step()
end)
Menu.step()



Not bad
doesnt work on xeno
@Iean skill issue xeno is *
No me funciona