function TankVehicle::onAdd(%this,%obj)
{
// Setup the car with some defaults tires & springs
for(%i = 0; %i < %this.numWheels; %i++)
{
%obj.setWheelTire(%i, %this.defaultTire);
%obj.setWheelSpring(%i, %this.defaultSpring);
}
// 4 wheel steering
%obj.setWheelSteering(0,1);
%obj.setWheelSteering(1,1);
%obj.setWheelSteering(2,-0.8);
%obj.setWheelSteering(3,-0.8);
// 4 wheel drive
%obj.setWheelPowered(0,true);
%obj.setWheelPowered(1,true);
%obj.setWheelPowered(2,true);
%obj.setWheelPowered(3,true);
// turret
%t = new AIPlayer()
{
dataBlock = TankTurretPlayer;
};
if(isObject(%t)) //creation can fail due to quota limit
{
MissionCleanup.add(%t);
%obj.mountObject(%t, 2);
%obj.turret = %t;
%t.schedule(10,"rigTurret");
}
%obj.creationTime = getSimTime();
}
The //turret comment is what you're specifically looking for. Remember that your bot is in fact a TSShapeConstructor and will need look/root animations.
And also be sure to rig your turret and delete it upon the removal of the vehicle/destruction of the vehicle.
function Player::rigTurret(%obj)
{
if(%obj.dataBlock !$= TankTurretPlayer)
return;
if(!isObject(%obj))
return;
%parent = %obj.getObjectMount();
if(!isObject(%parent))
return;
%obj.spawnBrick = %parent.spawnBrick;
%obj.brickGroup = %parent.brickGroup;
}
function TankVehicle::onRemove(%this,%obj)
{
if(isObject(%obj.turret))
%obj.turret.delete();
}