asw_vehicle_jeep
asw_vehicle_jeep
is a point entity available in Alien Swarm.
Entity description
This is basically the hl2 buggy, ported into alien swarm. It doesn't work in multiplayer because it spawns a dummy jeep vehicle as soon as it start thinking, when the client count is bigger than one.
Keyvalues
BaseDriveableVehicle:
- Starts locked (VehicleLocked) <boolean>
- Players cannot enter vehicle until it is unlocked.
BaseVehicle:
- Vehicle Script File (vehiclescript) <string>
- The vehicle script files contained in
scripts\vehicles\
define the behaviour and handling of a vehicle. It is important to match the right script to the right entity/model:- prop_vehicle_airboat:
airboat.txt
- prop_vehicle_apc:
apc.txt
/apc_npc.txt
- prop_vehicle_crane:
crane.txt
- prop_vehicle_prisoner_pod:
prisoner_pod.txt
- prop_vehicle_jeep:
jalopy.txt
(only in ) /jeep_test.txt
- prop_vehicle_choreo_generic:
- Half-Life 2: Episode One only:
choreo_vehicle.txt
choreo_vehicle_ep1_dogintro.txt
- Half-Life 2: Episode Two only:
choreo_vehicle_ep2_barn1.txt
choreo_vehicle_ep2_hangar.txt
choreo_vehicle_ep2_intro.txt
choreo_vehicle_ep2_Outland_02.txt
choreo_vehicle_ep2_playertrapped.txt
- There is also
reference_vehicle.txt
, which you can modify to make your own vehicle or use as-is. - prop_vehicle_sin:
sincar.txt
/sincar_pit.txt
(only in ) - p3_vehicle_segway:
segway.txt
(only in )
- prop_vehicle_airboat:
- Scale of action input / framerate (actionScale) <float>
- Todo: How fast the vehicle turns/accelerates?
Inputs
- HandBrakeOn
- HandBrakeOff
- Turns the handbrake on/off, preventing the vehicle from driving but not disabling motion from external forces.
- Action <float>
- Set the speed of the action animation. Todo: What does this mean?
- TurnOn
- Start engine and enable throttle.
- TurnOff
- Stop engine, disable throttle, engage brakes.
- Lock
- Unlock
- Prevent/allow the player from entering or exiting the vehicle.
Outputs
BaseDriveableVehicle:
- PlayerOn
- PlayerOff
- Player entered/exited the vehicle. (!activator is the player.)
- PressedAttack
- PressedAttack2
- Player pressed the
+attack
/+attack2
key.
- AttackAxis <boolean>
- Attack2Axis <boolean>
- State of the
attack
/attack2
buttons. Also called when the player exits the vehicle.
Enabling
The Buggy can work by adding a few missing files being the buggy model and the jeep_test script file
Assuming you own HL2 or Hl2DM you can get the files from
source models.cfg (inside "Models")
buggy.dx80.vtx
buggy.dx90.vtx
buggy.mdl
buggy.phy
buggy.sw.vtx
buggy.vvd
source materials.cfg (inside "Materials/Models/Buggy")
ammo_box.vmt
ammo_box.vtf
buggy001.vmt
buggy001.vtf
put them into the relevent folders in Alien swarm\swarm
also copy the following and put it into alien swarm\swarm\scripts\vehicles and call it jeep_test.txt
// 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"
}
After all thats done, in hammer on any map add asw_Vehicle_jeep set the world model to the buggy and make sure the vehicle script file is "scripts/vehicles/jeep_test.txt"
save and run the map
and finally make sure the following console commands are set
asw_vehicle_cam_height 412
asw_vehicle_cam_dist 60
asw_vehicle_cam_pitch 60
you should now have a working yet pretty buggy..buggy!