I've been drifting towards tool creating, and created my gun so that when its dropped you click to pick it up. But of course, you can still just walk onto it and pick it up. I've been searching for about an hour an the only thing that might have helped me was a forum post, But it didn't due to the ROBLOX forums shutting down. I've tried "TouchInterest Removers" but they didn't work.
As mentioned in greatneil80's comment, removing the Touch Interest object'll do it.
Tool.ChildAdded:Connect(function(child) if child.Name == "TouchInterest" then child:Destroy() end)
I think I have a pretty easy solution. There are probably a lot of better ones out there though. What I think you should do is when the tool get's dropped you should run a script that takes the tool and makes it into a model and put's it into the workspace. This way players can't walk onto it and pick it up. From the script, you can then have it create a click detector and then once someone clicks it the model then get's made into a tool again and goes inside the player's backpack. If you would like some code on how to do this then let me know!