could be better but here's the jist of it:
function serverCmdWeapon(%client, %uiName)
{
%player = %client.player;
if(!isObject(%client.player) || %uiName $= "")
return;
for(%i = 0; %i < DataBlockGroup.getCount(); %i++)
{
%obj = DataBlockGroup.getObject(%i);
if(%obj.getClassName() $= "ItemData" && strStr(strlwr(%obj.uiName), strlwr(%uiName)) != -1)
{
%item = %obj;
break;
}
}
if(!isObject(%item)) //item not found
return;
for(%i = 0; %i < %player.dataBlock.maxTools; %i++)
{
if(%player.tool[%i] == %item)
return;
if(!%player.tool[%i])
{
%slot = %i;
break;
}
}
if(%slot $= "") //no tool slots available
return;
%player.tool[%slot] = %item;
messageClient(%client, 'MsgItemPickup', "", %slot, %item);
}
use as /weapon shotgun, /weapon rocket etc.