Force Drop a Tool

Does anyone know how to force a player to drop their tool by using a script?

1 Like

Yes!

local Tool=script.Parent
Tool.Parent=workspace
8 Likes

You can do this by simply reparenting the tool from their character to the workspace.

Tools while in a character will be equipped, however when in the workspace they are not.

3 Likes

It’s very simple. You just need to parent the tool to workspace.

local tool = script.Parent

tool.Equipped:Connect(function()
    tool.Parent = workspace
end)
1 Like

“Something unexpectedly tried to set the parent of Log to Workspace while trying to set the parent of Log. Current parent is Backpack.”

I want to limit the amount of tools the player can carry, but still allowing them to try and walk over tools to pick them up.

1 Like

Implement your own pickup logic for tool handles.

workspace.ChildAdded:Connect(function (child)
    if child:IsA("Tool") then
        local handle = child:FindFirstChild("Handle")
        if handle then
            local touchInterest = handle:FindFirstChildOfClass("TouchInterest")
            if touchInterest then
                touchInterest:Destroy()
            end

            handle.Touched:Connect(function (hit)
                -- Perform inventory check, then hand player tool if <n
            end)
        end
    end
end)
6 Likes