getgenv().isHolding = false local Players = game:GetService("Players") local player = Players.LocalPlayer repeat task.wait() until player and player:FindFirstChild("Backpack") local mouse = player:GetMouse() local function kill(target) local character = target:FindFirstAncestorOfClass("Model") if character and character ~= player.Character then local Anim = Instance.new("Animation") Anim.AnimationId = "rbxassetid://204062532" local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local humanoid = char:WaitForChild("Humanoid") local track = humanoid:LoadAnimation(Anim) track:Play(0.1, 1, 1) local humanoid = character:FindFirstChildOfClass("Humanoid") local head = character:FindFirstChild("Head") if humanoid and head then local rootPart = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if rootPart then local npcCFrame = head.CFrame local leftOffset = -npcCFrame.RightVector * 1 local backOffset = -npcCFrame.LookVector * 1 local finalPosition = npcCFrame.Position + leftOffset + backOffset rootPart.CFrame = CFrame.new(finalPosition, finalPosition + npcCFrame.LookVector) end humanoid:ChangeState(Enum.HumanoidStateType.Dead) end end end local tool = Instance.new("Tool") tool.Name = "Punch NPC (By White Cat)" tool.CanBeDropped = false tool.RequiresHandle = true local handle = Instance.new("Part") handle.Name = "Handle" handle.Size = Vector3.new(1, 1, 1) handle.Transparency = 1 handle.CanCollide = false handle.Parent = tool tool.Equipped:Connect(function() getgenv().isHolding = true end) tool.Unequipped:Connect(function() getgenv().isHolding = false end) mouse.Button1Down:Connect(function() if getgenv().isHolding and mouse.Target then kill(mouse.Target) end end) tool.Parent = player.Backpack