What you could do instead of the many packages, is just have one support package with the contents
package scopes
{
function Armor::onTrigger(%this, %player, %slot, %val)
{
if(isObject(%player.getMountedImage(0).scopeImage) && %slot $= 4 && %val)
%player.mountImage(%player.getMountedImage(0).scopeImage,0);
Parent::onTrigger(%this, %player, %slot, %val);
}
function servercmdDropTool(%client,%slot)
{
if(isObject(%client.player) && isObject(%client.player.getMountedImage(0).scopeImage))
%client.player.unMountImage(0);
}
};
activatePacakge(scopes);
Then just set the scopeImage of the unscoped weapon to the scope weapon, and vthe scopeImage of the scoped weapon to the unscoped one.