local players = game:GetService("Players")
local rs = game:GetService("ReplicatedStorage")
local run = game:GetService("RunService")
local drone_code, hover, wait_h, wait_t, poll = "pg-7vl", 5, 0.2, 0.2, 0.05
local lp, char = players.LocalPlayer, players.LocalPlayer.Character or players.LocalPlayer.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local net = rs:WaitForChild("Network")
local create, explode = net:WaitForChild("CreateDrone"), net:WaitForChild("ExplodeDrone")
_G.drone_loop = true

local function get_target_part(model)
	if model:IsA("Model") then
		if model:FindFirstChild("HumanoidRootPart") then return model.HumanoidRootPart
		elseif model.PrimaryPart then return model.PrimaryPart
		else
			for _, p in pairs(model:GetDescendants()) do
				if p:IsA("BasePart") then return p end
			end
		end
	end
	return nil
end
local function nearest()
	local n, s = nil, math.huge
	for _, p in pairs(workspace:GetDescendants()) do
		if p:IsA("BasePart") and not p.Anchored and not p:IsDescendantOf(char) then
			local is_bot = workspace:FindFirstChild("Bots") and p:IsDescendantOf(workspace.Bots)
			local is_player = false
			for _, pl in pairs(players:GetPlayers()) do
				if pl.Character and p:IsDescendantOf(pl.Character) then is_player = true break end
			end
			if not is_bot and not is_player then
				local d = (hrp.Position - p.Position).Magnitude
				if d < s then s, n = d, p end
			end
		end
	end
	return n
end
local function weighted_target()
	local player_list = {}
	for _, p in pairs(players:GetPlayers()) do
		if p ~= lp and p.Character then
			local part = get_target_part(p.Character)
			if part then table.insert(player_list, part) end
		end
	end
	local bot_list = {}
	if workspace:FindFirstChild("Bots") then
		for _, b in pairs(workspace.Bots:GetChildren()) do
			local part = get_target_part(b)
			if part then table.insert(bot_list, part) end
		end
	end
	if #player_list == 0 and #bot_list > 0 then
		return bot_list[math.random(1,#bot_list)]
	elseif #bot_list == 0 and #player_list > 0 then
		return player_list[math.random(1,#player_list)]
	elseif #player_list > 0 and #bot_list > 0 then
		if math.random() < 0.7 then
			return player_list[math.random(1,#player_list)]
		else
			return bot_list[math.random(1,#bot_list)]
		end
	end
	return nil
end
while _G.drone_loop do
	local label = lp:WaitForChild("PlayerGui"):WaitForChild("Main"):WaitForChild("ImageLabel"):WaitForChild("droneText")
	while label.Text=="0/2" do task.wait(0.1) end
	pcall(function() create:InvokeServer(drone_code) end)
	task.wait(0.2)
	local part
	repeat part=nearest() task.wait(poll) until part
	print("Controlling:", part:GetFullName())
	local hb = run.Heartbeat:Connect(function()
		if part and part.Parent then part.CFrame = hrp.CFrame + Vector3.new(0, hover, 0)
		else hb:Disconnect() end
	end)
	task.wait(wait_h) hb:Disconnect()
	local target = weighted_target()
	if target then part.CFrame = target.CFrame + Vector3.new(0, hover, 0) end
	task.wait(1)
	pcall(function() explode:FireServer() end)
end
FPV Drone Game Teleport drone kill
5,733 views
9 months ago

Teleport drone kill

WORKING
Free

Description

Uses server authority to move the drone to the victim and activate a remote event that should instantly kill the player or bot. This is opensource if you want to turn it into a script of your own but just credit me if used.

Features

  • Teleport the drone to a bot or player

Related Scripts