kick downed player Evade
Key RequiredUniversal

kick downed player Evade

Universal Scriptbenjaminthhansen073benjaminthhansen073 873 views 32 executesUpdated Mar 18, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•163 lines (3699 chars)
local Players = game:GetService("Players")
local VirtualInputManager = game:GetService("VirtualInputManager")

local player = Players.LocalPlayer

local function getCharacter()
	return player.Character or player.CharacterAdded:Wait()
end

local function getRoot()
	return getCharacter():WaitForChild("HumanoidRootPart")
end

local function pressQ()
	VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Q, false, game)
	task.wait(0.05)
	VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Q, false, game)
end

local SAVE_PART_NAME = "SavePart"

local function makeSavePart()
	local root = getRoot()
	local savePart = workspace:FindFirstChild(SAVE_PART_NAME)

	if not savePart then
		savePart = Instance.new("Part")
		savePart.Name = SAVE_PART_NAME
		savePart.Size = Vector3.new(4, 1, 4)
		savePart.Anchored = true
		savePart.CanCollide = true
		savePart.Color = Color3.fromRGB(0, 255, 0)
		savePart.Parent = workspace
	end

	savePart.CFrame = CFrame.new(root.Position - Vector3.new(0, 3, 0))
end

local function isDownedCharacter(character)
	if not character then
		return false
	end

	if character:GetAttribute("Downed") == true then
		return true
	end

	if character:GetAttribute("downed") == true then
		return true
	end

	local downed = character:FindFirstChild("Downed")
	if downed and downed:IsA("BoolValue") and downed.Value == true then
		return true
	end

	local knocked = character:FindFirstChild("Knocked")
	if knocked and knocked:IsA("BoolValue") and knocked.Value == true then
		return true
	end

	local ko = character:FindFirstChild("KO")
	if ko and ko:IsA("BoolValue") and ko.Value == true then
		return true
	end

	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if humanoid and humanoid.Health > 0 and humanoid.PlatformStand then
		return true
	end

	return false
end

local function findNearestDownedRoot()
	local myRoot = getRoot()
	local nearestRoot = nil
	local nearestDistance = math.huge

	for _, otherPlayer in ipairs(Players:GetPlayers()) do
		if otherPlayer ~= player then
			local character = otherPlayer.Character
			if character and isDownedCharacter(character) then
				local root = character:FindFirstChild("HumanoidRootPart")
				if root then
					local distance = (myRoot.Position - root.Position).Magnitude
					if distance < nearestDistance then
						nearestDistance = distance
						nearestRoot = root
					end
				end
			end
		end
	end

	return nearestRoot
end

local busy = false

local function rescue()
	if busy then
		return
	end
	busy = true

	local root = getRoot()
	local targetRoot = findNearestDownedRoot()

	if not targetRoot then
		warn("No downed player found")
		busy = false
		return
	end

	local savePart = workspace:FindFirstChild(SAVE_PART_NAME)
	if not savePart then
		warn("Make SavePart first")
		busy = false
		return
	end

	-- TP to downed player
	root.CFrame = targetRoot.CFrame + Vector3.new(0, 2, 0)

	task.wait(0.6)
	pressQ()

	task.wait(0.2)

	-- TP high
	root.CFrame = root.CFrame + Vector3.new(300,10000, 0)

	task.wait(2)
	pressQ()

	task.wait(0.6)

	-- TP back
	root.CFrame = savePart.CFrame + Vector3.new(0, 3, 0)

	busy = false
end

local gui = Instance.new("ScreenGui")
gui.Name = "RescueGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local saveBtn = Instance.new("TextButton")
saveBtn.Size = UDim2.new(0, 150, 0, 50)
saveBtn.Position = UDim2.new(0, 20, 0.5, -60)
saveBtn.Text = "Save"
saveBtn.Parent = gui

local rescueBtn = Instance.new("TextButton")
rescueBtn.Size = UDim2.new(0, 150, 0, 50)
rescueBtn.Position = UDim2.new(0, 20, 0.5, 10)
rescueBtn.Text = "Rescue"
rescueBtn.Parent = gui

saveBtn.MouseButton1Click:Connect(makeSavePart)
rescueBtn.MouseButton1Click:Connect(rescue)

Features & Information

can kick downed player in Evade

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts