asw_objective_escape

From Valve Developer Community
Jump to: navigation, search

<Alien Swarm> asw_objective_escape is a point entity available in Alien Swarm. It creates an objective (including an entry in the objectives list) which is set to complete after all other objectives have been completed and it receives the MarineInEscapeArea input from a trigger multiple. Warning: Will only work correctly if the input from the trigger_multiple is of type OnTrigger.

Tip:Due to its concept the asw_objective_escape is always the last objective to be set complete, thus it might be a good idea to place it at the end of the objectives list (south of all other objective entities).

Keyvalues

Targetname:

Name <string>
The targetname that other entities refer to this entity by.
Entity Scripts <scriptlist> (New with Left 4 Dead 2)
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions.
Script think function <string> (New with Left 4 Dead 2)
Name of a function in this entity's script which will be called automatically every 100 milliseconds (ten times a second) for the duration of the script. It can be used to create timers or to simulate autonomous behavior. The return value (if present) will set the time until the next call.
Note:Try to avoid expensive operations in this function, as it may cause performance problems.
Objective Title
Title to use for this objective in the list on the briefing screen, or in-game for the current objective HUD display.
Objective Description Line 1-4 <integer>
First 255 characters of the detail description for this objective.
Note:Each "Line" will be displayed as one paragraph in the objectives list!
Marker Name <targetname>
Name of the target object that pinpoints this objective's location in the level.
Note:Does not have any effect! To learn how to create map markings for your objectives refere to asw_marker.
Map Markings
Used to mark areas on the map per objective. Follows this format: BRACKETS [x] [y] [w] [h].
Note:Does not have any effect! To learn how to create map markings for your objectives refere to asw_marker.
HUD Icon
Icon displayed next to the objective name on the HUD.
Icon 1-5
Icon displayed next to the map on the briefing.
Objective Image
Name a VGUI texture to show as a screenshot for this objective.
Note:Must be stored in the mods VGUI directory!
Visible
Whether this objective is visible or hidden.
Note:Defines wether the objective is shown or not on the objectives list - can be altered via input 'setvisible'.

Inputs

Targetname:

Kill
Removes this entity and any entities parented to it from the world.
KillHierarchy
Functions the same as Kill, although this entity and any entities parented to it are killed on the same frame, being marginally faster than Kill.
AddOutput  <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
Use  !FGD
Same as a player invoking +use; may not do anything. Can also be invoked by creating an output that does not specify an input.
This input is not included in Valve's FGDs.
RunScriptFile  <script> (New with Left 4 Dead 2)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode  <string> (New with Left 4 Dead 2)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Bug: In <Left 4 Dead 2>, the code is executed in the script scope of the entity that fires the output, not the one receiving the input.
Warning: Never try to pass string parameters to a script function with this input. It will corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor.
CallScriptFunction  <string> (New with Left 4 Dead 2) !FGD
Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin  <coordinates> (New with Alien Swarm) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles  <angles> (New with Alien Swarm) !FGD
Set this entity's angles.

Parentname:

SetParent  <string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment  <string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset  <string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.
MarineInEscapeArea
Tells the objective that all marines are in escape area and sets it complete.
Note:Will only work if all other objectives on the map (visible or not) have been completed, must be an OnTrigger input.
SetVisible
Toggles the visibility of an objective in the objectives list.
Note:Invisible Objectives can also be completed/failed, be sure to enable activation only after objective has been set visible to avoid confusion.
Warning: This input must be used with a parameter override of 1 or 0 (numbers greater than 1 will be treated as 0) - 1 will set the objective visible, 0 will hide it!

Outputs

Targetname:

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.
OnKilled  (Only in the Left 4 Dead series)
This Output fires when the entity is killed and removed from the game.
OnObjectiveComplete
Fires an outpout when the objective is set complete.
Note:Seems pretty senseless here, because when this objective is set complete, the mission is beeing completed.

See also