Hello, I am not sure if this is very obvious or not, but I am clearly missing out on something lol. Is there a way I could disable a player walking over a tool and picking it up? It seems that is preset so the player can just walk on top of the tool and pick it up or if the tool hits the player it will go into their inventory. Is there a way I can disable this like on an action? For example if the player clicks the player cant pick the tool up for like 5 seconds or something when it drops on the ground. I have already tried changing the name of the Handle to something else, but for some reason the tool just acts as if the collision is turned off and just falls of the baseplate and gets deleted from the workspace which confuses me. It would be great if somebody could give me possibly a work around or how to fix this.
If the tool’s handle’s name isn’t “Handle”, then the tool will not be picked up. For the cool down, just change the handles name to anything but “Handle”.
When you want to re-enable picking up, change the name of the handle back to “Handle”.
EDIT: Sorry, re-read. This should give you the result that you are after. Not sure why the tool falls through the baseplate. It seems like an unrelated issue.
Update I figured out the problem and like you said it was unrelated to naming, the problem was having is that I was changing the name before I changed the objects parent which I believe caused n error that I don’t feel like explaining lol
From the server so that it replicates, remove the TouchInterest instance from the Tool’s Handle. One is created when a Tool is parented to the workspace and that controls the ability for the player to pick up tools by walking over them. The same is applicable to accessories.
It can be as simple as:
workspace.ChildAdded:Connect(function (tool)
if tool:IsA("Tool") and tool:FindFirstChild("Handle") then
local touchInterest = tool.Handle:FindFirstChildOfClass("TouchTransmitter")
if touchInterest then
touchInterest:Destroy()
end
end
end)
Or any other method you prefer. A note though: while this is the only way to accomplish this, it’s also very bad on performance because the connection will still exist internally.
Ok so say I have a ball and I want it to bounce off of a person while the ball is in the air and it touches him, how would I do this since the person will pick it up immediately. But I also want the user to be able to pick up the ball again after it hits the ground. Is there any more efficient way I could do this than having this since it could effect performance?
Yes, by creating this interaction yourself. Instead of using the tool’s handle as the ball, create a new part in the likeness of the handle (cloning the handle is enough too) and shoot that part out. After a while, 5 seconds later maybe, connect a Touched event to a stray ball. When the ball is touched by a player character, disconnect the event and give them a ball tool.