Func buyzone: Difference between revisions
Jump to navigation
Jump to search

Note:This entity's trigger functionalities are !FGD but can be used, such as the StartDisabled keyvalue and the Enable/Disable/Toggle inputs. To use this entity's inherited trigger I/O (OnStartTouch, ...), set its spawnflags keyvalue appropriately (default is 4097). To add all of this in Hammer, see below.
Bug:
By default, this entity has the inputs SetEnabled/SetDisabled in Hammer, but it actually doesn't; Using these has no effect! Use Enable/Disable/Toggle instead. This can be fixed by editing csgo.fgd, searching for func_buyzone and replacing the incorrect input names. (The FGD code below fixes this differently.) [todo tested in ?]
Tip:The
Note:Setting this entity's team to -1 and
Note: This keyvalue is only used when this entity is spawned, so changing it with AddOutput has no effect.
The actual keyvalue that determines the buy team is
Thunder4ik (talk | contribs) m (→top: Unicodifying, replaced: [[Image: → [[File:) |
m (Changed parameters of {{this is a}} to comply with the updated version. This action was performed by a bot.) |
||
Line 1: | Line 1: | ||
{{lang|Func buyzone}}[[File:Csgobuyzones.jpg|thumb|500px|Buyzones usually touch all player spawns of an entire team.]] | {{lang|Func buyzone}}[[File:Csgobuyzones.jpg|thumb|500px|Buyzones usually touch all player spawns of an entire team.]] | ||
{{this is a| | {{this is a|brush entity|game1=Counter-Strike: Global Offensive|name=func_buyzone|game=Counter-Strike: Source}} | ||
{{Note|This entity's trigger functionalities are {{not in FGD}} but can be used, such as the <tt>StartDisabled</tt> keyvalue and the <tt>Enable/Disable/Toggle</tt> inputs. To use this entity's inherited trigger I/O (<tt>OnStartTouch</tt>, ...), set its <tt>spawnflags</tt> keyvalue appropriately (default is 4097). To add all of this in [[Hammer]], see [[#FGD Code|below]].}} | {{Note|This entity's trigger functionalities are {{not in FGD}} but can be used, such as the <tt>StartDisabled</tt> keyvalue and the <tt>Enable/Disable/Toggle</tt> inputs. To use this entity's inherited trigger I/O (<tt>OnStartTouch</tt>, ...), set its <tt>spawnflags</tt> keyvalue appropriately (default is 4097). To add all of this in [[Hammer]], see [[#FGD Code|below]].}} |
Revision as of 17:09, 17 May 2024


func_buyzone
is a brush entity available in Counter-Strike: Source and
Counter-Strike: Global Offensive.



Entity Description
It is used to define areas where players of different teams can open the buy menu to purchase weapons and equipment.
If a player touches the volume of this entity and his team equals the team of this entity, then he is allowed to buy. If this entity has the team 0 or -1, then any or no player can buy inside this entity's volume, respectively.

SetTeam
input can be used to change the buying team in-game.
Disable
ing it have the same effect, just that these are independent operations.Keyvalues
- Team number (int) (TeamNum) <integer>
- The team that can use the buyzone.


teamnumber
.
|
Inputs
- SetTeam <integer >
- Sets the team of this entity, which also sets the team that is allowed to buy.
- SetTeam_None (only in
)
- Allows no team to use the buyzone, effectively disabling it. Equivalent to
SetTeam -1
.
|
Outputs
|
FGD Code
This code...
- replaces its base class with Trigger which effectively adds trigger properties such as the keyvalue StartDisabled, the inputs and outputs Enable/Disable/Toggle/OnStartTouch/... and the trigger flags (1: Clients, ...).
- adds the input TouchTest and the outputs OnTouching/OnNotTouching as seen in trigger_multiple of base.fgd.
- removes the invalid inputs SetEnabled, SetDisabled.
Replace the corresponding lines of cstrike.fgd or csgo.fgd near func_buyzone with this.
@SolidClass base(Trigger, TeamNum) = func_buyzone: // "Targetname" -> "Trigger"
"Buy Zone. Players can buy equipment while standing in this zone, if the zone matches their current team.\n\n" +
"A single Buy Zone entity must be either terrorist or counter-terrorist, it cannot be both. Should have " +
"the toolstrigger material applied to all sides"
[
// input SetEnabled(void) : "Sets this buyzone as enabled."
// input SetDisabled(void) : "Sets this buyzone as disabled."
input TouchTest(void) : "Tests if the trigger is being touched and fires an output based on whether the value is true or false."
input SetTeam_TerroristOnly(void) : "Make it so only terrorist can buy from this buyzone."
input SetTeam_CTOnly(void) : "Make it so only CT's can buy from this buyzone."
input SetTeam_AllTeams(void) : "Make it so all teams can buy from this buyzone."
input SetTeam_None(void) : "Make it so no teams can buy from this buyzone (this essentially disables the buyzone)."
output OnTouching(void) : "Fired when the TestTouch input is true (something is touching the trigger.)"
output OnNotTouching(void) : "Fired when the TestTouch input is not true (nothing is touching the trigger.)"
]