Death Ball Test TpParry
Key RequiredUniversal

Death Ball Test TpParry

Universal Scriptyukizziyukizzi 998 views 13.2K executesUpdated Aug 1, 2026
Unrated
00
Lua Script•260 lines (5504 chars)
---==== 
---====
---====
---====
---====
local Vitrual = game:GetService("VirtualInputManager")
local RunService = game:GetService("RunService")
local workspace = game:GetService("Workspace")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer

local CurrentCharacter = Player.Character or Player.CharacterAdded:Wait()
local humanoid = CurrentCharacter:WaitForChild("Humanoid")
local PlayerRoot = CurrentCharacter:WaitForChild("HumanoidRootPart")

local SavePositionPlayer = nil

Player.CharacterAdded:Connect(function(character)
	CurrentCharacter = character
end)

-- === States === --
local States = {
	Wait = "Wait",
	Target = "Target",
}
local CurrentState = States.Wait 
local function UpdateState(State)
	if not States[State] then
		warn("ERROR STATE:", State)
		return
	end
	CurrentState = State
end

-- == -- == -- == -- Follow Block -- == -- == -- == -- == -- == -- == -- == -- == --
local FollowBlock = Instance.new("Part", workspace)
FollowBlock.Size = Vector3.new(8, 8, 8)
FollowBlock.Anchored = true
FollowBlock.CanCollide = false
FollowBlock.Transparency = 0
FollowBlock.Color = Color3.new(0.101961, 1, 0)


-- === Delete/AddBall Function === -- 
local function CreateBallBillboard(Part)
	local billboard = Instance.new("BillboardGui", Part)
	billboard.Name = "BallBillboard"
	billboard.Size = UDim2.fromScale(7, 4)
	billboard.StudsOffset = Vector3.new(0, 3, 0)
	billboard.AlwaysOnTop = false
	billboard.MaxDistance = 300
	billboard.Enabled = true
	billboard.Adornee = Part

	local label = Instance.new("TextLabel", billboard)
	label.Size = UDim2.fromScale(1, 1)
	label.BackgroundTransparency = 1
	label.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	label.TextColor3 = Color3.fromRGB(255, 255, 255)
	
	label.RichText = true
	label.TextScaled = true
	label.Text = "Ball:" .. Part.Name

	local corner = Instance.new("UICorner", label)
	corner.CornerRadius = UDim.new(0, 4)
	
end


local CurrentBall = nil
local FollowConnection = nil

local function NewGet(Part)
	if FollowConnection then
		FollowConnection:Disconnect()
		FollowConnection = nil
	end
	
	FollowConnection = Part:GetPropertyChangedSignal("CFrame"):Connect(function()
		if Part and Part.Parent and FollowBlock then
			FollowBlock.CFrame = Part.CFrame
		end
	end)
end

local function SearchBall(Part)
	if Part.Name ~= "Part" then
		return false
	end
	if Part.Parent ~= workspace then
		return false
	end
	
	if not Part:IsA("MeshPart") then
		return false
	end
	
	local Highlight = Part:FindFirstChild("Highlight")
	if not Highlight then
		return false
	end
	
	if Highlight.FillTransparency == 0.5 then
		return false
	end
	
	return true
end

for _, Part in pairs(workspace:GetChildren()) do
	if SearchBall(Part) then
		CurrentBall = Part
		CurrentBallPosition = Part.Position
		CreateBallBillboard(Part)
		NewGet(Part)
		print("Ball: " .. Part.Name)
		break
	end
end

workspace.ChildAdded:Connect(function(Part)
	if SearchBall(Part) then
		CurrentBall = Part
		CurrentBallPosition = Part.Position
		CreateBallBillboard(Part)
		NewGet(Part)
		print("Ball: " .. Part.Name)
		
	end
end)

workspace.ChildRemoved:Connect(function(Part)
	if Part == CurrentBall then
		CurrentBall = nil
		CurrentBallPosition = nil
		
		if FollowConnection then
			FollowConnection:Disconnect()
			FollowConnection = nil
		end
		print("Ball.Deleted: " .. Part.Name)
	end
end)

-- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- ==
local function DeletekillBlock(Part)
	 local FX = workspace:FindFirstChild("FX")
	 if not FX then
		 return false
	 end

	if Part.Parent ~= FX then
		return false
	end
	 
	if not Part:IsA("Part") then        
		return false
	end
	 
	 if Part.Name ~= "Part" then
		return false
	 end
	 
	 if Part.Material ~= Enum.Material.Neon then
		return false
	 end
	 
	 if Part.Color ~= Color3.fromRGB(255, 0, 0) then
		 return false
	 end
	 
	 if Part.CastShadow ~= true then
		return false
	 end
	 
	 return true
end

local FX = workspace:FindFirstChild("FX")
if FX then
for _, Part in pairs(workspace.FX:GetChildren()) do
	if DeletekillBlock(Part) then
		task.defer(function()
			Part:Destroy()
			print("Kill.Part:" .. Part.Name  ..":Destroy()")
		end)
	end
end

workspace.FX.ChildAdded:Connect(function(Part)
	if DeletekillBlock(Part) then
		task.defer(function()
			  Part:Destroy()
			  print("Kill.Part:" .. Part.Name  ..":Destroy()")
		   end)
	    end
    end)
end

-- === Parry Function and t/d === -- 
local function parry()
	Vitrual:SendKeyEvent(true, Enum.KeyCode.F, false, game)
	Vitrual:SendKeyEvent(false, Enum.KeyCode.F, false, game)
end

local function IsTarget()
	local Highlight = CurrentCharacter:FindFirstChild("Highlight", true)
	if not Highlight then
		return false
	end
	
	if Highlight.FillTransparency == 1 then
		return false
	end
	
    return true
end

local function IsParry()
	local Highlight = CurrentCharacter:FindFirstChild("Highlight", true)
	if not Highlight then
		return false
	end
	
	if Highlight.OutlineTransparency == 1 then
		return false
	end
	
	return true
end


RunService.PreRender:Connect(function()
	
	if IsTarget() then
		UpdateState(States.Target)
	end
	
	if not IsTarget() then
		UpdateState(States.Wait)
	end
end)

local function Update()
	if CurrentState == States.Wait then
	   print("awawa")
	end
	
	if CurrentState == States.Target then
		parry()
		task.defer(function()
				PlayerRoot.Position = CurrentBall.Position
		end)
	end
end

RunService.PreRender:Connect(Update)
---- awawa — w — By @yukizzi

Features & Information

-- WARNING -- Use this script only on alternate accounts that are not linked to any email address and were created using a VPN or proxy. Failure to follow these precautions may result in your main account, as well as any other linked accounts, being banned from this game.

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts