Template:BasicCSseriesWeapon: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Added Categories CSGO Entities and CSGO Weapons)
m (Substituted IO templates)
 
(22 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<noinclude>
{{lang|Template:BasicCSseriesWeapon}}
{{note|This is a template for weapons that exist in both {{css}} and {{csgo}} because [[Template:BasicCSSweapon]] and [[Template:BasicCSGOweapon]] are not accurate for them. This here is literally a mix of both.}}
{{todo|Remove CS2 stuff; {{t|BasicCS2Weapon}} is its own separate thing now. Source 1 pages shouldn't be documenting Source 2 things, and vice versa.}}
{{Confirm|Is all of this accurate for {{css}}?}}
<onlyinclude><includeonly><!--
</noinclude>
==Keyvalues==
{{KV|only={{css}}|ammo|integer|Amount of reserve ammo to be added. Fallback value is 0. {{Not in FGD}}}}
{{KV|only={{csgo}}|Is this weapon allowed to be picked up?|intn=CanBePickedUp|boolean|Determines if players are able to pick up the weapon.}}
{{KV Targetname}}
{{KV Angles}}


==Flags==
-->== KeyValues ==
* 1 : Start Constrained
{{minititle|{{#ifeq: {{{css|1}}} |0| {{#ifeq:{{{csgo|1}}}|0||CS:GO}} | CS:S {{#ifeq:{{{csgo|1}}}|0||/ CS:GO}} }} Weapon}}
: Prevents the model from moving.
{{#ifeq:{{{css|1}}} |0||{{KV|Ammo|only={{css}}|intn=ammo|integer|Amount of reserve ammo to be added. Fallback value is 0. {{Not in FGD}}}} }}
{{#ifeq:{{{csgo|1}}}|0||{{KV|only={{csgo}}|Is this weapon allowed to be picked up?|intn=CanBePickedUp|boolean|Determines if players are able to pick up the weapon.}} }}


==Inputs==
== Flags ==
{{fl|1|Start Constrained|Prevents the model from moving.}}
{{fl|2|Deny Player Pickup|Prevents player from being able to pick up the weapon.|nofgd=1}}


{{IO|only={{csgo}}|SetAmmoAmount|param=integer|Sets the (primary) ammo which is usually the number of bullets in the active magazine. Every value behaves like its [https://en.wikipedia.org/wiki/Congruence_(integers)#Congruence 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.}}
{{#ifeq:{{{csgo|1}}}|0||
{{IO|only={{csgo}}|SetReserveAmmoAmount|param=integer|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.}}
== Inputs ==
{{IO|only={{csgo}}|ToggleCanBePickedUp|param=boolean|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.}}
{{minititle|CS:GO Weapon}}
{{I|only={{csgo}}|SetAmmoAmount|param=integer|For guns, sets the number of bullets in the active magazine. Does nothing for grenades.<br>Every value behaves like its [https://en.wikipedia.org/wiki/Congruence_(integers)#Congruence 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.}}
{{I|only={{csgo}}|SetReserveAmmoAmount|param=integer|For guns, sets the number of bullets in reserve for reloading, clamping at the weapon's maximum (e.g. 90 for the [[weapon_ak47]]).<br>For grenades, sets their count, clamping at the current maximum depending on the convars <tt>ammo_grenade_limit_*</tt>; When setting to 0 or below while holding the grenade, the player no longer owns any, but the viewmodel stays.<br>Negative values make a gun's ammo display disappear and reloading is impossible.}}
{{I|only={{csgo}}|ToggleCanBePickedUp|param=boolean|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.}}
}}


{{I Targetname}}
== Outputs ==
 
{{minititle|{{#ifeq: {{{css|1}}} |0| {{#ifeq:{{{csgo|1}}}|0||CS:GO}} | CS:S {{#ifeq:{{{csgo|1}}}|0||/ CS:GO}} }} Weapon}}
==Outputs==
{{O|OnPlayerUse|Fires when a player [[+use]]s this weapon {{PlAct}}. Does not fire if the weapon is picked up successfully.}}
{{ScrollBox|title=Weapon|
{{O|OnPlayerPickup|Fires when a player picks this weapon up {{PlAct}}.}}
{{IO|OnPlayerUse|Fires when a player [[+use]]s this weapon {{PlAct}}. {{note|{{csgo}} Does not fire if the weapon is picked up successfully.}}}}
{{O|OnCacheInteraction|nofgd=1|When dropped, fires every tick on player touch {{PlAct}}. {{#ifeq:{{{csgo|1}}}|0|| <br>{{csgo}} Also fires on successful [[+use]] pickup. Does not fire if <code>CanBePickedUp</code> is false.}}}}
{{IO|OnPlayerPickup|Fires when a player picks this weapon up {{PlAct}}.}}
{{O|OnNPCPickup|nofgd=1|Fires when an [[NPC]] picks up this weapon {{activator|NPC}}. [[Bot]]s are considered [[player]]s, so this output has no functionality.{{#ifeq: {{{css|1}}}|0||<br>{{css}} [[hostage_entity|Hostages]] might be NPCs, but they don't pick weapons up.}}}}
{{IO|OnCacheInteraction|Fires on successful [[+use]] pickup and (rapidly) on player touch {{PlAct}}. {{note|{{csgo}} [[Non-FGD_features|Non-FGD]]. Does not fire if <code>CanBePickedUp</code> is false.}}}}
{{IO|OnNPCPickup|Fires when an [[NPC]] picks up this weapon {{activator|NPC}}}}. {{note|{{csgo}} [[Non-FGD_features|Non-FGD]]. Bots are considered players, so this output has no functionality.}}
{{O BaseEntity}}<includeonly>[[Category:Weapons]]</includeonly>
}}
<includeonly>[[Category:Counter-Strike: Source Entities]] [[Category:Counter-Strike: Source Weapons]]</includeonly>
<includeonly>[[Category:Counter-Strike: Global Offensive Entities]] [[Category:Counter-Strike: Global Offensive Weapons]]</includeonly>


{{#if: {{NAMESPACE}}||<!-- no categories if there is any namespace, such as Template: etc. -->
{{#ifeq: {{{nocat|0}}} |0|<!-- if nocat == 0, use categories -->
  [[Category:Point Entities]]
  [[Category:Non-internal entities]]
  [[Category:Weapons|{{{1|{{ROOTPAGENAME}}}}}]]
  {{#ifeq:{{{css|1}}}|0||
    [[Category:Counter-Strike: Source entities]]
    [[Category:Counter-Strike: Source weapons|{{{1|{{ROOTPAGENAME}}}}}]]
  }}
  {{#ifeq:{{{csgo|1}}}|0||
    [[Category:Counter-Strike: Global Offensive entities]]
    [[Category:Counter-Strike: Global Offensive weapons|{{{1|{{ROOTPAGENAME}}}}}]]
  }}
  {{#ifeq:{{{cs2|1}}}|0||
    [[Category:Counter-Strike 2 entities]]
    [[Category:Counter-Strike 2 weapons|{{{1|{{ROOTPAGENAME}}}}}]]
  }}
}}<!-- END #IFEQ nocat -->
}}<!-- END #IF NAMESPACE


[[Category:Counter-Strike: Source Weapons|A]]
--></includeonly></onlyinclude>
{{doc}}

Latest revision as of 11:20, 21 April 2025

Todo: Remove CS2 stuff; {{BasicCS2Weapon}} is its own separate thing now. Source 1 pages shouldn't be documenting Source 2 things, and vice versa.
English (en)Deutsch (de)Esperanto (eo)Español (es)Français (fr)Suomi (fi)Hrvatski (hr)Magyar (hu)Italiano (it)日本語 (ja)한국어 (ko)Nederlands (nl)Polski (pl)Português (pt)Português do Brasil (pt-br)Русский (ru)Slovenčina (sk)Svenska (sv)Türkçe (tr)Українська (uk)Tiếng Việt (vi)中文 (zh)中文(臺灣) (zh-tw)
Curly brackets white.pngTemplate Documentation [view] [edit]
Icon-translate.png Available doc translations
View
Page history

Usage

This is a template used only for Weapon Entities that exist in Counter-Strike: Source Counter-Strike: Source and Counter-Strike: Global Offensive Counter-Strike: Global Offensive.

The templates {{BasicCSSweapon}} and {{BasicCSGOweapon}} rely on this one.

Parameters

{{{1}}} - The name of the weapon (omitting the weapon_ prefix) used for sorting in categories.
{{{nocat|0}}} - Whether or not categories should be added to the entity page.
{{{css|1}}} - Whether or not Counter-Strike: Source specific information should be shown. Default is 1.
{{{csgo|1}}} - Whether or not Counter-Strike: Global Offensive specific information should be shown. Default is 1.

The result when setting {{{css}}} and {{{csgo}}} to 0 is not supposed to be used.

Example

{{BasicCSseriesWeapon}}

KeyValues

CS:S / CS:GO 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> (only in 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:GO Weapon:

SetAmmoAmount <integer> (only in Counter-Strike: Global Offensive)
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.
SetReserveAmmoAmount <integer> (only in 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.
Negative values make a gun's ammo display disappear and reloading is impossible.
ToggleCanBePickedUp <boolean> (only in 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.

Outputs

CS:S / CS:GO 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  !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  !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.