Author Topic: crashing  (Read 554 times)

can anyone figure out why my code keeps on crashing my blockland?

//exec("add-ons/vehicle_motorbike.cs");

//-----------------------------------------------------------------------------

// Information extacted from the shape.
//
// Wheel Sequences
//    spring#        Wheel spring motion: time 0 = wheel fully extended,
//                   the hub must be displaced, but not directly animated
//                   as it will be rotated in code.
// Other Sequences
//    steering       Wheel steering: time 0 = full right, 0.5 = center
//    breakLight     Break light, time 0 = off, 1 = breaking
//
// Wheel Nodes
//    hub#           Wheel hub, the hub must be in it's upper position
//                   from which the springs are mounted.
//
// The steering and animation sequences are optional.
// The center of the shape acts as the center of mass for the car.

//-----------------------------------------------------------------------------
if(!isObject(motorbikeExplosionSound))
{
   exec("./Support_jeep.cs");
}
//----------------------------------------------------------------------------

datablock WheeledVehicleData(motorbikeVehicle)
{
   category = "Vehicles";
   displayName = " ";
   shapeFile = "./shapes/motorbike.dts"; //"~/data/shapes/skivehicle.dts"; //
   emap = true;
   minMountDist = 3;
   
   numMountPoints = 1;
   mountThread[0] = "root";


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

   massCenter = "0 0 -1";
    massBox = "10 5 1";

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

   // 3rd person camera settings
   cameraRoll = false;         // Roll the camera with the vehicle
   cameraMaxDist = 13;         // Far distance from vehicle
   cameraOffset = 7.5;        // Vertical offset from camera mount point
   cameraLag = 0.0;           // 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   = motorbikeTire;
   // defaultSpring   = motorbikeSpring;
   // flatTire   = motorbikeFlatTire;
   // flatSpring   = motorbikeFlatSpring;

   //numWheels = 4;

   // Rigid Body
   mass = 150;
   density = 5.0;
   drag = 1.6;
   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 = 6000; //4000;       // Engine power
   engineBrake = 6000;         // Braking when throttle is 0
   brakeTorque = 8000;        // When brakes are applied
   maxWheelSpeed = 40;        // Engine scale by current speed / max speed

   rollForce      = 100; //900;
   yawForce      = 100; //600;
   pitchForce      = 100; //1000;
   rotationalDrag      = 0.1;

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

   splash = motorbikeSplash;
   splashVelocity = 4.0;
   splashAngle = 67.0;
   splashFreqMod = 300.0;
   splashVelEpsilon = 0.60;
   bubbleEmitTime = 1.4;
   splashEmitter[0] = motorbikeFoamDropletsEmitter;
   splashEmitter[1] = motorbikeFoamEmitter;
   splashEmitter[2] = motorbikeBubbleEmitter;
   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 = "motorbike ";
   rideable = true;
      lookUpLimit = 0.65;
      lookDownLimit = 0.45;

   paintable = true;
   
   damageEmitter[0] = motorbikeBurnEmitter;
   damageEmitterOffset[0] = "0.0 0.0 0.0 ";
   damageLevelTolerance[0] = 0.99;

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

   numDmgEmitterAreas = 1;

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

   burnTime = 4000;

   finalExplosionProjectile = motorbikeFinalExplosionProjec tile;
   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
};

datablock WheeledVehicleTire(motorbikeTire)
{
   // Tires act as springs and generate lateral and longitudinal
   // forces to move the vehicle. These distortion/spring forces
   // are what convert wheel angular velocity into forces that
   // act on the rigid body.
   shapeFile = "./shapes/motorbiketire.dts";
   
   mass = 10;
    radius = 1;
    staticFriction = 5;
   kineticFriction = 5;
   restitution = 0.5;   

   // Spring that generates lateral tire forces
   lateralForce = 18000;
   lateralDamping = 4000;
   lateralRelaxation = 0.01;

   // Spring that generates longitudinal tire forces
   longitudinalForce = 14000;
   longitudinalDamping = 2000;
   longitudinalRelaxation = 0.01;
};

datablock WheeledVehicleSpring(motorbikeSpring)
{
   // Wheel suspension properties
   length = 0.2;          // Suspension travel
   force = 3000; //3000;       // Spring force
   damping = 800; //600;       // Spring damping
   antiSwayForce = 6; //3;       // Lateral anti-sway force
};

function motorbikeVehicle::onAdd(%this,%obj)
{
   //mount the nothing tire and ski spring
   %obj.setWheelTire(0, motorbiketire);
   %obj.setWheelTire(1, motorbiketire);

   %obj.setWheelSpring(0, motorbikeSpring);
   %obj.setWheelSpring(1, motorbikeSpring);
   
   %obj.setWheelSteering(0,1);
   
   %obj.setWheelPowered(0,true);
    %obj.setWheelPowered(1,true);
}