weapon_m4a1
Class hierarchy |
---|
CWeaponM4A1 |
weapon_m4a1.cpp
|
weapon_m4a1
is a point entity available in Counter-Strike: Source, Counter-Strike: Global Offensive, and Counter-Strike 2.
Risk of Confusion: This entity is the M4A4. It's alternative is the M4A1-S,
weapon_m4a1_silencer
.Entity Description
The M4A1 Carbine is a Counter-Terrorist exclusive rifle that uses ammo_556mm ammunition. It holds 30 rounds in magazine and 90 in reserve.
KeyValues
CS:S / CS:GO / CS2 Weapon:
- Ammo
(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> (in all games since ) - Determines if players are able to pick up the weapon.
Flags
Start Constrained : [1]
- Prevents the model from moving.
Inputs
CS:S / CS:GO / CS2 Weapon:
SetAmmoAmount
<integer> (in all games since )- For guns, sets the number of bullets in the active magazine. Does nothing for grenades.
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.
Behaves like SetClipPrimary.
SetReserveAmmoAmount
<integer> (in all games since )- 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.
Negative values make a gun's ammo display disappear and reloading is impossible.
Negative values are clamped to 0 for guns.
ToggleCanBePickedUp
<boolean> (in all games since )- 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 )- 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 )- Bug: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 ) !FGD- When dropped, fires every tick on player touch (
!activator
is the player.).
Also fires on successful +use pickup. Does not fire ifCanBePickedUp
is false.
Categories:
- CBaseAnimating
- Counter-Strike: Source entities
- Counter-Strike: Source point entities
- Counter-Strike: Global Offensive entities
- Counter-Strike: Global Offensive point entities
- Counter-Strike 2 entities
- Counter-Strike 2 point entities
- Pages with uncategorized bugs
- Point Entities
- Non-internal entities
- Weapons
- Counter-Strike: Source weapons
- Counter-Strike: Global Offensive weapons
- Counter-Strike 2 weapons