Weapons
It is covered here for historical and technical reference.
This listing is for weapons featured in Counter-Strike: Global Offensive.
New weapons include: Molotov grenades, which create a pool of fire in the ground, Decoy grenades, which create fake weapon sounds, and a taser melee weapon, the Zeus x27.
Later update of CS:GO also introduced weapons such as R8 Revolver, and much more.
Buy Menu
Pistol | SMG | Heavy | Rifle | Equipment | Grenade |
---|---|---|---|---|---|
Other
Knives | Miscellaneous | Danger Zone | Melee | Co-op Strike |
---|---|---|---|---|
|
Giving Weapons
To give yourself a weapon, you can use the cheat command give <entityname>
, which should spawn a specified weapon inside the executing player, for example give weapon_awp
. Knives and Danger Zone melees might instantly be removed by the game when they would spawn; To overcome this, one can use the command sequence give <entityname>; ent_fire <entityname> addoutput "classname weapon_knifegg"
(in one line!) so that the entity "becomes" an entity that is not removed by the game in the same tick. Note that some weapons have a different classname after being given, e.g. give weapon_axe; ent_fire weapon_melee addoutput "classname weapon_knifegg"
.
Map driven item giving can be done with game_player_equip. To equip weapons using VScript, a game_player_equip entity can be created, used and removed.
Manipulating Weapons
Weapons can be manipulated via I/O, e.g. with ent_fire
, and even more using VScript. All weapon entities support the inputs Kill, SetAmmoAmount <int>, SetReserveAmmoAmount <int>, ToggleCanBePickedUp
, for example the command ent_fire weapon_ak47 kill
removes all AK-47s in the map. To give some inspiration, if weapon
is the VScript handle of a weapon entity, we can use weapon.Destroy()
to kill it, weapon.GetOwner() == null
to check whether it is dropped (true) or carried by a player (false), EntFireByHandle(weapon, "SetReserveAmmoAmount", "0", 0, null, null)
to remove its reserve ammo and much more.
"weapon_mp7"
after being spawned, so firing I/O events to weapon_mp5sd
won't have any effect because there is no entity with that classname. This problem can be bypassed in VScript: If we find an entity
with the classname "weapon_mp7"
, we can identify whether it is actually an MP5-SD or an MP7 by checking whether entity.GetModelName()
returns either "models/weapons/w_smg_mp5sd_dropped.mdl"
or "models/weapons/w_smg_mp7_dropped.mdl"
. Other entities whose classname changes on spawn are the USP-S, CZ75-Auto, R8 Revolver, M4A1-S, Rescue Kit, Wrench, Hammer, Axe and all knives except weapon_knife and weapon_knifegg.See also
|