Hi guys today i was planning to release my skateboard and i told to gravity_cat to script it but something is going wrong!
Heres The Script If you find something wrong notify me here by telling me what to change oh btw i thought if at start tires is wrong because i have a file wheels on the model
Script:
//########## Skateboard
//###Tires
datablock WheeledVehicleTire(SkateboardTire)
{
shapeFile = "./skateboardwheel.dts";
mass = 1;
radius = 0.1;
staticFriction = 5;
kineticFriction = 5;
restitution = 0.5;
lateralForce = 18000;
lateralDamping = 4000;
lateralRelaxation = 0.01;
longitudinalForce = 14000;
longitudinalDamping = 2000;
longitudinalRelaxation = 0.01;
};
//### Springs
datablock WheeledVehicleSpring(SkateboardSpring)
{
length = 0.1;
force = 5000;
damping = 500;
antiSwayForce = 20;
};
//### Effects
datablock ParticleData(SkateboardSmokeParticle)
{
dragCoefficient = 8;
gravityCoefficient = 0;
inheritedVelFactor = 0.2;
constantAcceleration = 0;
lifetimeMS = 500;
lifetimeVarianceMS = 200;
textureName = "base/data/particles/cloud";
spinSpeed = 10;
spinRandomMin = -50;
spinRandomMax = 50;
colors[0] = "0.2 0.2 0.2 0.5";
colors[1] = "0.4 0.4 0.4 0";
sizes[0] = 2;
sizes[1] = 4;
useInvAlpha = true;
};
datablock ParticleEmitterData(SkateboardSmokeEmitter)
{
uiName = "";
ejectionPeriodMS = 50;
periodVarianceMS = 25;
ejectionVelocity = 2;
velocityVariance = 1;
ejectionOffset = 0;
thetaMin = 89;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "SkateboardSmokeParticle";
useEmitterColors = true;
};
datablock DebrisData(SkateboardTireDebris)
{
shapeFile = "./skateboardwheel.dts";
emitters = "SkateboardSmokeEmitter";
lifetime = 2;
minSpinSpeed = -360;
maxSpinSpeed = 360;
elasticity = 0.5;
friction = 0.2;
numBounces = 3;
staticOnMaxBounce = true;
snapOnMaxBounce = false;
fade = true;
gravModifier = 2;
};
datablock ExplosionData(SkateboardExplosion : vehicleExplosion)
{
debris = SkateboardTireDebris;
debrisNum = 4;
debrisNumVariance = 0;
debrisPhiMin = 0;
debrisPhiMax = 360;
debrisThetaMin = 40;
debrisThetaMax = 85;
debrisVelocity = 15;
debrisVelocityVariance = 5;
};
datablock ProjectileData(SkateboardExplosionProjectile : vehicleExplosionProjectile)
{
uiName = "";
directDamage = 0;
radiusDamage = 0;
damageRadius = 0;
explosion = SkateboardExplosion;
directDamageType = $DamageType::vehicleExplosion;
radiusDamageType = $DamageType::vehicleExplosion;
explodeOnDeath = 1;
armingDelay = 0;
lifetime = 0;
};
datablock DebrisData(SkateboardDebris)
{
shapeFile = "./Skateboard.dts";
emitters = "SkateboardSmokeEmitter";
lifetime = 3;
minSpinSpeed = -500;
maxSpinSpeed = 500;
elasticity = 0.5;
friction = 0.2;
numBounces = 1;
staticOnMaxBounce = true;
snapOnMaxBounce = false;
fade = true;
gravModifier = 2;
};
datablock ExplosionData(SkateboardFinalExplosion : vehicleFinalExplosion)
{
debris = SkateboardDebris;
debrisNum = 1;
debrisNumVariance = 0;
debrisPhiMin = 0;
debrisPhiMax = 360;
debrisThetaMin = 0;
debrisThetaMax = 20;
debrisVelocity = 20;
debrisVelocityVariance = 5;
};
datablock ProjectileData(sabreFinalExplosionProjectile : vehicleFinalExplosionProjecti le)
{
uiName = "";
directDamage = 0;
radiusDamage = 0;
damageRadius = 0;
explosion = sabreFinalExplosion;
directDamageType = $DamageType::vehicleExplosion;
radiusDamageType = $DamageType::vehicleExplosion;
explodeOnDeath = 1;
armingDelay = 0;
lifetime = 0;
};
//### Vehicle
datablock WheeledVehicleData(SkateboardVehicle)
{
uiName = "Skateboard";
category = "Vehicles";
displayName = "";
shapeFile = "./Skateboard.dts";
emap = true;
minMountDist = 1;
numMountPoints = 1;
mountThread[0] = "stand";
numWheels = 4;
engineTorque = 1000;
engineBrake = 500;
brakeTorque = 1000;
maxWheelSpeed = 15;
maxDamage = 30;
destroyedLevel = 30;
speedDamageScale = 1.04;
collDamageThresholdVel = 20;
collDamageMultiplier = 0.02;
massCenter = "0 0 0";
maxSteeringAngle = 0.6;
integration = 4;
cameraRoll = false;
cameraMaxDist = 8;
cameraOffset = 6;
cameraLag = 0;
cameraDecay = 0.75;
cameraTilt = 0.4;
collisionTol = 0.1;
contactTol = 0.1;
useEyePoint = false;
defaultTire = SkateboardTire;
defaultSpring = SkateboardSpring;
mass = 5;
density = 5;
drag = 1.6;
bodyFriction = 0.6;
bodyRestitution = 0.6;
minImpactSpeed = 5;
softImpactSpeed = 5;
hardImpactSpeed = 10;
groundImpactMinSpeed = 10;
rollForce = 900;
yawForce = 600;
pitchForce = 1000;
rotationalDrag = 0.2;
steeringAutoReturn = true;
steeringAutoReturnRate = 0.9;
steeringAutoReturnMaxSpeed = 10;
steeringUseStrafeSteering = true;
steeringStrafeSteeringRate = 0.1;
maxEnergy = 100;
jetForce = 3000;
minJetEnergy = 30;
jetEnergyDrain = 2;
splash = vehicleSplash;
splashVelocity = 4;
splashAngle = 67;
splashFreqMod = 300;
splashVelEpsilon = 0.6;
bubbleEmitTime = 1.4;
splashEmitter[0] = vehicleFoamDropletsEmitter;
splashEmitter[1] = vehicleFoamEmitter;
splashEmitter[2] = vehicleBubbleEmitter;
mediumSplashSoundVelocity = 10;
hardSplashSoundVelocity = 20;
exitSplashSoundVelocity = 5;
justcollided = 0;
rideable = true;
lookUpLimit = 0.65;
lookDownLimit = 0.45;
paintable = true;
damageEmitter[0] = VehicleBurnEmitter;
damageEmitterOffset[0] = "0 0 0";
damageLevelTolerance[0] = 0.99;
damageEmitter[1] = VehicleBurnEmitter;
damageEmitterOffset[1] = "0 0 0";
damageLevelTolerance[1] = 1;
numDmgEmitterAreas = 1;
initialExplosionProjectile = SkateboardExplosionProjectile;
initialExplosionOffset = 0;
burnTime = 4000;
finalExplosionProjectile = SkateboardFinalExplosionProje ctile;
finalExplosionOffset = 0.5;
minRunOverSpeed = 4;
runOverDamageScale = 8;
runOverPushScale = 1.2;
protectPassengersBurn = false;
protectPassengersRadius = false;
protectPassengersDirect = false;
};