
Key Required
Drone esp and kill aura
Lua Script•252 lines (7543 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Drones = workspace:WaitForChild("Drones")
local JammedDroneRemote = game:GetService("ReplicatedStorage"):WaitForChild("Events"):WaitForChild("Weapon"):WaitForChild("Jammer"):WaitForChild("JammedDrone")
local espEnabled = false
local aimlockEnabled = false
local MAX_ESP_DISTANCE = 500000
local COLOR_DANGER = Color3.fromRGB(255, 0, 0)
local COLOR_IN_RANGE = Color3.fromRGB(0, 255, 0)
local trackedDrones = {}
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "DroneControlGUI"
ScreenGui.ResetOnSpawn = false
local success, _ = pcall(function()
ScreenGui.Parent = game:GetService("CoreGui")
end)
if not success then
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
end
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 200, 0, 150)
MainFrame.Position = UDim2.new(0, 20, 0.3, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 35)
Title.BackgroundTransparency = 1
Title.Text = "Drone Fucker"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 16
Title.Font = Enum.Font.SourceSansBold
Title.Parent = MainFrame
local EspButton = Instance.new("TextButton")
EspButton.Name = "EspButton"
EspButton.Size = UDim2.new(0.85, 0, 0, 35)
EspButton.Position = UDim2.new(0.075, 0, 0.28, 0)
EspButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
EspButton.Text = "ESP: OFF"
EspButton.TextColor3 = Color3.fromRGB(255, 255, 255)
EspButton.TextSize = 14
EspButton.Font = Enum.Font.SourceSansSemibold
EspButton.Parent = MainFrame
local BtnCorner1 = Instance.new("UICorner")
BtnCorner1.CornerRadius = UDim.new(0, 6)
BtnCorner1.Parent = EspButton
local AimlockButton = Instance.new("TextButton")
AimlockButton.Name = "AimlockButton"
AimlockButton.Size = UDim2.new(0.85, 0, 0, 35)
AimlockButton.Position = UDim2.new(0.075, 0, 0.60, 0)
AimlockButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
AimlockButton.Text = "Aimlock: OFF"
AimlockButton.TextColor3 = Color3.fromRGB(255, 255, 255)
AimlockButton.TextSize = 14
AimlockButton.Font = Enum.Font.SourceSansSemibold
AimlockButton.Parent = MainFrame
local BtnCorner2 = Instance.new("UICorner")
BtnCorner2.CornerRadius = UDim.new(0, 6)
BtnCorner2.Parent = AimlockButton
local function addESP(drone)
if trackedDrones[drone] then return end
local highlight = Instance.new("Highlight")
highlight.Name = "DroneHighlight"
highlight.FillColor = COLOR_DANGER
highlight.OutlineColor = COLOR_DANGER
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = drone
local line = Drawing.new("Line")
line.Color = COLOR_DANGER
line.Thickness = 1.5
line.Transparency = 1
line.Visible = false
local text = Drawing.new("Text")
text.Color = COLOR_DANGER
text.Size = 16
text.Center = true
text.Outline = true
text.OutlineColor = Color3.fromRGB(0, 0, 0)
text.Visible = false
trackedDrones[drone] = {
Highlight = highlight,
Line = line,
Text = text
}
end
local function removeESP(drone)
local data = trackedDrones[drone]
if data then
if data.Highlight then data.Highlight:Destroy() end
if data.Line then data.Line:Remove() end
if data.Text then data.Text:Remove() end
trackedDrones[drone] = nil
end
end
local function hideAllESP()
for _, data in pairs(trackedDrones) do
if data.Highlight then data.Highlight.Enabled = false end
if data.Line then data.Line.Visible = false end
if data.Text then data.Text.Visible = false end
end
end
for _, child in ipairs(Drones:GetChildren()) do addESP(child) end
Drones.ChildAdded:Connect(addESP)
Drones.ChildRemoved:Connect(removeESP)
local function getJammer()
return LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Jammer")
or LocalPlayer.Backpack:FindFirstChild("Jammer")
end
local function getClosestDrone()
local closestDrone = nil
local shortestDistance = 1000
local character = LocalPlayer.Character
local originPos = (character and character:FindFirstChild("HumanoidRootPart"))
and character.HumanoidRootPart.Position or Camera.CFrame.Position
for _, drone in ipairs(Drones:GetChildren()) do
local lifeStatus = drone:FindFirstChild("LifeStatus")
if lifeStatus and lifeStatus.Value then
local dronePos = drone:GetPivot().Position
local distance = (dronePos - originPos).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestDrone = drone
end
end
end
return closestDrone
end
RunService.RenderStepped:Connect(function()
local viewportSize = Camera.ViewportSize
local screenBottom = Vector2.new(viewportSize.X / 2, viewportSize.Y)
local cameraPos = Camera.CFrame.Position
for drone, data in pairs(trackedDrones) do
if espEnabled and drone and drone.Parent and drone:IsA("Model") then
local dronePos = drone:GetPivot().Position
local distance = math.floor((dronePos - cameraPos).Magnitude)
if distance <= MAX_ESP_DISTANCE then
local screenPos, onScreen = Camera:WorldToViewportPoint(dronePos)
if onScreen then
local currentColor = (distance <= 1000) and COLOR_IN_RANGE or COLOR_DANGER
data.Highlight.Enabled = true
data.Highlight.FillColor = currentColor
data.Highlight.OutlineColor = currentColor
data.Line.Color = currentColor
data.Line.From = screenBottom
data.Line.To = Vector2.new(screenPos.X, screenPos.Y)
data.Line.Visible = true
data.Text.Color = currentColor
data.Text.Position = Vector2.new(screenPos.X, screenPos.Y - 25)
data.Text.Text = string.format("%d Studs", distance)
data.Text.Visible = true
else
data.Highlight.Enabled = false
data.Line.Visible = false
data.Text.Visible = false
end
else
data.Highlight.Enabled = false
data.Line.Visible = false
data.Text.Visible = false
end
else
if data.Highlight then data.Highlight.Enabled = false end
data.Line.Visible = false
data.Text.Visible = false
end
end
if aimlockEnabled then
local jammer = getJammer()
if jammer and jammer.Parent == LocalPlayer.Character then
local targetDrone = getClosestDrone()
if targetDrone then
local dronePos = targetDrone:GetPivot().Position
Camera.CFrame = CFrame.new(Camera.CFrame.Position, dronePos)
local fanEvent = jammer:FindFirstChild("Events") and jammer.Events:FindFirstChild("FanEvent")
if fanEvent then
fanEvent:FireServer(30)
end
JammedDroneRemote:FireServer(targetDrone, Camera.CFrame)
end
end
end
end)
EspButton.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
if espEnabled then
EspButton.Text = "ESP: ON"
EspButton.BackgroundColor3 = Color3.fromRGB(40, 180, 40)
else
EspButton.Text = "ESP: OFF"
EspButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
hideAllESP()
end
end)
AimlockButton.MouseButton1Click:Connect(function()
aimlockEnabled = not aimlockEnabled
if aimlockEnabled then
AimlockButton.Text = "Aimlock: ON"
AimlockButton.BackgroundColor3 = Color3.fromRGB(40, 180, 40)
else
AimlockButton.Text = "Aimlock: OFF"
AimlockButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
end
end)Features & Information
- Dynamic ESP (Tracers, Distance in Studs, and Highlights)
- Distance-based Color Switch (Turns Green within 1000 Studs)
- Custom Distance Filter (Ignores objects beyond 500k studs)
- Automated Camera Lock-On / Aimlock
- Auto-Bypass / Infinite Fan Activation
- Draggable UI with Independent Toggles

Nice script