Tool Gets automatically picked up even though Touch Interests are destroyed

What do you want to achieve? Stop automatically picking up the tool when the player drops it.

What is the issue? I have scripts that check for TouchInterests and deletes them if one is found.
The issue here is when the tool gets dropped (Using custom tool drop system), there’s a random high chance that the player dropping the tool will automatically pick it back up even though the scripts are deleting the touch interests.

What solutions have you tried so far? I’ve searched on some Topics and can’t seem to solve my issue.

Here’s the TouchInterest detector script i made

script.Parent.ChildAdded:Connect(function(child)
	if child:IsA("TouchTransmitter") or child:IsA("TouchInterest") then
		wait()
		child:Destroy()
	end
end)
4 Likes

i dont think this is based on touchinterests i think its hard-coded by roblox to do that

Normally, Deleting TouchInterests would resolve the issue and make it so the tool cannot be picked up.

Disabling the ability to pick up tools when walked over them

1 Like

Ok after looking inside the Tool model while testing, This is what i found.

image

The TouchInterest still exists. I have just tried using a while loop to delete it but not even this works.

1 Like

Try setting CanTouch to false

1 Like

notice how that post never had a solution… thats why i think that roblox coded it to do that and it cant be changed

3 Likes

Unfortunately this does not work.

1 Like

If all else fails, you can always use a check in Backpack.ChildAdded for the tool’s name and delete it if it matches.

I feel as though that would be unnecessary as it would just be checking when a tool gets added to the players backpack. (Being pointless because at that time the tool would of already been automatically picked up. Something I’m trying to remove).

If you do not intend to keep the tool lingering, you can have the tool deleted when dropped which would not allow it to be picked up. You can also mess with what makes a tool a tool, like Class, Names, etc. though I’m not sure why the previous solutions have not worked.

I’m sorry but that will not be possible as it would mess up the entire system I’m making.

Why don’t you want them to pick it up? Could you only insert the handle if it’s just for visuals when they drop it?

1 Like

There will be a manual proximity prompt to pick it back up but its currently auto picking it back up without using the prompt.

I find this very odd, as I did some research, and the solutions prior seem to be common practice with the task you want to achieve. How can I disable TouchInterests? - #2 by TOP_Crundee123

Also, side note: use task.wait() instead of wait().

Ive never used Task.Wait. What difference does it make?

Could you disable CanBeDropped, and use UserInputService to check for when they press backspace, and then insert the tool’s handle based on their humanoidrootpart lookvector, add a proximity prompt to that, clone the actual tool and delete the handle in workspace when the proximity prompt is activated.

It’s faster and more accurate compared to wait()

Refer to this thread.
TL;DR: It’s more optimized

Currently in my system, CanBeDropped = false and the user presses ‘Q’ to drop tool. I could try deleting the tool and cloning it.

Clone the handle, delete the tool