This article relates to the game "Half-Life 2". Click here for more information.

Prop vehicle apc

From Valve Developer Community
Jump to: navigation, search

English (en)
Edit

prop_vehicle_apc is a point entity available in the Half-Life 2 series.

A prop_vehicle_apc using its typical models/combine_apc.mdl model.

Entity description

A Combine APC vehicle with mounted guns, that can be blown up and driven by a vehicle driver or a npc_apcdriver.

It can not be driven by the player, even with a different vehicle script file. (It is "enterable", but that's it. You will just get stuck under the vehicle, facing to the right, and most importantly won't be able to exit the APC again. To prevent the vehicle from being entered, you should set its VehicleLocked (Start locked) keyvalue to Yes.)

The APC should generally be given the models/combine_apc.mdl world model and the scripts/vehicles/apc_npc.txt vehicle script file. To have the APC drive and/or shoot, create an npc_apcdriver and assign the APC to its vehicle (Vehicle to drive) keyvalue.

The wheels of the prop are not solid, but you can prevent the player going through them by immersing them within one or more Player Clip brushes.

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:
Scale of action input / framerate (actionScale) <float>
Blank image.pngTodo: How fast the vehicle turns/accelerates?

BasePropPhysics:
Physics Impact Damage Scale (physdamagescale) <float>
Multiplies damage received from physics impacts. 0 means the feature is disabled for backwards compatibility.
Impact damage type (Damagetype) <boolean>
If true (1), damage type is sharp and the object can slice others.
Damaging it Doesn't Push It (nodamageforces) <boolean>
Whether damaging the entity applies force to it.
Scale Factor For Inertia (inertiascale) <float>
Scales the angular mass of an object. Used to hack angular damage and collision response.
Confirm:Doesn't actually affect inertia?
Mass Scale (massscale) <float>
Multiplier for the object's mass.
Override Parameters (overridescript) <string>
A list of physics keyvalues that are usually embedded in the model. Format is key,value,key,value,….
Health Level to Override Motion (damagetoenablemotion) <integer>
If specified, this object will start with motion disabled. Once its health has dropped below this specified amount, it will enable motion.
Physics Impact Force to Override Motion (forcetoenablemotion) <float>
If specified, this object will start motion disabled. Any impact that imparts a force greater than this value will enable motion.

GMODSandbox:

Allow Physics Gun (gmod_allowphysgun) <boolean> (only in Garry's Mod)
If set, players cannot use Physics Gun on this entity.
Sandbox Tool Whitelist (gmod_allowtools) <string> (only in Garry's Mod)
If set, only given tools can be used on this entity. You need to supply the tool class names, the names of the .lua files of those tools. This also includes the context menu properties!

BaseAnimating:
World Model (model) <string>
The model this entity should appear as. 128-character limit.
Skin (skin or ModelSkin Alien Swarm) <integer>
Some models have multiple skins. This value selects from the index, starting with 0.
Collisions (solid) <choices>
Method of collision for this entity.
Choices
  • 0: None
  • 1: BSP (QPhysics) !FGD
    Icon-Bug.pngBug:In Portal 2 Portal 2, if an entity using QPhysics collisions is hit by Gel, the game will crash!
  • 2: Bounding Box
  • 3: Oriented Bounding Box (Use for runtime spawned rotated brush entities) !FGD
  • 4: Oriented Bounding Box, constrained to Yaw only !FGD
  • 5: Custom/Test (Usually no collision with anything) !FGD
  • 6: VPhysics
Hitbox Set (hitboxset) <string> !FGD
Sets the $hboxset to use.
Body Group (body or SetBodyGroup) <integer> !FGD
Sets the the active $bodygroup.
Model Index (modelindex) <short> !FGD
Given the number index from dumping the cl_precacheinfo modelprecache table, sets entity model to the index.
Warning.pngWarning:If an entity has animations that will be played, then the set model also must have its own sequences, else the game crashes.
Model Scale (modelscale) <float> (in all games since Half-Life 2: Episode Two)
A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.
Warning.pngWarning:Negative or extremely high values can cause crashes!
Note.pngNote:Scale may not appear in Hammer Hammer 4.x, but will appear in-game (tested in Day of Defeat: Source). This is fixed in Hammer++ Hammer++.

Animating

Sequence (sequence) <integer> !FGD
Default animation sequence for the model to be playing after spawning.
Playback Rate (playbackrate) <float> !FGD
A multiplier of the framerate at which animations are played, negative values are accepted. Default is 1.0.
Cycle (cycle) <float> !FGD
The current frame of the current animation, on a range from 0-1.
Texture Frame (texframeindex) <integer> !FGD
The initial frame number for all animated textures on this entity.

Effects - Render


Start Fade Distance (fademindist) <float>
Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox.
End Fade Distance (fademaxdist) <float>
Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.
Fade Scale (fadescale) <float>
If specified in the worldspawn, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also $noforcedfade.
FX Amount/Transparency (0–255) (renderamt) <integer>
Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
Render Color (R G B) (rendercolor) <color255>
Color tint.
Render FX (renderfx) <choices>
Various somewhat legacy alpha effects.
Render Effects
Icon-Bug.pngBug:Alpha effects from 0 to 10 are unavailable due to the bug in code in Counter-Strike: Global Offensive Counter-Strike: Global Offensive
  • 0: None
  • 1: Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
  • 2: Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
  • 3: Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
  • 4: Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
  • 5: Slow Fade Away (decreases alpha by -1 per frame/(in all games since Left 4 Dead) Fades out over 4 s)
  • 6: Fast Fade Away (decreases alpha by -4 per frame/(in all games since Left 4 Dead) Fades out over 1 s)
  • 7: Slow Become Solid (increases alpha by +1 per frame/(in all games since Left 4 Dead) Fades in over 4 s)
  • 8: Fast Become Solid (increases alpha by +4 per frame/(in all games since Left 4 Dead) Fades in over 1 s)
  • 9: Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
  • 10: Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
  • 11: Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
  • 12: Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
  • 13: Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
  • 14: Constant Glow ("NoDissipation;" purpose uncertain—for sprites?) (not in Counter-Strike: Global Offensive)
  • 15: Distort (causes unnatural flickering and position shifting)/(in all games since Left 4 Dead) Fade Out (instant; not very useful outside of code)
  • 16: Hologram (Distort + "distance fade")/(in all games since Left 4 Dead) Fade In (instant; not very useful outside of code)
  • 17: Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts) (in Source 2013)/Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in all games since Left 4 Dead)
    Confirm:which branches/games is it available in, and where does it do what?
  • 18: Glow Shell (purpose unclear) (in all games since Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:what does this do? and which games is it in?
  • 19: Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)") (not in Counter-Strike: Global Offensive)
  • 20: Environmental Rain ("for environmental rendermode, make rain") (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional.
  • 21: Environmental Snow ("for environmental rendermode, make snow") (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional.
  • 22: Spotlight FX ("TEST CODE for experimental spotlight") (in Source 2013) (not in Counter-Strike: Global Offensive)
  • 23: Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it) (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional?
  • 24: Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in Source 2013) (not in Counter-Strike: Global Offensive)
  • 25: kRenderFXMax/Fade Near (removed since Left 4 Dead) (not in Counter-Strike: Global Offensive)
Blank image.pngTodo: what does this do? may be nonfunctional
Render Mode (rendermode) <choices>
Set a non-standard rendering mode on this entity.
Render Modes
  • 0: Normal
  • 1: Color
  • 2: Texture
  • 3: Glow
  • 4: Solid/Alphatest Obsolete
  • 5: Additive
  • 6: Removed, does nothing Obsolete
  • 7: Additive Fractional Frame
  • 8: Alpha Add
  • 9: World Space Glow
  • 10: Don't Render

Effects - Environment


Disable Shadows (disableshadows) <boolean>
Prevent the entity from creating cheap render-to-texture shadows. Does not affect shadow mapping.
Disable Receiving Shadows (disablereceiveshadows) <boolean>
Prevent the entity from receiving shadows on itself.
Shadow Cast Distance (shadowcastdist) <integer>
Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity.
Lighting Origin (LightingOrigin) <targetname>
Select an entity (not info_lighting!) from which to sample lighting instead of the entity's origin.
Lighting Origin Offset (LightingOriginHack) <targetname> (not in Left 4 Dead series) !FGD Obsolete
Deprecated. The info_lighting_relative from which to sample lighting instead of the entity's origin. Use Lighting Origin instead.
Disable Flashlight (disableflashlight) <boolean> (in all games since Portal 2)
Used to disable projected texture lighting and shadows on this entity. Identical to EF_NOFLASHLIGHT.
Disable ShadowDepth (disableshadowdepth) <boolean> (in all games since Portal 2)
Makes this entity not cast a shadow from env_projectedtexture entities. Identical to EF_NOSHADOWDEPTH.
Projected Texture Cache (shadowdepthnocache) <choices> (in all games since Portal 2)
Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead. Identical toEF_SHADOWDEPTH_NOCACHE.
  • 0: Default
  • 1: No cache—render every frame
  • 2: Cache it—render only once

Miscellaneous

Glow Backface Multiple (glowbackfacemult) <float> (only in Left 4 Dead 2) !FGD
If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.
Move Type (MoveType) <choices> (in all games since Alien Swarm) !FGD
Sets a movetype for this entity, which changes its movement behavior.
Move Types
  • 0: None, don't move
  • 1: Isometric
  • 2: Walk, player only, moving on ground
  • 3: NPC, movement
  • 4: Fly, no gravity
  • 5: Fly, with gravity
  • 6: Physics
  • 7: Push
  • 8: Noclip
  • 9: Ladder, for players on ladders
  • 10: Spectator
  • 11: Custom
Collision Group (CollisionGroup) <choices> (in all games since Alien Swarm) !FGD
Sets a collision group for this entity, which changes its collision behavior.
Groups
  • 0: None
  • 1: Debris, collides only with the world and static props
  • 2: Debris, with trigger interaction
  • 3: Interactive Debris, doesn't collide with other debris
  • 4: Interactive, collides with everything except debris
  • 5: Player
  • 6: Breakable Glass
  • 7: Vehicle
  • 8: Player Movement
  • 9: In-Vehicle
  • 10: Weapon
  • 11: Vehicle Clip
  • 12: Projectile
  • 13: Door blocker, not permitted to go near doors
  • 14: Passable Door
  • 15: Dissolving
  • 16: Pushaway
  • 17: NPC Actor, NPCs ignore the player
  • 18: NPC Scripted, NPCs do not collide with each other
No Animation Sounds (SuppressAnimSounds) <boolean> (in all games since Portal 2) !FGD
Silences sounds linked to animations.DXLevelChoice:
Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <choices> (removed since Left 4 Dead)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.pngWarning:If these are used, the object may break when the user switches their DirectX settings.
SystemLevelChoice:
Minimum / Maximum Effect Details Level (mincpulevel / maxcpulevel) <choices> (in all games since Left 4 Dead)
Don't render for players with Effect Details levels that exceed the minimum or maximum.[Note.pngKey names are related to cpu_level cvar used by Effect Details.]
Choices
  • 0: Default ("Low" formincpulevel, "High" formaxcpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
Minimum / Maximum Shader Details Level (mingpulevel / maxgpulevel) <choices> (in all games since Left 4 Dead)
Don't render for players with Shader Details levels that exceed the minimum or maximum.[Note.pngKey names are related to gpu_level cvar used by Shader Details.]
Choices
  • 0: Default ("Low" formingpulevel, "Very High" formaxgpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
  • 4: Very High

BreakableProp:

Explosion Damage (ExplodeDamage) <float>
If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage. See also Explosion Radius.
Explosion Radius (ExplodeRadius) <float>
If non-zero, when this entity breaks it will create an explosion with a radius of the specified amount. See also Explosion Damage.
Sound to make when punted (puntsound) <sound> (in all games since Half-Life 2: Episode One)
Sound to make when punted by gravity gun.
Break Model Message (BreakModelMessage) <string>
"If set, will use this break model message instead of the normal break behavior."
Confirm:Is this new with Source SDK 2013...? It isn't in Alien Swarm or 2007 code but is in 2013. New with L4D?

Breakable (common):

Performance Mode (PerformanceMode) <choices>
Used to limit the amount of gibs produced when this entity breaks, for performance reasons.
  • 0: Normal
  • 1: No Gibs
  • 2: Full Gibs on All Platforms (Xbox 360, PS3, etc)
  • 3: Reduced gibs
Min Damage to Hurt (minhealthdmg) <integer>
If a single hit to the object doesn't do at least this much damage, the prop won't take any of the damage it attempted to give.
Pressure Delay (pressuredelay) <float>
Seconds to delay breaking from pressure. Allows creaking/groaning sounds to play.
Health (health) <integer>
How close to breaking the object is.
Maximum Health (max_health) <integer>
Health cannot exceed this amount.
Physics Impact Damage Scale (physdamagescale) <float>
Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics.
Breakable By (BreakableType) <choices> (only in Left 4 Dead series)
Who can break this?
  • 0: Everyone
  • 1: All Infected
  • 2: Only Tanks


Missile Hint Target (???) <targetname>
Name of one or more info_apc_missile_hint entities to use to determine what to hit. Will fire missiles at its spawn point if no missile hints are available.

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.

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.


OnFiredMissile
Fired when the APC shoots a missile.


OnDeath
Fired when the APC is killed (!activator is the killer).


OnDamaged
Fired when the APC is damaged.


OnDamagedByPlayer
Fired when the APC is damaged by the player.

Inputs


BaseDriveableVehicle:
HandBrakeOn
HandBrakeOff
Turns the handbrake on/off, preventing the vehicle from driving but not disabling motion from external forces.

BaseVehicle:
Action <float>
Set the speed of the action animation.
Blank image.pngTodo: 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.


FireMissileAt <targetname>
A target to fire a missile at.


Destroy
Causes the APC to blow up.