My problem was a code snippet i put in my autorun script lol.
restrictions = { }
restrictions.tools = { }
function restrictions.Add( tool )
table.insert( restrictions.tools, tool )
end
function restrictions.Blocker( pl, trace, tool )
return !table.HasValue( restrictions.tools, tool ) or pl:IsAdmin( )
end
hook.Add( "CanTool", "ToolRestrictions", restrictions.Blocker )
//To add restrictions, look at the file name of the tool.
//Take the Advanced Ballsocket for example - its name is "Advanced Ball Socket" ( or something like that )
//But its FILE NAME is ballsocket_adv.lua, so we ignore the .lua part and then have the tool's real name.
//To find the tools:
//Go to the tool's folder, and look inside the lua/weapons/weapon_stool/stools folder.
//There should be the file name, so remove the .lua part and use that alone.
//So, if I want stacker to be admin only,
restrictions.Add( "npcspawner" )
restrictions.Add( "slammer" )