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?
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);
}