This is Gravity Cats Mount On Back Code:
datablock ShapeBaseImageData(gc_WeaponNameHereBackImage)
{
shapeFile = "./WeaponNameHere.dts";
emap = true;
mountPoint = $BackSlot;
offset = "0 -0.35 -0.9";
eyeOffset = "0 0 10";
rotation = eulerToMatrix("65 0 90");
armReady = false;
doColorShift = false;
};
function gc_WeaonNameHereImage::onMount(%this,%obj,%slot)
{
parent::onMount(%this,%obj,%slot);
if(%obj.getMountedImage(1).getName() $= "gc_WeaponNameHereBackImage") { %obj.unMountImage(1); }
}
function gc_WeaponNameHereImage::onUnMount(%this,%obj,%slot)
{
parent::onUnMount(%this,%obj,%slot);
%obj.unMountImage(1);
%obj.mountImage(gc_WeaponNameHereBackImage,1);
}
function gc_WeaponNameHereItem::onPickup(%this,%obj,%col,%a)
{
for(%i=0;%i<%col.getdatablock().maxTools;%i++)
{
%item = %col.tool[%i];
if(%item $= 0 || %item $= "")
{
%freeSlot = 1;
break;
}
}
if(%obj.canpickup && !isobject(%col.getmountedimage(1)) && %freeSlot) { %col.mountimage(gc_WeaponNameHereBackImage,1); }
parent::onPickup(%this,%obj,%col,%a);
}
package gc_WeaponNameHerePackage
{
function servercmdDropTool(%this,%slot)
{
if(isobject(%this.player.tool[%slot]) && %this.player.tool[%slot].getname() $= "gc_WeaponNameHereItem")
{
parent::servercmdDropTool(%this,%slot);
if(isobject(%this.player.getmountedimage(1)) && %this.player.getmountedimage(1).getname() $= "gc_WeaponNameHereBackImage") { %this.player.schedule(5,unmountimage,1); }
return;
}
parent::servercmdDropTool(%this,%slot);
}
};
activatepackage(gc_WeaponNameHerePackage);
Now Of Course, you don't have gc_ because thats Gravity_Cat... So Yeah. :|