Author Topic: Image/Mount Limit?  (Read 344 times)

I'm trying to mount five images to five nodes at once. However, it's only mounting the images to the first three. Is this a limit, or is there a way around this?

Code: [Select]
datablock AudioProfile(RocketChairLoop)
{
filename    = "./rocketLoop.wav";
   description = AudioCloseLooping3d;
   preload = true;
};

datablock AudioProfile(RocketChairStop)
{
filename    = "./rocketStop.wav";
   description = AudioClose3d;
   preload = true;
};

datablock FlyingVehicleData(RocketChairVehicle)
{
   //Tagged fields for mission editor
      category = "Vehicles";
      displayName = " ";

   //Shapebase Fields
      shapeFile   = "./Chair.dts"; 
      emap        = true;
      mass        = 200;
      drag        = 1.7;
      density     = 4;
     
      maxDamage = 350.00;
      destroyedLevel = 350.00;
      energyPerDamagePoint = 160;
      speedDamageScale = 1.04;
      collDamageThresholdVel = 20.0;
      collDamageMultiplier   = 0.02;





   //Tagged fields for mounting
      minMountDist = 3;   
      numMountPoints = 1;
      mountThread[0] = "sit";



lookUpLimit = 0.5;
lookDownLimit = 0.5;

   //Vehicle Fields:
      jetForce          = 500;
      jetEnergyDrain    = 8;
      minJetEnergy      = 1;

      massCenter        = "0 0 0";
      //massBox           = "1 1 1";
      bodyRestitution   = 0.5;
      bodyFriction      = 0.5;
      //softImpactSound   = ; //AudioProfile
      //hardImpactSound   = ; //AudioProfile

      minImpactSpeed    = 25;
      softImpactSpeed   = 25;
      hardImpactSpeed   = 50;
      minRollSpeed      = 0;
      maxSteeringAngle  = 0.785;

      maxDrag        = 40;
      minDrag        = 50;
      integration    = 4;
      collisionTol   = 0.1;
      contactTol     = 0.1;

      cameraRoll     = false;
      cameraMaxDist  = 25;       
      cameraLag      = 0.0;
      cameraDecay    = 0.0;//exec("add-ons/vehicle_blackhawk/vehicle_blackhawk.cs");
      cameraOffset   = 5.5;
      cameraTilt     = 0.0;

      //dustEmitter       = ; //ParticleEmitterData
      triggerDustHeight = 3.0;
      dustHeight        = 1.0;

      numDmgEmitterAreas   = 0;
     
      damageEmitter[0] = vehicleBurnEmitter;
      damageEmitterOffset[0] = "0.0 0.0 0.0 ";
      damageLevelTolerance[0] = 0.99;

      damageEmitter[1] = vehicleBurnEmitter;
      damageEmitterOffset[1] = "0.0 0.0 0.0 ";
      damageLevelTolerance[1] = 1.0;

      //splashEmitter[0]        = ; //ParticleEmitterData

      splashFreqMod     = 300.0;
      splashVelEpsilon  = 0.50;

      exitSplashSoundVelocity    = 2.0;
      softSplashSoundVelocity    = 1.0;
      mediumSplashSoundVelocity  = 2.0;
      hardSplashSoundVelocity    = 3.0;

      collDamageThresholdVel  = 20;
      collDamageMultiplier    = 0.05;

   //For Wrench Gui
      uiName   = "Rocket Chair";
      rideAble = true;
      paintable = false;
     
      minRocketSpeed = 0.4;

   //Flying vehicle fields
      //jetSound = ;      //AudioProfile
      //engineSound = ;   //AudioProfile

maneuveringForce = 4000; // Horizontal jets (W,S,D,A key thrust)
horizontalSurfaceForce = 20; // Horizontal center "wing" (provides "bite" into the wind for climbing/diving and turning)
verticalSurfaceForce = 100; // Vertical center "wing" (controls side slip. lower numbers make MORE slide.)
autoInputDamping = 0.95; // Dampen control input so you don't` whack out at very slow speeds
steeringForce = 1000; // Steering jets (force applied when you move the mouse)
steeringRollForce = -20; // Steering jets (how much you heel over when you turn) 5
rollForce = 1; // Auto-roll (self-correction to right you after you roll/invert)
autoAngularForce = 1000; // Angular stabilizer force (this force levels you out when autostabilizer kicks in)
rotationalDrag = 8; // Anguler Drag (dampens the drift after you stop moving the mouse...also tumble drag)
autoLinearForce = 100; // Linear stabilzer force (this slows you down when autostabilizer kicks in)
maxAutoSpeed = 15; // Autostabilizer kicks in when less than this speed. (meters/second)
hoverHeight = 0; // Height off the ground at rest
createHoverHeight = 0; // Height off the ground when created //exec("add-ons/vehicle_U1.cs");


      minTrailSpeed        = 1;
      vertThrustMultiple   = 1.0;

   
   //Tagged fields for damage
      initialExplosionProjectile = vehicleExplosionProjectile;
      initialExplosionOffset = 0;         //offset only uses a z value for now

      burnTime = 500;

      finalExplosionProjectile = vehicleFinalExplosionProjectile;
      finalExplosionOffset = 0.5;          //offset only uses a z value for now

      minRunOverSpeed    = 5;   //how fast you need to be going to run someone over (do damage)
      runOverDamageScale = 5;   //when you run over someone, speed * runoverdamagescale = damage amt
      runOverPushScale   = 1.2; //how hard a person you're running over gets pushed

//Heightcontrol parameters
heightcontrol= 1; //Enables the heightcontrol support for this vehicle
ascendVelocity= 2.75; //The velocity it adds when a user presses/holds the jumpkey
descendVelocity= -1.00; //The velocity it extracts when a user presses/holds the jumpkey

};

datablock ParticleData(rocketChairTrailParticle)
{
dragCoefficient      = 3;
gravityCoefficient   = 1.0;
inheritedVelFactor   = 0.15;
constantAcceleration = 0.0;
lifetimeMS           = 150;
lifetimeVarianceMS   = 10;
textureName          = "base/data/particles/cloud";
spinSpeed = 10.0;
spinRandomMin = -150.0;
spinRandomMax = 150.0;
colors[0]     = "1.0 1.0 0.0 0.4";
colors[1]     = "1.0 0.2 0.0 0.5";
   colors[2]     = "0.20 0.20 0.20 0.3";
   colors[3]     = "0.0 0.0 0.0 0.0";

sizes[0]      = 0.25;
sizes[1]      = 0.85;
   sizes[2]      = 0.35;
  sizes[3]      = 0.05;

   times[0] = 0.0;
   times[1] = 0.05;
   times[2] = 0.3;
   times[3] = 1.0;

useInvAlpha = false;
};
datablock ParticleData(rocketChairSmallTrailParticle : rocketChairTrailParticle)
{
sizes[0]      = 0.01;
sizes[1]      = 0.45;
   sizes[2]      = 0.05;
  sizes[3]      = 0.01;
};
datablock ParticleEmitterData(rocketChairBigTrailEmitter)
{
   ejectionPeriodMS = 5;
   periodVarianceMS = 1;
   ejectionVelocity = 3.0;
   velocityVariance = 0.0;
   ejectionOffset   = 0.25;
   thetaMin         = 0;
   thetaMax         = 2;
   phiReferenceVel  = 0;
   phiVariance      = 360;
   overrideAdvance = false;
   particles = "rocketChairTrailParticle";

   uiName = "Rocket Chair Trail Big";
};
datablock ParticleEmitterData(rocketChairSmallTrailEmitter)
{
   ejectionPeriodMS = 5;
   periodVarianceMS = 1;
   ejectionVelocity = 3.0;
   velocityVariance = 0.0;
   ejectionOffset   = 0.65;
   thetaMin         = 0;
   thetaMax         = 2;
   phiReferenceVel  = 0;
   phiVariance      = 360;
   overrideAdvance = false;
   particles = "rocketChairSmallTrailParticle";

   uiName = "Rocket Chair Trail Small";
};

datablock ShapeBaseImageData(RocketImageOuter)
{
shapeFile = "base/data/shapes/empty.dts";
emap = false;

mountPoint = 2;
//rotation = "1 0 0 180";

stateName[0] = "FireA";
stateTransitionOnTimeout[0] = "Stop";
stateWaitForTimeout[0] = true;
stateTimeoutValue[0] = 10000;
stateEmitter[0] = rocketChairSmallTrailEmitter;
stateEmitterTime[0] = 10000;

stateName[1] = "Stop";
stateTransistionOnTimeout[1] = "Done";
stateWaitForTimeout[1] = true;
stateTimeoutValue[1] = 500;
stateSound[1] = RocketChairStop;

stateName[2] = "Done";
stateScript[2] = "onDone";

};

datablock ShapeBaseImageData(RocketImageOuter2 : RocketImageOuter)
{
mountPoint = 3;

};

datablock ShapeBaseImageData(RocketImageOuter3 : RocketImageOuter)
{
mountPoint = 4;

};

datablock ShapeBaseImageData(RocketImageOuter4 : RocketImageOuter)
{
mountPoint = 5;

};

datablock ShapeBaseImageData(RocketImageCenter : RocketImageOuter)
{
stateSound[0]        = RocketChairLoop;
mountPoint = 1;
stateEmitter[0] = rocketChairBigTrailEmitter;


};


function RocketImageCenter::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

function RocketImageOuter::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

function RocketImageOuter2::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

function RocketImageOuter3::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

function RocketImageOuter4::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

function speedCheck(%obj, %vehicle)
{
if(!isObject(%obj))
return;

%speed = vectorLen(%obj.getVelocity());
if(%speed < %obj.dataBlock.minRocketSpeed)
{
if(%obj.getMountedImage(3) !$= "")
{
%obj.unMountImage(1);
%obj.unMountImage(2);
%obj.unMountImage(3);
%obj.unMountImage(4);
%obj.unMountImage(5);
}
}
else
{
if(%obj.getMountedImage(3) $= 0)
{
%obj.mountImage(RocketImageCenter,1);
%obj.mountImage(RocketImageOuter,2);
%obj.mountImage(RocketImageOuter2,3);
%obj.mountImage(RocketImageOuter3,4);
%obj.mountImage(RocketImageOuter4,5);
}
}

schedule(500,0,"speedCheck",%obj);
}

function RocketChairVehicle::onadd(%this,%obj)
{
speedCheck(%obj);
}