VehicleHandlingScripts: Difference between revisions

From Empires Wiki
Jump to navigation Jump to search
No edit summary
Line 91: Line 91:
===state===
===state===
[[VehicleScript.SoundState.Name | Name]]<br>
[[VehicleScript.SoundState.Name | Name]]<br>
== Example ==
<code>
// This is a test jeep type vehicle for the wasteland
"vehicle"
{
"wheelsperaxle" "2"
"body"
{
"countertorquefactor" "1"
"massCenterOverride" "0 0 0"
"massoverride" "800" // kg
"addgravity" "0.33"
}
"engine"
{
"horsepower" "350"
"maxrpm" "3000"
"maxspeed" "35" // mph
"maxReverseSpeed" "20" // mph
"autotransmission" "1"
"axleratio" "4.56"
"gear" "1.86" // 1st gear
"gear" "1.59" // 2nd gear
"gear" "1.17" // 3rd gear
"gear" "1.0" // 4th gear
"gear" "0.84" // 5th gear
"shiftuprpm" "1500"
"shiftdownrpm" "300"
"boost"
{
// "force" "1.5" // 1.5 car body mass * gravity * inches / second ^ 2
"duration" "1.0" // 1 second of boost
"delay" "15" // 15 seconds before you can use it again
"torqueboost" "1" // enable "sprint" mode of vehicle, not force type booster
"maxspeed" "50" // maximum turbo speed
"force" "2.5" // use for value as a boost factor
}
}
"steering"
{
"degrees" "26"
"fastdampen" "0.35"
"slowcarspeed" "0"
"fastcarspeed" "40"
"slowsteeringrate" "4"
"faststeeringrate" "2"
"steeringRestFactor" "1.5"
"turnbrake" "0.25"
"skidallowed" "1"
"dustcloud" "1"
}
// front axle
"axle"
{
"wheel"
{
"radius" "18"
"mass" "100"
"inertia" "0.5" // steady the car (fixes the oscillation of the axles about z)
"damping" "0"
"rotdamping" "0.0"
"material" "jeeptire"
"skidmaterial" "slidingrubbertire"
"brakematerial" "brakingrubbertire"
}
"suspension"
{
"springConstant" "80"
"springDamping" "4"
"stabilizerConstant" "110"
"springDampingCompression" "4"
"maxBodyForce" "250"
}
"torquefactor" "0.8"
"brakefactor" "0.5"
}
// rear axle
"axle"
{
"wheel"
{
"radius" "20"
"mass" "100"
"inertia" "0.5" // steady the car (fixes the oscillation of the axles about z)
"damping" "0"
"rotdamping" "0.0"
"material" "jeeptire"
"skidmaterial" "slidingrubbertire"
"brakematerial" "brakingrubbertire"
}
"suspension"
{
"springConstant" "80"
"springDamping" "4"
"stabilizerConstant" "110"
"springDampingCompression" "4"
"maxBodyForce" "250"
}
"torquefactor" "0.2"
"brakefactor" "0.5"
}
}
"vehicle_sounds"
{
// List gears in order from lowest speed to highest speed
"gear"
{
"max_speed" "0.3"
"speed_approach_factor" "1.0"
}
"gear"
{
"max_speed" "0.5"
"speed_approach_factor" "0.07"
}
"gear"
{
"max_speed" "0.75"
"speed_approach_factor" "0.07"
}
"gear"
{
"max_speed" "0.90"
"speed_approach_factor" "0.035"
}
"gear"
{
"max_speed" "0.95"
"speed_approach_factor" "0.015"
}
"gear"
{
"max_speed" "2.0"
"speed_approach_factor" "0.03"
}
"state"
{
"name" "SS_START_WATER"
"sound" "ATV_start_in_water"
}
"state"
{
"name" "SS_START_IDLE"
"sound" "ATV_engine_start"
}
"state"
{
"name" "SS_SHUTDOWN_WATER"
"sound" "ATV_stall_in_water"
}
"state"
{
"name" "SS_IDLE"
"sound" "ATV_engine_idle"
}
"state"
{
"name" "SS_REVERSE"
"sound" "ATV_reverse"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_0"
"sound" "ATV_rev"
"min_time" "0.75"
}
"state"
{
"name" "SS_GEAR_0_RESUME"
"sound" "ATV_engine_idle"
"min_time" "0.75"
}
"state"
{
"name" "SS_GEAR_1"
"sound" "ATV_firstgear"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_1_RESUME"
"sound" "ATV_firstgear_noshift"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_2"
"sound" "ATV_secondgear"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_2_RESUME"
"sound" "ATV_secondgear_noshift"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_3"
"sound" "ATV_thirdgear"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_3_RESUME"
"sound" "ATV_thirdgear_noshift"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_4"
"sound" "ATV_fourthgear"
"min_time" "0.5"
}
"state"
{
"name" "SS_GEAR_4_RESUME"
"sound" "ATV_fourthgear_noshift"
"min_time" "0.5"
}
"state"
{
"name" "SS_SLOWDOWN_HIGHSPEED"
"sound" "ATV_throttleoff_fastspeed"
}
"state"
{
"name" "SS_SLOWDOWN"
"sound" "ATV_throttleoff_slowspeed"
}
"state"
{
"name" "SS_TURBO"
"sound" "ATV_turbo_on"
"min_time" "2.5"
}
"state"
{
"name" "SS_SHUTDOWN"
"sound" "ATV_engine_stop"
}
"crashsound"
{
"min_speed" "350"
"min_speed_change" "250"
"sound" "ATV_impact_medium"
"gear_limit" "1"
}
"crashsound"
{
"min_speed" "450"
"min_speed_change" "350"
"sound" "ATV_impact_heavy"
}
"skid_lowfriction" "ATV_skid_lowfriction"
"skid_normalfriction" "ATV_skid_normalfriction"
"skid_highfriction" "ATV_skid_highfriction"
}
</code>


[[Category:Scripting]]
[[Category:Scripting]]

Revision as of 08:14, 10 August 2017

Empires Scripting Documentation
Scripting Overview | Vehicle Script Overview | Vehicle Handling Script Overview | Weapon Script Overview | Armor Script Overview | Building Script Overview | Infantry Script Overview | Hint Messages | Loading Screen Script Overview | Tutorials



Overview

Vehicle handling scripts have quite a few variables. This tries to describe the parameters you can use to fine tune vehicle handling.

Also see: https://developer.valvesoftware.com/wiki/Vehicles_(Scripting_Parameters)

vehicle Properties

body

engine

steering

axle

A vehicle can have multiple axle definitions.

wheels

suspension

vehicle_sounds Properties

A vehicle_sounds entry can have multiple of the following sections:

state

Name

Example

// This is a test jeep type vehicle for the wasteland

"vehicle" { "wheelsperaxle" "2" "body" { "countertorquefactor" "1" "massCenterOverride" "0 0 0" "massoverride" "800" // kg "addgravity" "0.33" } "engine" { "horsepower" "350" "maxrpm" "3000" "maxspeed" "35" // mph "maxReverseSpeed" "20" // mph "autotransmission" "1" "axleratio" "4.56" "gear" "1.86" // 1st gear "gear" "1.59" // 2nd gear "gear" "1.17" // 3rd gear "gear" "1.0" // 4th gear "gear" "0.84" // 5th gear "shiftuprpm" "1500" "shiftdownrpm" "300"

"boost" { // "force" "1.5" // 1.5 car body mass * gravity * inches / second ^ 2 "duration" "1.0" // 1 second of boost "delay" "15" // 15 seconds before you can use it again "torqueboost" "1" // enable "sprint" mode of vehicle, not force type booster "maxspeed" "50" // maximum turbo speed "force" "2.5" // use for value as a boost factor } } "steering" { "degrees" "26" "fastdampen" "0.35" "slowcarspeed" "0" "fastcarspeed" "40" "slowsteeringrate" "4" "faststeeringrate" "2" "steeringRestFactor" "1.5" "turnbrake" "0.25"

"skidallowed" "1" "dustcloud" "1" }

// front axle "axle" { "wheel" { "radius" "18" "mass" "100" "inertia" "0.5" // steady the car (fixes the oscillation of the axles about z) "damping" "0" "rotdamping" "0.0" "material" "jeeptire" "skidmaterial" "slidingrubbertire" "brakematerial" "brakingrubbertire" } "suspension" { "springConstant" "80" "springDamping" "4" "stabilizerConstant" "110" "springDampingCompression" "4" "maxBodyForce" "250" }

"torquefactor" "0.8" "brakefactor" "0.5" }

// rear axle "axle" { "wheel" { "radius" "20" "mass" "100" "inertia" "0.5" // steady the car (fixes the oscillation of the axles about z) "damping" "0" "rotdamping" "0.0" "material" "jeeptire" "skidmaterial" "slidingrubbertire" "brakematerial" "brakingrubbertire" } "suspension" { "springConstant" "80" "springDamping" "4" "stabilizerConstant" "110" "springDampingCompression" "4" "maxBodyForce" "250" } "torquefactor" "0.2" "brakefactor" "0.5" } }

"vehicle_sounds" { // List gears in order from lowest speed to highest speed

"gear" { "max_speed" "0.3" "speed_approach_factor" "1.0" }

"gear" { "max_speed" "0.5" "speed_approach_factor" "0.07" } "gear" { "max_speed" "0.75" "speed_approach_factor" "0.07" } "gear" { "max_speed" "0.90" "speed_approach_factor" "0.035" } "gear" { "max_speed" "0.95" "speed_approach_factor" "0.015" } "gear" { "max_speed" "2.0" "speed_approach_factor" "0.03" } "state" { "name" "SS_START_WATER" "sound" "ATV_start_in_water" }

"state" { "name" "SS_START_IDLE" "sound" "ATV_engine_start" } "state" { "name" "SS_SHUTDOWN_WATER" "sound" "ATV_stall_in_water" } "state" { "name" "SS_IDLE" "sound" "ATV_engine_idle" } "state" { "name" "SS_REVERSE" "sound" "ATV_reverse" "min_time" "0.5" } "state" { "name" "SS_GEAR_0" "sound" "ATV_rev" "min_time" "0.75" } "state" { "name" "SS_GEAR_0_RESUME" "sound" "ATV_engine_idle" "min_time" "0.75" } "state" { "name" "SS_GEAR_1" "sound" "ATV_firstgear" "min_time" "0.5" } "state" { "name" "SS_GEAR_1_RESUME" "sound" "ATV_firstgear_noshift" "min_time" "0.5" } "state" { "name" "SS_GEAR_2" "sound" "ATV_secondgear" "min_time" "0.5" } "state" { "name" "SS_GEAR_2_RESUME" "sound" "ATV_secondgear_noshift" "min_time" "0.5" } "state" { "name" "SS_GEAR_3" "sound" "ATV_thirdgear" "min_time" "0.5" } "state" { "name" "SS_GEAR_3_RESUME" "sound" "ATV_thirdgear_noshift" "min_time" "0.5" } "state" { "name" "SS_GEAR_4" "sound" "ATV_fourthgear" "min_time" "0.5" } "state" { "name" "SS_GEAR_4_RESUME" "sound" "ATV_fourthgear_noshift" "min_time" "0.5" } "state" { "name" "SS_SLOWDOWN_HIGHSPEED" "sound" "ATV_throttleoff_fastspeed" } "state" { "name" "SS_SLOWDOWN" "sound" "ATV_throttleoff_slowspeed" } "state" { "name" "SS_TURBO" "sound" "ATV_turbo_on" "min_time" "2.5" } "state" { "name" "SS_SHUTDOWN" "sound" "ATV_engine_stop" } "crashsound" { "min_speed" "350" "min_speed_change" "250" "sound" "ATV_impact_medium" "gear_limit" "1" } "crashsound" { "min_speed" "450" "min_speed_change" "350" "sound" "ATV_impact_heavy" }


"skid_lowfriction" "ATV_skid_lowfriction" "skid_normalfriction" "ATV_skid_normalfriction" "skid_highfriction" "ATV_skid_highfriction" }