Not by default. This is what I use:
function GameConnection::forceEquip(%this,%slot,%item)
{
%player = %this.player;
if(!isObject(%player))
return;
if(!isObject(%item))
%item = 0;
%oldTool = %player.tool[%slot];
%player.tool[%slot] = %item;
messageClient(%this,'MsgItemPickup','',%slot,%item);
if(!isObject(%oldTool))
%player.weaponCount ++;
}