weapon_p90

From Valve Developer Community
Jump to navigation Jump to search
Class hierarchy
CWeaponP90
CWeaponCSBaseGun
CWeaponCSBase
CBaseCombatWeapon
CBaseAnimating
CBaseEntity
weapon_csbasegun.cpp
The P90 in Counter-Strike: Source.

weapon_p90 is a point entity available in Counter-Strike: Source Counter-Strike: Source, Counter-Strike: Global Offensive Counter-Strike: Global Offensive, and Counter-Strike 2 Counter-Strike 2.

Entity description

The Wikipedia icon FN P90 is a sub-machine gun that uses ammo_57mm ammunition.

KeyValues

CS:S / CS:GO / CS2 Weapon:

Ammo (ammo) <integer> (only in Counter-Strike: Source)
Amount of reserve ammo to be added. Fallback value is 0. !FGD
Is this weapon allowed to be picked up? (CanBePickedUp) <boolean> (in all games since Counter-Strike: Global Offensive)
Determines if players are able to pick up the weapon.

Flags

Start Constrained : [1]

Prevents the model from moving.

Deny Player Pickup : [2] !FGD

Prevents player from being able to pick up the weapon.

Inputs

CS:S / CS:GO / CS2 Weapon:

SetAmmoAmount <integer> (in all games since Counter-Strike: Global Offensive)
For guns, sets the number of bullets in the active magazine. Does nothing for grenades.
Counter-Strike: Global Offensive 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, the owner may start reloading 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.
Counter-Strike 2 Behaves like SetClipPrimary.
SetReserveAmmoAmount <integer> (in all games since Counter-Strike: Global Offensive)
For guns, sets the number of bullets in reserve for reloading, clamping at the weapon's maximum (e.g. 90 for the weapon_ak47).
For grenades, sets their count, clamping at the current maximum depending on the convars ammo_grenade_limit_*; When setting to 0 or below while holding the grenade, the player no longer owns any, but the viewmodel stays.
Counter-Strike: Global Offensive Negative values make a gun's ammo display disappear and reloading is impossible.
Counter-Strike 2 Negative values are clamped to 0 for guns.
ToggleCanBePickedUp <boolean> (in all games since Counter-Strike: Global Offensive)
Toggles whether 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.

SetClipPrimary <integer> (only in Counter-Strike 2)
For guns, sets the number of bullets in the active magazine, clamping between 0 and its clip size; When setting to 0, the owner may start reloading automatically.
Does nothing for grenades.
SetClipSecondary <integer> (only in Counter-Strike 2)
Icon-Bug.pngBug:Does nothing. SetReserveAmmoAmount works.  [todo tested in?]

Outputs

CS:S / CS:GO / CS2 Weapon:

OnPlayerUse
Fires when a player +uses this weapon (!activator is the player.). Does not fire if the weapon is picked up successfully.
OnPlayerPickup
Fires when a player picks this weapon up (!activator is the player.).
OnCacheInteraction  (removed since Counter-Strike 2) !FGD
When dropped, fires every tick on player touch (!activator is the player.).
Counter-Strike: Global Offensive Also fires on successful +use pickup. Does not fire if CanBePickedUp is false.
OnNPCPickup  (removed since Counter-Strike 2) !FGD
Fires when an NPC picks up this weapon (!activator is the NPC). Bots are considered players, so this output has no functionality.
Counter-Strike: Source Hostages might be NPCs, but they don't pick weapons up.