Author Topic: Where is the syntax error in this code?  (Read 1006 times)

Code: [Select]
datablock WheeledVehicleData(FoglioF4ClassicVehicle)
{

category = "Vehicles";
displayName = "Foglio F4 Classic";
shapeFile = "./f4classic.dts"
emap = false;
minMountDist = 3;
   
   numMountPoints = 1;
   mountThread[0] = "sit";

maxDamage = 200.00;
destroyedLevel = 200.00;
energyPerDamagePoint = 160;
speedDamageScale = 1.04;
collDamageThresholdVel = 20.0;
collDamageMultiplier   = 0.02;

massCenter = "0 0 0.4";
   //massBox = "2 5 1";

maxSteeringAngle = 0.8;  // Maximum steering angle, should match animation
integration = 4;           // Force integration time: TickSec/Rate
tireEmitter = VehicleTireEmitter; // All the tires use the same dust emitter

// 3rd person camera settings
cameraRoll = false;         // Roll the camera with the vehicle
cameraMaxDist = 10;         // Far distance from vehicle
cameraOffset = 6;        // Vertical offset from camera mount point
cameraLag = 10;           // Velocity lag of camera
cameraDecay = 0.75;        // Decay per sec. rate of velocity lag
cameraTilt = 0.4;
   collisionTol = 0.1;        // Collision distance tolerance
   contactTol = 0.1;

useEyePoint = false;

defaultTire = F4ClassicWheel;
defaultSpring = F4ClassicSpring;
flatTire = jeepFlatTire;
flatSpring = jeepFlatSpring;

   numWheels = 4;

// Rigid Body
mass = 200;
density = 5.0;
drag = 4.5;
bodyFriction = 0.6;
bodyRestitution = 0.6;
minImpactSpeed = 10;        // Impacts over this invoke the script callback
softImpactSpeed = 10;       // Play SoftImpact Sound
hardImpactSpeed = 15;      // Play HardImpact Sound
groundImpactMinSpeed    = 10.0;

// Engine
engineTorque = 8000; //4000;       // Engine power
engineBrake = 250;         // Braking when throttle is 0
brakeTorque = 2500;        // When brakes are applied
maxWheelSpeed = 50;        // Engine scale by current speed / max speed

rollForce = 900;
yawForce = 600;
pitchForce = 1000;
rotationalDrag = 0;

// Advanced Steering
   steeringAutoReturn = true;
   steeringAutoReturnRate = 1;
   steeringAutoReturnMaxSpeed = 10;
   steeringUseStrafeSteering = true;
   steeringStrafeSteeringRate = 0.08;

// Energy
maxEnergy = 100;
jetForce = 3000;
minJetEnergy = 30;
jetEnergyDrain = 2;

splash = jeepSplash;
splashVelocity = 4.0;
splashAngle = 67.0;
splashFreqMod = 300.0;
splashVelEpsilon = 0.60;
bubbleEmitTime = 1.4;
splashEmitter[0] = VehicleFoamDropletsEmitter;
splashEmitter[1] = VehicleFoamEmitter;
splashEmitter[2] = VehicleBubbleEmitter;
mediumSplashSoundVelocity = 10.0;   
hardSplashSoundVelocity = 20.0;   
exitSplashSoundVelocity = 5.0;

//mediumSplashSound = "";
//hardSplashSound = "";
//exitSplashSound = "";

// Sounds
//   jetSound = ScoutThrustSound;
//engineSound = idleSound;
//squealSound = skidSound;
softImpactSound = slowImpactSound;
hardImpactSound = fastImpactSound;
//wheelImpactSound = slowImpactSound;

//   explosion = VehicleExplosion;
justcollided = 0;

   uiName = "Foglio F4 Classic";
rideable = true;
lookUpLimit = 0.50;
lookDownLimit = 0.50;

paintable = true;
   
   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;

   numDmgEmitterAreas = 1;

   initialExplosionProjectile = DeloreanExplosionProjectile;
   initialExplosionOffset = 0;         //offset only uses a z value for now

   burnTime = 4000;

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


   minRunOverSpeed    = 2;   //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
};

function FoglioF4ClassicVehicle::onadd(%this,%obj)
{
parent::onadd(%this,%obj);
   %obj.playthread(0,"propslow");
   %obj.setWheelPowered(0,false);
   %obj.setWheelPowered(1,false);
}

yes, as of now it needs the Delorean enabled to function because of the explosion FX, I'll change that later.
console.log says the syntax error is the equals sign of "emap = true;" on the first few lines, but that seems correct.
also, i'll have to fix anything wrong tomorrow since I have no more time today

Code: [Select]
shapeFile = "./f4classic.dts"Missing a semicolon here.
When it puts ## around the error, that's just when it stops making sense to the compiler. The spot you need to fix is usually before that.

Code: [Select]
shapeFile = "./f4classic.dts"Missing a semicolon here.
When it puts ## around the error, that's just when it stops making sense to the compiler. The spot you need to fix is usually before that.
Thanks, locked.