Walking on gear and picking it up

Hi, I have a gear on a table and when a player clicks it they pick it up. But when a player touches it it removes it from the table and the player takes it. How do I make it so a player can’t do that?

Im not sure if im understanding your problem correctly. From what I understand, I’m pretty sure your problem can be fixed by removing the ‘TouchInterest’ inside of the gear’s Handle.

There is no TouchInterest in the handle

I’d need to see some screen shots and code lines of the problem to debug

Script:

	if not player.Backpack:FindFirstChild("Smore") then
		script.Parent:Clone().Parent = player.Backpack
	end
end)

When you touch the smore it goes into your backpack and removes it from the part it’s on. I don’t want this to happen.

The behavior you’re describing is identical to how a TouchInterest acts. Your code seems fine, and if there isnt a touchinterest in your handle. I have no clue what the issue is.

Is this because the item is still a gear?
image

Possibly the ‘CanBeDropped’ could be causing this issue. The game might think the gear is dropped.

I can still pick it up. There is no TouchIntrest and CanBeDropped is unselected.

An easier option would be to clone the handle and put it in the workspace with no scripts and then make a script that clones the tool into the player’s backpack when clicked.

Doubt this’ll work, but try setting Tool.Enabled to false.

If not, just replicate the tool into a model, and add a click detector to a part that encompasses all the parts of the tool.

Can you show me how to script this?

I would put the model only and then put the real tool in serverstorage and have a script that will give it to the player when they click the model.

Edit: I cant provide any code rn but in 1-2 hours I will be able to

You would need to put the tool you want in your backpack in server storage.

Then put a script in the model which you put in the workspace.
Like this

local Debounce = false
script.Parent.Touched:Connect(function(hit)
      if not Debounce then
              local Tool = game.ServerStorage.ToolName:Clone()
              local Players = game.Players
              local Player = Players:GetPlayerFromCharacter(hit.Parent)
              Tool.Parent = Player.Backpack
              Debounce = true
              wait(whatever you want)
              Debounce = false
    end)
end)