I want this script to drop the tool and remove it from its backpack, specifically when it is equipped. This script is in working order, but despite how I want it to really work, It doesn't. The issue I'm getting is that when I do die, the tool doesn't drop yet, until i respawn and it drops the tool I was holding. I want to make it when if you die, it immediately drops the tool so the enemy can pick it up and keep it, instead of waiting for 10 seconds for the body to despawn.
For those who wanted to know where this script is located is a script in StarterCharacterScripts.
local character = script.Parent local humanoid = character:FindFirstChild("Humanoid") local player = game.Players:GetPlayerFromCharacter(character) local backpack = player:WaitForChild("Backpack") local hadToolEquipped = false humanoid.Died:Connect(function() print("Humanoid Died") for i, tool in pairs(character:GetChildren()) do if tool:IsA("Tool") then hadToolEquipped = true tool.Parent = game.ReplicatedStorage end end end) player.CharacterRemoving:Connect(function(character) print("Character Removed") for i, tool in pairs(backpack:GetChildren()) do if tool:IsA("Tool") and tool:FindFirstChild("Handle") then tool.Parent = game.Workspace tool.Handle.CFrame = character.HumanoidRootPart.CFrame end end if hadToolEquipped == true then local equippedTool = game.ReplicatedStorage:FindFirstChildOfClass("Tool") equippedTool.Parent = game.Workspace equippedTool.Handle.CFrame = character.HumanoidRootPart.CFrame end end)