weapon_flashbang
weapon_flashbang is a point entity available in the following Source engine games:
Counter-Strike: Source,
Counter-Strike: Global Offensive.
Entity description
Flashbangs explode after a fixed duration after being thrown, blinding and deafening every player that sees the explosion. Affected players have a white screen, an after-image and hear nothing but a ringing sound. The strength and duration until fadeout of the effects depend highly on the angle between the player's orientation and the explosion and also on the distance between him and the explosion.
Keyvalues
- ammo
<integer>
(only in)
- Amount of reserve ammo to be added. Fallback value is 0. !FGD
- Is this weapon allowed to be picked up?
(CanBePickedUp)
<boolean>
(only in)
- Determines if players are able to pick up the weapon.
Targetname:
- Name
(targetname)
<string>
- The targetname that other entities refer to this entity by.
- Entity Scripts
(vscripts)
<scriptlist>
(in all games since)
- 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
(thinkfunction)
<string>
(in all games since)
- 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.
Angles:
- Pitch Yaw Roll (Y Z X)
(angles)
<angle>
- This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Flags
- 1 : Start Constrained
- Prevents the model from moving.
Inputs
SetAmmoAmount
<integer>
(only in)
- Sets the (primary) ammo which is usually the number of bullets in the active magazine. Every value behaves like its congruent value in the range 0-255 in modulus 256 (e.g. -255 and 257 behave like 1 etc.). When set to 0, a player holding this weapon will reload automatically, if possible. Other values congruent to 0 (-256, 256, 512, ...) might cause undefined behavior. Values congruent to -1 (mod 256) make the ammo numbers disappear. If set to a value outside the weapon's clip size, reloading might deliver unexpected results.
SetReserveAmmoAmount
<integer>
(only in)
- Sets the reserve (secondary) ammo which is usually the number of bullets in reserve for reloading. Values that are greater than the weapon's reserve ammo limit are clamped to it (e.g. 90 for the weapon_ak47). Negative values make the ammo display disappear and reloading is impossible.
ToggleCanBePickedUp
<boolean>
(only in)
- Toggles if the weapon can be picked up by players. Visually, nothing changes and there is no event if picking up fails. Hover texts like "[E] Swap for AK-47" remain in both cases.
Targetname:
Kill
- Removes this entity from the world.
KillHierarchy
- Removes this entity and its children from the world.
Note: Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than
Kill
. AddOutput
<string>
- Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format:<key> <value>
I/O Format:<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1
toFireUser4
- Fire the
OnUser
outputs; see User Inputs and Outputs. Use
!FGD- Same as a player invoking +use; may not do anything depending on the entity. Can also be invoked by firing an output that does not specify an input.
RunScriptFile
<script>
(in all games since)
- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode
<string>
(in all games since)
- 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
, 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>
(in all games since) !FGD
- Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin
<coordinates>
(in all games since) !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>
(in all games since) !FGD
- Set this entity's angles.
Outputs
Weapon:
OnPlayerUse
- Fires when a player +uses this weapon (activator is the player).
OnPlayerPickup
- Fires when a player picks this weapon up (activator is the player).
OnCacheInteraction
- Fires on successful +use pickup and (rapidly) on player touch (activator is the player).
Note:
Non-FGD. Does not fire if
CanBePickedUp
is false. OnNPCPickup
- Fires when an NPC picks up this weapon (activator is the NPC).
Note:
Non-FGD. Bots are considered players, so this output has no functionality.
Base:
OnUser1
toOnUser4
- These outputs each fire in response to the firing of the like-numbered
FireUser1
toFireUser4
Input; see User Inputs and Outputs.