From Garry's Mod
Called when a player tries to pick up something using the "use" key, return to override.
The player trying to pick up something.
The Entity the player attempted to pick up.
Allow the player to pick up the entity or not.
Allows only admins to pick up things
local function up( ply, ent ) return ply:IsAdmin() end hook.Add( "AllowPlayerPickup", "some_unique_name", up )