Team Fortress 2/Scripting/Script Functions

This list contains the engine-related Squirrel classes, functions and variables available for VScript in 
The official documentation can be printed in the console by setting developer to non-zero, loading a map, and executing script_help. However, this documentation does not list everything, requiring them to be found by other means instead.
== Instances ==
Name 	Class 	Description
Convars 	Convars ↓ 	Provides an interface to read and change the values of console variables.
Entities 	CEntities ↓ 	Provides access to currently spawned entities.
EntityOutputs 	CScriptEntityOutputs ↓	Allows manipulation of entity output data
NavMesh 	CNavMesh ↓ 	Provides access to the maps NavMesh and NavAreas.
NetProps 	CNetPropManager ↓ 	Allows reading and updating the network properties of an entity.
PlayerVoiceListener	CPlayerVoiceListener ↓	Tracks if any player is using voice and for how long.
== Variables ==
Name 	Type 	Value / Description
__FILE__ 	string 	File name of the currently executing script
__LINE__ 	integer	Line number of the currently executing code
Constants 	table 	Enumerations for various function arguments or netprops.
Documentation 	table 	Contains the printed strings from the script_help command.
GameEventCallbacks 	table 	Table of registered game event callbacks.
print_indent 	integer	0. Spaces to indent prints by, except ones from realPrint.
_PublishedHelp 	table 	NONE
ScriptEventCallbacks	table 	Table of registered script event callbacks.
ScriptHookCallbacks 	table 	Table of registered script hook callbacks.
=== Script Debug ===
Name 	Type 	Value
ScriptDebugDefaultWatchColor 	array 	[0, 192, 0]
ScriptDebugDrawTextEnabled 	bool 	true
ScriptDebugDrawWatchesEnabled	bool 	true
ScriptDebugInDebugDraw 	bool 	false
ScriptDebugText 	array 	NONE
ScriptDebugTextIndent 	integer	0
ScriptDebugTextFilters 	table 	NONE
ScriptDebugTraces 	table 	NONE
ScriptDebugTraceAllOn 	bool 	false
ScriptDebugWatches 	array 	NONE
=== Constants ===
A constant is a variable whose value cannot be altered during program runtime, usually made to rid any instances of magic numbers by giving them self-documenting names.
Name 	Type 	Value
_charsize_ 	integer	1
_floatsize_ 	integer	4
_intsize_ 	integer	32-bit: 4
64-bit: 8
_version_ 	string 	"Squirrel 3.2 stable"
_versionnumber_	integer	320
RAND_MAX 	integer	Windows: 32768
Linux: 2147483647
PI 	float 	3.14159
=== Enums ===
:See this page for all enums under the Constants table.
There are also enums kept within the Constants table, all with their own constants. For an example of accessing an enum's constant, the HIDEHUD_CROSSHAIR constant of the enum HideHUD is accessed by doing Constants.HideHUD.HIDEHUD_CROSSHAIR.
== Classes ==
=== CBaseEntity ===
This is a script handle class for entities. All entities have a script handle using this class, sometimes as one of its subclasses.
An entity's own handle are accessed with:
* Entities ↓ instance.
* EntIndexToHScript function.
* Entity Scripts only - The self keyword.
==== Methods ====
Function 	Signature 	Description
__KeyValueFromFloat (→ KeyValueFromFloat) 	bool __KeyValueFromFloat(string key, float value) 	Behaves the same as KeyValueFromFloat, use that instead.
__KeyValueFromInt (→ KeyValueFromInt) 	bool __KeyValueFromInt(string key, int value) 	Behaves the same as KeyValueFromInt, use that instead.
__KeyValueFromString (→ KeyValueFromString)	bool __KeyValueFromString(string key, string value) 	Behaves the same as KeyValueFromString, use that instead.
__KeyValueFromVector (→ KeyValueFromVector)	bool __KeyValueFromVector(string key, Vector value) 	Behaves the same as KeyValueFromVector, use that instead.
AcceptInput 	bool AcceptInput(string input, string param, handle activator, handle caller) 	Generate a synchronous I/O event. Unlike EntFireByHandle, this is processed immediately. Returns false if input is a null/empty string, or if the input wasn't handled.
AddEFlags 	void AddEFlags(int flags) 	Adds the supplied flags to the Entity Flags in the entity. (m_iEFlags datamap)
See Constants.FEntityEFlags.
AddFlag 	void AddFlag(int flags) 	Adds the supplied flags to another separate player-related entity flags system in the entity. (m_fFlags datamap)
See Constants.FPlayer.
AddSolidFlags 	void AddSolidFlags(int flags) 	Adds the supplied flags to the Solid Flags in the entity. (m_Collision.m_usSolidFlags datamap)
See Constants.FSolid.
ApplyAbsVelocityImpulse 	void ApplyAbsVelocityImpulse(Vector impulse) 	Apply a Velocity Impulse as a world space impulse vector. Works for most physics-based objects including dropped weapons and even dropped Sandviches.
ApplyLocalAngularVelocityImpulse 	void ApplyLocalAngularVelocityImpulse(Vector impulse) 	Apply an Angular Velocity Impulse in entity local space. The direction of the input vector is the rotation axis, and the length is the magnitude of the impulse.
BecomeRagdollOnClient 	bool BecomeRagdollOnClient(Vector impulse) 	Acts like the BecomeRagdoll input, with the required impulse value applied as a force on the ragdoll. Does NOT spawn a prop_ragdoll or any other entity.
ClearFlags 	void ClearFlags() 	Sets the player-related entity flags to 0 on an entity, clearing them.
ClearSolidFlags 	void ClearSolidFlags() 	Sets Solid Flags to 0 on an entity, clearing them.
ConnectOutput 	void ConnectOutput(string output, string function) 	Adds an I/O connection that will call the named function when the specified output fires.
Destroy 	void Destroy() 	Removes the entity. Simply calls UTIL_Remove.
DisableDraw 	void DisableDraw() 	Disable drawing and transmitting the entity to clients. (adds EF_NODRAW)
DisconnectOutput 	void DisconnectOutput(string output, string function) 	Removes a connected script function from an I/O event.
DispatchSpawn 	void DispatchSpawn() 	Alternative dispatch spawn, same as the one in CEntities, for convenience.
EmitSound 	void EmitSound(string soundname) 	Plays a sound from this entity. The sound must be precached first for it to play (using PrecacheSound or PrecacheScriptSound).
EnableDraw 	void EnableDraw() 	Enable drawing and transmitting the entity to clients. (removes EF_NODRAW)
entindex 	int entindex() 	Returns the entity index.
EyeAngles 	QAngle EyeAngles() 	Returns the entity's eye angles. Acts like GetAbsAngles if the entity does not support it.
EyePosition 	Vector EyePosition() 	Get vector to eye position - absolute coords. Acts like GetOrigin if the entity does not support it.
FirstMoveChild 	handle FirstMoveChild() 	Returns the most-recent entity parented to this one.
GetAbsAngles 	QAngle GetAbsAngles() 	Get the entity's pitch, yaw, and roll as QAngles.
GetAbsVelocity 	Vector GetAbsVelocity() 	Returns the current absolute velocity of the entity.
GetAngles (→ GetAbsAngles) 	Vector GetAngles() 	Get the entity's pitch, yaw, and roll as a Vector.
GetAngularVelocity 	Vector GetAngularVelocity() 	Get the local angular velocity - returns a Vector of pitch, yaw, and roll.
GetBaseVelocity 	Vector GetBaseVelocity() 	Returns any constant velocity currently being imparted onto the entity. This includes being pushed by effects like and players standing on moving geometry like elevators. Should always returns a zero vector if the entity is not affected by any movement effects.
GetBoundingMaxs 	Vector GetBoundingMaxs() 	Get a vector containing max bounds, centered on object
GetBoundingMaxsOriented 	Vector GetBoundingMaxsOriented() 	Get a vector containing max bounds, centered on object, taking the object's orientation into account
GetBoundingMins 	Vector GetBoundingMins() 	Get a vector containing min bounds, centered on object
GetBoundingMinsOriented 	Vector GetBoundingMinsOriented() 	Get a vector containing min bounds, centered on object, taking the object's orientation into account
GetCenter 	Vector GetCenter() 	Gets center point of the entity in world coordinates.
GetClassname 	string GetClassname() 	
GetCollisionGroup 	int GetCollisionGroup() 	Gets the current collision group of the entity.
GetEFlags 	int GetEFlags() 	
GetFlags 	int GetFlags() 	Get the entity's flags.
See Constants.FPlayer.
GetEntityHandle 	ehandle GetEntityHandle() 	Get the entity as an EHANDLE
GetEntityIndex 	int GetEntityIndex() 	
GetForwardVector 	Vector GetForwardVector() 	Get the forward vector of the entity
GetFriction 	float GetFriction() 	Get PLAYER friction, ignored for objects
GetGravity 	float GetGravity() 	
GetHealth 	int GetHealth() 	
GetLeftVector (→ GetRightVector) 	Vector GetLeftVector() 	Get the right vector of the entity. This is purely for compatibility.
GetLocalAngles 	QAngle GetLocalAngles() 	
GetLocalOrigin 	Vector GetLocalOrigin() 	
GetLocalVelocity 	Vector GetLocalVelocity() 	Get Entity relative velocity
GetMaxHealth 	int GetMaxHealth() 	
GetModelKeyValues 	handle GetModelKeyValues() 	Get a KeyValue class instance on this entity's model
GetModelName 	string GetModelName() 	Returns the name of the model
GetMoveParent 	handle GetMoveParent() 	If in hierarchy, retrieves the entity's parent
GetMoveType 	int GetMoveType() 	
GetName 	string GetName() 	
GetOrigin 	Vector GetOrigin() 	This is GetAbsOrigin with a funny script name for some reason. Not changing it for legacy compat though.
GetOwner 	handle GetOwner() 	Gets this entity's owner
GetPhysAngularVelocity 	Vector GetPhysAngularVelocity() 	
GetPhysVelocity 	Vector GetPhysVelocity() 	
GetPreTemplateName 	string GetPreTemplateName() 	Get the entity name stripped of template unique decoration
GetRightVector 	Vector GetRightVector() 	Get the right vector of the entity
GetRootMoveParent 	handle GetRootMoveParent() 	If in hierarchy, walks up the hierarchy to find the root parent
GetScriptId 	string GetScriptId() 	Retrieve the unique identifier used to refer to the entity within the scripting system.
GetScriptScope 	handle GetScriptScope() 	Retrieve the script-side data associated with an entity
GetScriptThinkFunc 	string GetScriptThinkFunc() 	Retrieve the name of the current script think func
GetSolid 	int GetSolid() 	
GetSoundDuration 	float GetSoundDuration(string soundname, string actormodelname) 	Returns float duration of the sound. Actor model name is optional and can be left null.
GetTeam 	int GetTeam() 	
GetUpVector 	Vector GetUpVector() 	Get the up vector of the entity
GetVelocity (→ GetAbsVelocity) 	Vector GetVelocity() 	
GetWaterLevel 	int GetWaterLevel() 	This function tells you how much of the entity is underwater. It returns a value of 0 if not underwater, 1 if the feet are (touching water brush), 2 if the waist is (center of the hull of the entity), and 3 if the head is (eyes position).
GetWaterType 	int GetWaterType() 	It returns the type of water the entity is currently submerged in. 32 for water and 16 for slime.
IsAlive 	bool IsAlive() 	Am I alive?
IsEFlagSet 	bool IsEFlagSet(int eflag) 	
IsPlayer 	bool IsPlayer() 	Checks whether the entity is a player or not.
IsSolid 	bool IsSolid() 	
IsSolidFlagSet 	bool IsSolidFlagSet(int solidflag) 	
IsValid 	bool IsValid() 	Checks whether the entity still exists. Useful when storing entity handles and needing to check if the entity was not deleted.
KeyValueFromFloat 	bool KeyValueFromFloat(string key, float value) 	Executes KeyValue with a float
KeyValueFromInt 	bool KeyValueFromInt(string key, int value) 	Executes KeyValue with an int
KeyValueFromString 	bool KeyValueFromString(string key, string value) 	Executes KeyValue with a string
KeyValueFromVector 	bool KeyValueFromVector(string key, Vector value) 	Executes KeyValue with a vector
Kill 	void Kill() 	Removes the entity. Equivalent of firing the Kill I/O input, but instantaneous.
LocalEyeAngles 	handle LocalEyeAngles() 	Returns the entity's local eye angles
NextMovePeer 	handle NextMovePeer() 	Returns the next entity parented with the entity. Intended for iteration use with FirstMoveChild().
PrecacheModel 	void PrecacheModel(string modelname) 	Precache a model (.mdl) or sprite (.vmt). The extension must be specified.
PrecacheScriptSound 	void PrecacheScriptSound(string soundscript) 	Precache a sound script. Same as PrecacheSoundScript.
PrecacheSoundScript 	void PrecacheSoundScript(string soundscript) 	Precache a sound script. Same as PrecacheScriptSound.
RemoveEFlags 	void RemoveEFlags(int eflags) 	
RemoveFlag 	void RemoveFlag(int flags) 	
RemoveSolidFlags 	void RemoveSolidFlags(int solidflags) 	
SetAbsAngles 	void SetAbsAngles(QAngle angles) 	Set entity pitch, yaw, roll as QAngles. Does not work on players, use SnapEyeAngles instead.
SetAbsVelocity 	void SetAbsVelocity(Vector velocity) 	Sets the current absolute velocity of the entity. Does nothing on VPhysics objects (such as prop_physics). For those, use SetPhysVelocity instead.
SetAbsOrigin 	void SetAbsOrigin(Vector origin) 	Sets the absolute origin of the entity.
SetAngles (→ SetAbsAngles) 	void SetAngles(float pitch, float yaw, float roll) 	Set entity angles.
SetAngularVelocity 	void SetAngularVelocity(float pitch, float yaw, float roll) 	Set the local angular velocity.
SetCollisionGroup 	void SetCollisionGroup(int collision_group) 	Set the current collision group of the entity.
See Constants.ECollisionGroup
SetDrawEnabled 	void SetDrawEnabled(bool toggle) 	Enables drawing if you pass true, disables drawing if you pass false.
SetEFlags 	void SetEFlags(int eflags) 	
SetForwardVector 	void SetForwardVector(Vector forward) 	Set the orientation of the entity to have this forward vector
SetFriction 	void SetFriction(float friction) 	
SetGravity 	void SetGravity(float gravity) 	Sets a multiplier for gravity. 1 is default gravity.
SetHealth 	void SetHealth(int health) 	
SetLocalAngles 	void SetLocalAngles(QAngle angles) 	
SetLocalOrigin 	void SetLocalOrigin(Vector origin) 	
SetMaxHealth 	void SetMaxHealth(int health) 	Sets the maximum health this entity can have. Does not update the current health, so SetHealth should be used afterwards.
SetModel 	void SetModel(string model_name) 	Set a model for this entity.
SetMoveType 	void SetMoveType(EMoveType movetype, EMoveCollide movecollide) 	
SetOrigin (→ SetAbsOrigin) 	void SetOrigin(Vectororigin) 	
SetOwner 	void SetOwner(handle entity) 	Sets this entity's owner
SetPhysAngularVelocity 	void SetPhysAngularVelocity(Vector angular_velocity) 	
SetPhysVelocity 	void SetPhysVelocity(Vector velocity) 	
SetSize 	void SetSize(Vector mins, Vector maxs) 	Sets the bounding box's scale for this entity.
SetSolid 	void SetSolid(int solid) 	
SetSolidFlags 	void SetSolidFlags(int solid_flags) 	
SetTeam 	void SetTeam(int team) 	Sets entity team.
SetVelocity (→ SetAbsVelocity) 	void SetVelocity(Vector velocity) 	
SetWaterLevel 	void SetWaterLevel(int water_level) 	This sets how much of the entity is underwater. Setting it to 0 means it is not underwater, 1 if the feet are (touching water brush), 2 if the waist is (center of the hull of the entity), and 3 if the head is (eyes position).
SetWaterType 	void SetWaterType(int water_type) 	Set the type of water the entity is currently submerged in. Generic values to use are 32 for water and 16 for slime.
StopSound 	void StopSound(string sound_name) 	Stops a sound on this entity.
TakeDamage 	void TakeDamage(float flDamage, Constants.FDmgType nDamageType, handle hAttacker) 	Deals damage to the entity.
TakeDamageEx 	void TakeDamageEx(handle hInflictor, handle hAttacker, handle hWeapon, Vector vecDamageForce, Vector vecDamagePosition, float flDamage, Constants.FDmgType nDamageType) 	Extended version of TakeDamage.
TakeDamageCustom 	void TakeDamageCustom(handle hInflictor, handle hAttacker, handle hWeapon, Vector vecDamageForce, Vector vecDamagePosition, float flDamage, Constants.FDmgType nDamageType, Constants.ETFDmgCustom nCustomDamageType)	Extended version of TakeDamageEx that can apply a custom damage type.
Teleport 	void Teleport(bool use_origin, Vector origin, bool use_angles, QAngle angles, bool use_velocity, Vector velocity) 	Teleports this entity. For this function, set the bools to false if you want that entity's property unchanged. (do not use null arguments!)
TerminateScriptScope 	void TerminateScriptScope() 	Clear the current script scope for this entity
ToggleFlag 	void ToggleFlag(int flags) 	
ValidateScriptScope 	bool ValidateScriptScope() 	Create a script scope for an entity if it doesn't already exist. The return value is always returns true, unless the script VM is disabled in launch options.
==== Hooks ====
Hooks are functions that are called by the game code at appropriate moments. For example, when an entity takes damage, the OnTakeDamage hook would be executed.
Function 	Signature 	Description 	 	 	
Input<name> 	bool Input<name>() 	Called right before an entity receives a valid input from the I/O system that matches the function's name. The name of the function needs to beInputfollowed by the name of the input. E.g. for the FireUser1 input, it would beInputFireUser1. When the function is called, Script Handles of the activator and caller entities are accessible to the function under the variablesactivatorandcaller. The function needs to return a boolean value; Returningtrueprocesses the input, whilefalsecancels it.	 	 	
OnGameEvent_<name> 	void OnGameEvent_<name>(table params) 	Called each time a game event with the specified name occurs. The name of the function needs to be OnGameEvent_ followed by the name of the game event. E.g. for the player_spawn input, it would be OnGameEvent_player_spawn.
When the function is called, a table is passed to the function with keys that vary depending on the event. For example, the player_spawn event passes a table with the keys userid, team, class, while the deadringer_cheat_death event passes a table with the keys spy, attacker.
A call to __CollectGameEventCallbacks is required to register this hook. See the examples page.
See this page for a list of game events as well as the table passed on each event.	 	 	
Precache 	void Precache() 	Entity function that is called after the script executes, but before the entity is initialized. Can be used to call precache functions for models and sounds on map load. 	 	 	
ConnectOutputs 	void ConnectOutputs(handle scope) 	Global function called after an entity with an script assigned spawns (i.e. vscripts keyvalue is not blank). Unlike OnPostSpawn, this is called immediately and therefore on map respawn, some entities may not exist during this point. 	 	 	
OnPostSpawn 	void OnPostSpawn() 	Entity function called after the entity is spawned and initialized, at the end of the frame. When map entities are respawned, this effectively runs after all scripts, players etc have been loaded. This could be used to have an entity register itself with a master script, or adjusting the entity parameters in a programmatic way. 	 	 	
OnScriptHook_OnTakeDamage	void OnScriptHook_OnTakeDamage(handle params)	Called each time an entity takes damage. The script can modify the table entries not prefixed with const, and these will be sent back to the game code. 
A call to __CollectGameEventCallbacks is required to register this hook. Internally, this hook is processed the same as a game event, but with the OnScriptHook prefix instead of OnGameEvent. Therefore, see the example page for an explanation of how to register the hook.
Example: 
The table contains the following keys:
{| class="standard-table" style="width:100%"	Name	Type	Description
const_entity 	handle 	The entity which took damage 	 	 	
inflictor 	handle 	The entity which dealt the damage, can be null 	 	 	
weapon 	handle 	The weapon which dealt the damage, can be null 	 	 	
attacker 	handle 	The owner of the damage, can be null 	 	 	
damage 	float 	Damage amount 	 	 	
max_damage 	float 	Damage cap 	 	 	
damage_bonus 	float 	Additional damage (e.g. from crits) 	 	 	
damage_bonus_provider 	handle 	Owner of the damage bonus 	 	 	
const_base_damage 	float 	Base damage 	 	 	
damage_force 	Vector 	Damage force 	 	 	
damage_for_force_calc 	float 	 	 	 	
damage_position 	Vector 	World position of where the damage came from. E.g. end position of a bullet or a rocket 	 	 	
reported_position 	Vector 	World position of where the damage supposedly came from 	 	 	
damage_type 	int 	Combination of damage types. See Constants.FDmgType 	 	 	
damage_custom 	int 	 	 	 	
damage_stats 	int 	Special damage type. See Constants.ETFDmgCustom. Unlike damage_type, only one custom damage type can be set. 	 	 	
force_friendly_fire 	bool 	If true, force the damage to friendlyfire, regardless of this entity's and attacker's team 	 	 	
ammo_type 	int 	Unused 	 	 	
player_penetration_count 	int 	How many players the damage has penetrated so far 	 	 	
damaged_other_players 	int 	How many players other than the attacker has the damage been applied to. Used for rocket jump damage reduction 	 	 	
crit_type 	int 	Type of crit damage. 0 - None, 1 - Mini, 2 - Full 	 	 	
early_out 	bool 	If set to true by the script, the game's damage routine will not run and it will simply return the currently set damage. 	 	 	
==== Callbacks ====
===== OnDestroy =====
It is possible to setup an asynchronous hook which is fired when the entity is deleted, as shown below. It is processed at the end of the frame after the entity's own destroy callback, but before the entity is about to be removed from memory. The caveats are that it is not possible to rescue an entity nor its children in this callback, and the targetname of the entity is cleared (this can be workarounded by storing the name in the script scope if needed). A useful application of this hook is to stop looping sounds on an entity so they don't persist.
Alternatively: if entities need to be rescued from a deletion on a round restart, for example a player parented to a vehicle, the scorestats_accumulated_update event can be used. This event is fired on round restart right before all entities are removed. Add the EFL_KILLME eflag to the entities to rescue, then remove it after entities have spawned.
=== CBaseAnimating ===
Extends CBaseEntity ↑
Script handle class for animatable entities, such as props.
==== Methods ====
Function 	Signature 	Description
DispatchAnimEvents 	void DispatchAnimEvents(handle entity) 	Dispatch animation events to a CBaseAnimating entity.
FindBodygroupByName 	int FindBodygroupByName(string name) 	Find a bodygroup ID by name. Returns -1 if the bodygroup does not exist.
GetAttachmentAngles 	QAngle GetAttachmentAngles(int ID) 	Get an attachment's angles as a QAngle, by ID.
GetAttachmentBone 	int GetAttachmentBone(int ID) 	Get an attachment's parent bone index by ID.
GetAttachmentOrigin 	Vector GetAttachmentOrigin(int ID) 	Get an attachment's origin as a Vector, by ID.
GetBodygroup 	int GetBodygroup(int ID) 	Get the bodygroup value by bodygroup ID.
GetBodygroupName 	string GetBodygroupName(int ID) 	Get the bodygroup's name by ID.
GetBodygroupPartName 	string GetBodygroupPartName(int group, int part) 	Get the bodygroup's name by group and part.
GetBoneAngles 	QAngle GetBoneAngles(int ID) 	Get the bone's angles as a QAngle, by ID.
GetBoneOrigin 	Vector GetBoneOrigin(int ID) 	Get the bone's origin Vector by ID.
GetCycle 	float GetCycle() 	Gets the model's current animation cycle rate.
GetModelScale 	float GetModelScale() 	Get the model's scale.
GetPlaybackRate 	float GetPlaybackRate() 	Get the current animation's playback rate.
GetSequence 	int GetSequence() 	Get the current-playing sequence's ID.
GetSequenceActivityName 	string GetSequenceActivityName(int ID) 	Get the activity name for a sequence by sequence ID.
GetSequenceDuration 	float GetSequenceDuration(int ID) 	Get a sequence duration in seconds by sequence ID.
GetSequenceName 	string GetSequenceName(int ID) 	Get a sequence name by sequence ID. Returns "Not Found!" if ID is -1, "Unknown" if the sequence doesn't exist or "No model!" if no model is assigned.
GetSkin 	int GetSkin() 	Gets the current skin index.
IsSequenceFinished 	bool IsSequenceFinished() 	Ask whether the main sequence is done playing.
LookupActivity 	int LookupActivity(string activity) 	Get the named activity index. Returns -1 if the activity does not exist.
LookupAttachment 	int LookupAttachment(string name) 	Get the named attachment index. Returns 0 if the attachment does not exist.
LookupBone 	int LookupBone(string bone) 	Get the named bone index. Returns -1 if the bone does not exist.
LookupPoseParameter 	int LookupPoseParameter(string name) 	Gets the pose parameter's index. Returns -1 if the pose parameter does not exist.
LookupSequence 	int LookupSequence(string name) 	Looks up a sequence by names of sequences or activities. Returns -1 if the sequence does not exist.
ResetSequence 	void ResetSequence(int ID) 	Reset a sequence by sequence ID. If the ID is different than the current sequence, switch to the new sequence.
SetBodygroup 	void SetBodygroup(int ID, int value) 	Set the bodygroup by ID.
SetCycle 	void SetCycle(float cycle) 	Sets the model's current animation cycle from 0 to 1.
SetModelSimple 	void SetModelSimple(string model_name) 	Set a model for this entity. Matches easier behaviour of the SetModel input, automatically precaches, maintains sequence/cycle if possible. Also clears the bone cache.
SetModelScale 	void SetModelScale(float scale, float change_duration)	Changes a model's scale over time. Set the change duration to 0.0 to change the scale instantly.
SetPlaybackRate 	void SetPlaybackRate(float rate) 	Set the current animation's playback rate.
SetPoseParameter 	float SetPoseParameter(int ID, float value) 	Sets a pose parameter value. Returns the effective value after clamping or looping.
SetSequence 	void SetSequence(int ID) 	Plays a sequence by sequence ID.
SetSkin 	void SetSkin(int index) 	Sets the model's skin.
StopAnimation 	void StopAnimation() 	Stop the current animation (same as SetPlaybackRate 0.0)
StudioFrameAdvance 	void StudioFrameAdvance() 	Advance animation frame to some time in the future with an automatically calculated interval
StudioFrameAdvanceManual	void StudioFrameAdvanceManual(float dt) 	Advance animation frame to some time in the future with a manual interval
=== CBaseCombatWeapon ===
Extends CBaseAnimating ↑
Script handle class for any weapon entities that can be part of a player's inventory.
Team Fortress 2's weapons leave Clip2 unused, so those functions can be ignored
==== Methods ====
Function 	Signature 	Description 	
CanBeSelected 	bool CanBeSelected() 	Can this weapon be selected 	
Clip1 	int Clip1() 	Current ammo in clip1 	
Clip2 	int Clip2() 	Current ammo in clip2 	
GetDefaultClip1 	int GetDefaultClip1() 	Default size of clip1 	
GetDefaultClip2 	int GetDefaultClip2() 	Default size of clip2 	
GetMaxClip1 	int GetMaxClip1() 	Max size of clip1 	
GetMaxClip2 	int GetMaxClip2() 	Max size of clip2 	
GetName 	string GetName() 	Gets the weapon's internal name (not the targetname!) 	
GetPosition 	int GetPosition() 	Gets the weapon's current position 	
GetPrimaryAmmoCount 	int GetPrimaryAmmoCount() 	Current primary ammo count if no clip is used or to give a player if they pick up this weapon legacy style (not TF) 	
GetPrimaryAmmoType 	int GetPrimaryAmmoType() 	Returns the primary ammo type 	
GetPrintName 	string GetPrintName() 	Gets the weapon's print name 	
GetSecondaryAmmoCount 	int GetSecondaryAmmoCount() 	Current secondary ammo count if no clip is used or to give a player if they pick up this weapon legacy style (not TF)	
GetSecondaryAmmoType 	int GetSecondaryAmmoType() 	Returns the secondary ammo type 	
GetSlot 	int GetSlot() 	Gets the weapon's current slot 	
GetSubType 	int GetSubType() 	Get the weapon subtype 	
GetWeaponFlags 	int GetWeaponFlags() 	Get the weapon flags 	
GetWeight 	int GetWeight() 	Get the weapon weighting/importance 	
HasAnyAmmo 	bool HasAnyAmmo() 	Do we have any ammo? 	
HasPrimaryAmmo 	bool HasPrimaryAmmo() 	Do we have any primary ammo? 	
HasSecondaryAmmo 	bool HasSecondaryAmmo() 	Do we have any secondary ammo? 	
IsAllowedToSwitch 	bool IsAllowedToSwitch() 	Are we allowed to switch to this weapon? 	
IsMeleeWeapon 	bool IsMeleeWeapon() 	Returns whether this is a melee weapon 	
PrimaryAttack 	void PrimaryAttack() 	Force a primary attack 	
SecondaryAttack 	void SecondaryAttack() 	Force a secondary attack 	
SetClip1 	void SetClip1(int amount) 	Set current ammo in clip1. 	
SetClip2 	void SetClip2(int amount) 	Set current ammo in clip2. 	
SetCustomViewModel 	void SetCustomViewModel(string model_name) 	Sets a custom view model for this weapon by model name. 	
SetCustomViewModelModelIndex	void SetCustomViewModelModelIndex(int model_index)	Sets a custom view model for this weapon by modelindex. 	
SetSubType 	void SetSubType(int subtype) 	Set the weapon subtype 	
UsesClipsForAmmo1 	bool UsesClipsForAmmo1() 	Do we use clips for ammo 1? 	
UsesClipsForAmmo2 	bool UsesClipsForAmmo2() 	Do we use clips for ammo 2? 	
UsesPrimaryAmmo 	bool UsesPrimaryAmmo() 	Do we use primary ammo? 	
UsesSecondaryAmmo 	bool UsesSecondaryAmmo() 	Do we use secondary ammo? 	
VisibleInWeaponSelection 	bool VisibleInWeaponSelection() 	Is this weapon visible in weapon selection 	
=== CBaseFlex ===
Extends CBaseAnimating ↑
Animated characters who have vertex flex capability (e.g., facial expressions). 
==== Methods ====
Function 	Signature 	Description
PlayScene	float PlayScene(string scene_file, float delay)	Play the specified .vcd file, causing the related characters to speak and subtitles to play.
=== CBaseCombatCharacter ===
Extends CBaseFlex ↑
Combat entities with similar movement capabilities to a player.
==== Methods ====
Function 	Signature 	Description
GetLastKnownArea	handle GetLastKnownArea()	Return the last nav area occupied, NULL if unknown.
See CTFNavArea ↓.
=== CBasePlayer ===
Extends CBaseCombatCharacter ↑
Script handle class for player entities.
==== Methods ====
Function 	Signature 	Description
GetForceLocalDraw 	bool GetForceLocalDraw() 	Whether the player is being forced by SetForceLocalDraw to be drawn.
GetPlayerMaxs 	Vector GetPlayerMaxs() 	Get a vector containing max bounds of the player in local space. The player's model scale will affect the result.
GetPlayerMins 	Vector GetPlayerMins() 	Get a vector containing min bounds of the player in local space. The player's model scale will affect the result.
GetScriptOverlayMaterial	string GetScriptOverlayMaterial() 	Gets the current overlay material set by SetScriptOverlayMaterial.
IsNoclipping 	bool IsNoclipping() 	Returns true if the player is in noclip mode.
SetForceLocalDraw 	void SetForceLocalDraw(bool forceDraw) 	Forces the player to be drawn as if they were in thirdperson.
SetScriptOverlayMaterial	void SetScriptOverlayMaterial(string material)	Sets the overlay material that can't be overriden by other overlays. E.g. Jarate.
SnapEyeAngles 	void SnapEyeAngles(QAngle angles) 	Snap the player's eye angles to this.
ViewPunch 	void ViewPunch(QAngle angleOffset) 	Ow! Punches the player's view.
ViewPunchReset 	void ViewPunchReset(float tolerance) 	Reset's the player's view punch if the offset stays below the given tolerance.
=== CBaseMultiplayerPlayer ===
Extends CBasePlayer ↑
Script handle sub-class for player entities in multiplayer games. No additional methods.
=== CEconEntity ===
Extends CBaseAnimating ↑
Script handle class for economic exquisite equippables, meaning hats and weapons.
==== Methods ====
Function 	Signature 	Description
AddAttribute 	void AddAttribute(string name, float value, float duration)	Add an attribute to the entity. Set duration to -1 for the attribute to be applied forever. The attribute must be one that exists in the game, invalid ones will not be added.
GetAttribute 	float GetAttribute(string name, float default_value) 	Get an attribute float from the entity. If the attribute does not exist, returns default_value.
RemoveAttribute 	void RemoveAttribute(string name) 	Remove an attribute from the entity.
ReapplyProvision	void ReapplyProvision() 	Relinks attributes to provisioners, e.g. calling this on a weapon will add it's attributes to the player.
=== CTFPlayer ===
Extends CBaseMultiplayerPlayer ↑
Script handle class for player entities of Team Fortress 2.
==== Methods ====
Function 	Signature 	Description
AddCond 	void AddCond(ETFCond cond) 	
AddCondEx 	void AddCondEx(ETFCond cond, float duration, handle provider) 	
AddCurrency 	void AddCurrency(int amount) 	Kaching! Give the player some cash for game modes with upgrades, ie. MvM. The new value is bounded between 0-30000.
AddCustomAttribute 	void AddCustomAttribute(string name, float value, float duration) 	Add a custom attribute to the player. Set duration to -1 for the attribute to be applied forever. The attribute must be one that exists in the game, invalid ones will not be added.
AddHudHideFlags 	void AddHudHideFlags(int flags) 	Hides a hud element based on Constants.FHideHUD
ApplyPunchImpulseX 	bool ApplyPunchImpulseX(float impulse) 	Apply a view punch along the pitch angle. Used to flinch players when hit. If the player is a fully charged scoped-in sniper and the weapon has the aiming_no_flinch attribute, the punch will not apply. Returns true if the punch was applied.
BleedPlayer 	void BleedPlayer(float duration) 	Make a player bleed for a set duration of time.
BleedPlayerEx 	void BleedPlayerEx(float duration, int damage, bool endless, int nCustomDamageType) 	Make a player bleed for a set duration of time, or forever, with specific damage per tick and damage_custom index.
CancelTaunt 	void CancelTaunt() 	Cancels any taunt in progress
CanAirDash 	bool CanAirDash() 	Can the player air dash/double jump?
CanBeDebuffed 	bool CanBeDebuffed() 	
CanBreatheUnderwater 	bool CanBreatheUnderwater() 	
CanDuck 	bool CanDuck() 	Can the player duck?
CanGetWet 	bool CanGetWet() 	Can the player get wet by jarate/milk?
CanJump 	bool CanJump() 	Can the player jump? Returns false if the player is taunting or if the no_jump attribute is present and non-zero. There is other conditions that prevent jumping but this function by itself doesn't check those.
ClearCustomModelRotation 	void ClearCustomModelRotation() 	
ClearSpells 	void ClearSpells() 	
ClearTauntAttack 	void ClearTauntAttack() 	Stops active taunt from damaging or cancels Rock-Paper-Scissors result
CanPlayerMove 	bool CanPlayerMove() 	Can the player move?
DoTauntAttack 	void DoTauntAttack() 	Performs taunts attacks if available. Player must be already taunting and taunt must have a valid attack assigned (taunt attack name attribute)
DropFlag 	void DropFlag(bool silent) 	Force player to drop the flag.
DropRune 	void DropRune(bool apply_force, int team) 	Force player to drop the rune.
EndLongTaunt 	void EndLongTaunt() 	Stops a looping taunt (obeys minimum time rules and plays outro animation if available)
EquipWearableViewModel 	void EquipWearableViewModel(handle entity) 	Equips a wearable on the viewmodel. Intended to be used with tf_wearable_vm entities.
ExtinguishPlayerBurning 	void ExtinguishPlayerBurning() 	
FiringTalk 	void FiringTalk() 	Makes eg. a heavy go AAAAAAAAAAaAaa like they are firing their minigun.
ForceChangeTeam 	void ForceChangeTeam(int team, bool full_team_switch) 	Force player to change their team. Setting the bool to true will not remove nemesis relationships or reset the player's class, as well as not slaying the player.
ForceRegenerateAndRespawn 	void ForceRegenerateAndRespawn() 	Force regenerates and respawns the player
ForceRespawn 	void ForceRespawn() 	Force respawns the player
GetActiveWeapon 	handle GetActiveWeapon() 	Get the player's current weapon
GetBackstabs 	int GetBackstabs() 	
GetBonusPoints 	int GetBonusPoints() 	
GetBotType 	int GetBotType() 	
GetBuildingsDestroyed 	int GetBuildingsDestroyed() 	
GetCaptures 	int GetCaptures() 	
GetClassEyeHeight 	Vector GetClassEyeHeight() 	Gets the eye height of the player
GetCondDuration 	float GetCondDuration(ETFCond cond) 	Returns duration of the condition. Returns 0 if the cond is not applied. Returns -1 if the cond is infinite.
GetCustomAttribute 	float GetCustomAttribute(string name, float default_value) 	Get an attribute float from the player. If the attribute does not exist, returns default_value.
GetCurrency 	int GetCurrency() 	Get player's cash for game modes with upgrades, ie. MvM
GetCurrentTauntMoveSpeed 	float GetCurrentTauntMoveSpeed() 	
GetDefenses 	int GetDefenses() 	
GetDisguiseAmmoCount 	int GetDisguiseAmmoCount() 	
GetDisguiseTarget 	handle GetDisguiseTarget() 	
GetDisguiseTeam 	int GetDisguiseTeam() 	
GetDominations 	int GetDominations() 	
GetGrapplingHookTarget 	handle GetGrapplingHookTarget() 	What entity is the player grappling?
GetHeadshots 	int GetHeadshots() 	
GetHealPoints 	int GetHealPoints() 	
GetHealTarget 	handle GetHealTarget() 	Who is the medic healing?
GetHudHideFlags 	int GetHudHideFlags() 	Gets current hidden hud elements
GetInvulns 	int GetInvulns() 	
GetKillAssists 	int GetKillAssists() 	
GetLastWeapon 	handle GetLastWeapon() 	
GetNextChangeClassTime 	float GetNextChangeClassTime() 	Get next change class time.
GetNextChangeTeamTime 	float GetNextChangeTeamTime() 	Get next change team time.
GetNextRegenTime 	float GetNextRegenTime() 	Get next health regen time.
GetPlayerClass 	int GetPlayerClass() 	
GetRageMeter 	float GetRageMeter() 	
GetResupplyPoints 	int GetResupplyPoints() 	
GetRevenge 	int GetRevenge() 	
GetScoutHypeMeter 	float GetScoutHypeMeter() 	
GetSpyCloakMeter 	float GetSpyCloakMeter() 	
GetTeleports 	int GetTeleports() 	
GetTauntAttackTime 	float GetTauntAttackTime() 	Timestamp until a taunt attack "lasts". 0 if unavailable
GetTauntRemoveTime 	float GetTauntRemoveTime() 	Timestamp until taunt is stopped
GetVehicleReverseTime 	float GetVehicleReverseTime() 	Timestamp when kart was reversed
GetTimeSinceCalledForMedic 	float GetTimeSinceCalledForMedic() 	When did the player last call medic
GrantOrRemoveAllUpgrades 	void GrantOrRemoveAllUpgrades(bool remove, bool refund) 	
HasItem 	bool HasItem() 	Currently holding an item? Eg. capture flag
HandleTauntCommand 	void HandleTauntCommand(int taunt_slot) 	Spoofs a taunt command from the player, as if they selected this taunt. This can be abused to give the player any taunt, see the examples page.
IgnitePlayer 	void IgnitePlayer() 	Supposed to set the player on fire, but...
InAirDueToExplosion 	bool InAirDueToExplosion() 	
InAirDueToKnockback 	bool InAirDueToKnockback() 	
InCond 	bool InCond(ETFCond cond) 	
IsAirDashing 	bool IsAirDashing() 	
IsAllowedToRemoveTaunt 	bool IsAllowedToRemoveTaunt() 	Returns true if the taunt will be stopped
IsAllowedToTaunt 	bool IsAllowedToTaunt() 	
IsBotOfType 	bool IsBotOfType(int type) 	Returns true if the player matches this bot type. Only one type of bot exists which is reserved for AI bots (not puppet bots): TF_BOT_TYPE. 0 is used for real players or puppet bots. Use IsFakeClient to check for a puppet bot instead.
IsCallingForMedic 	bool IsCallingForMedic() 	Is this player calling for medic?
IsCarryingRune 	bool IsCarryingRune() 	
IsControlStunned 	bool IsControlStunned() 	
IsCritBoosted 	bool IsCritBoosted() 	
IsFakeClient 	bool IsFakeClient() 	Returns true if the player is a puppet or AI bot. To check if the player is a AI bot (CTFBot) specifically, use IsBotOfType instead.
IsFireproof 	bool IsFireproof() 	
IsFullyInvisible 	bool IsFullyInvisible() 	
IsHypeBuffed 	bool IsHypeBuffed() 	
IsImmuneToPushback 	bool IsImmuneToPushback() 	
IsInspecting 	bool IsInspecting() 	
IsInvulnerable 	bool IsInvulnerable() 	
IsJumping 	bool IsJumping() 	
IsMiniBoss 	bool IsMiniBoss() 	Is this player an MvM mini-boss?
IsParachuteEquipped 	bool IsParachuteEquipped() 	
IsPlacingSapper 	bool IsPlacingSapper() 	Returns true if we placed a sapper in the last few moments
IsRageDraining 	bool IsRageDraining() 	
IsRegenerating 	bool IsRegenerating() 	
IsSapping 	bool IsSapping() 	Returns true if we are currently sapping
IsSnared 	bool IsSnared() 	
IsStealthed 	bool IsStealthed() 	
IsTaunting 	bool IsTaunting() 	
IsUsingActionSlot 	bool IsUsingActionSlot() 	
IsViewingCYOAPDA 	bool IsViewingCYOAPDA() 	
Regenerate 	void Regenerate(bool refill_health_ammo) 	Resupplies a player. If refill health/ammo is set, clears negative conds, gives back player health/ammo
RemoveAllItems 	void RemoveAllItems(bool unused) 	
RemoveAllObjects 	void RemoveAllObjects(bool explode) 	Remove all player objects. Eg. dispensers/sentries.
RemoveCond 	void RemoveCond(ETFCond cond) 	Removes a condition. Does not remove a condition if the minimum duration has not passed. Does nothing if the condition isn't added (interally does InCond check).
RemoveCondEx 	void RemoveCondEx(ETFCond cond, bool ignoreDuration) 	Extended version of above function. Allows forcefully removing the condition even if minimum duration is not met.
RemoveCurrency 	void RemoveCurrency(int amount) 	Take away money from a player for reasons such as ie. spending. Lower bounded to 0.
RemoveCustomAttribute 	void RemoveCustomAttribute(string name) 	Remove a custom attribute to the player
RemoveDisguise 	void RemoveDisguise() 	Undisguise a spy.
RemoveHudHideFlags 	void RemoveHudHideFlags(int flags) 	Unhides a hud element based on Constants.FHideHUD
RemoveInvisibility 	void RemoveInvisibility() 	Un-invisible a spy.
RemoveTeleportEffect 	void RemoveTeleportEffect() 	
ResetScores 	void ResetScores() 	
RollRareSpell 	void RollRareSpell() 	
SetCondDuration 	void SetCondDuration(ETFCond cond, float duration) 	
SetCurrency 	void SetCurrency(int amount) 	Set player's cash for game modes with upgrades, ie. MvM. Does not have any bounds checking.
SetCurrentTauntMoveSpeed 	void SetCurrentTauntMoveSpeed(float speed) 	
SetCustomModel 	void SetCustomModel(string model_name) 	Sets a custom player model without animations (model will T-pose). To enable animations, use SetCustomModelWithClassAnimations instead.
SetCustomModelOffset 	void SetCustomModelOffset(Vector offset) 	
SetCustomModelRotates 	void SetCustomModelRotates(bool toggle) 	
SetCustomModelRotation 	void SetCustomModelRotation(QAngle angles) 	
SetCustomModelVisibleToSelf 	void SetCustomModelVisibleToSelf(bool toggle) 	
SetCustomModelWithClassAnimations	void SetCustomModelWithClassAnimations(string model_name) 	Sets a custom player model with full animations.
SetDisguiseAmmoCount 	void SetDisguiseAmmoCount(int count) 	
SetForcedTauntCam 	void SetForcedTauntCam(int toggle) 	
SetGrapplingHookTarget 	void SetGrapplingHookTarget(handle entity, bool bleed) 	Set the player's target grapple entity
SetHudHideFlags 	void SetHudHideFlags(int flags) 	Force hud hide flags to a value based on Constants.FHideHUD
SetIsMiniBoss 	void SetIsMiniBoss(bool toggle) 	Make this player an MvM mini-boss.
SetNextChangeClassTime 	void SetNextChangeClassTime(float time) 	Set next change class time.
SetNextChangeTeamTime 	void SetNextChangeTeamTime(float time) 	Set next change team time.
SetNextRegenTime 	void SetNextRegenTime(float time) 	Set next available resupply time.
SetPlayerClass 	void SetPlayerClass(int class) 	Sets the player class. Updates the player's visuals and model.
SetRageMeter 	void SetRageMeter(float percent) 	Sets rage meter from 0 - 100.
SetRPSResult 	void SetRPSResult(int result) 	Rig the result of Rock-Paper-Scissors (0 - rock, 1 - paper, 2 - scissors)
SetScoutHypeMeter 	void SetScoutHypeMeter(float percent) 	Sets hype meter from 0 - 100.
SetSpyCloakMeter 	void SetSpyCloakMeter(float) 	Sets cloakmeter from 0 - 100.
SetVehicleReverseTime 	void SetVehicleReverseTime(float time) 	Set the timestamp when kart was reversed
SetUseBossHealthBar 	void SetUseBossHealthBar(bool toggle) 	
StopTaunt 	void StopTaunt(bool remove_prop) 	Stops current taunt. If remove_prop is true, the taunt prop will be immediately deleted instead of potentially delaying
StunPlayer 	void StunPlayer(float duration, float move_speed_reduction, int flags, handle attacker)	Stuns the player for a specified duration. Move speed reduction is a fraction (0 = no reduction. 1 = total reduction, no movement). Flag combinations control the stun type and behavior, see the constants page.
Taunt 	void Taunt(int taunt_index, int taunt_concept) 	Performs a taunt if allowed. For taunt index, see Constants.FTaunts. For concepts, see MP_CONCEPT List. Concept is the "voiceline" index to use with the taunt. For TAUNT_SHOW_ITEM and TAUNT_BASE_WEAPON this is set automatically. TAUNT_LONG is not supported.
TryToPickupBuilding 	bool TryToPickupBuilding() 	Make the player attempt to pick up a building in front of them
UpdateSkin 	void UpdateSkin(int skin) 	
WasInCond 	bool WasInCond(ETFCond cond) 	
Weapon_CanUse 	bool Weapon_CanUse(handle weapon) 	
Weapon_Drop 	void Weapon_Drop(handle weapon) 	Does nothing!
Weapon_DropEx 	void Weapon_DropEx(handle weapon, Vector target, Vector velocity) 	Does nothing!
Weapon_Equip 	void Weapon_Equip(handle weapon) 	Equips a weapon in the player. This places it inside the m_hMyWeapons array.
Weapon_SetLast 	void Weapon_SetLast(handle weapon) 	
Weapon_ShootPosition 	Vector Weapon_ShootPosition() 	
Weapon_Switch 	void Weapon_Switch(handle weapon) 	Attempts a switch to the given weapon, if present in the player's inventory (m_hMyWeapons array).
=== CTFBot ===
Extends CTFPlayer ↑ and NextBotCombatCharacter ↓
Script handle class for bot-controlled players aka tf_bot. Beep boop.
==== Methods ====
Function 	Signature 	Description
AddBotAttribute 	void AddBotAttribute(int attribute) 	Sets attribute flags on this TFBot
AddBotTag 	void AddBotTag(string tag) 	Adds a bot tag
AddWeaponRestriction 	void AddWeaponRestriction(int flags) 	Adds weapon restriction flags
ClearAllBotAttributes 	void ClearAllBotAttributes() 	Clears all attribute flags on this TFBot
ClearAllBotTags 	void ClearAllBotTags() 	Clears bot tags
ClearAllWeaponRestrictions 	void ClearAllWeaponRestrictions() 	Removes all weapon restriction flags
ClearAttentionFocus 	void ClearAttentionFocus() 	Clear current focus
ClearBehaviorFlag 	void ClearBehaviorFlag(int flags) 	Clear the given behavior flag(s) for this bot
DelayedThreatNotice 	void DelayedThreatNotice(handle threat, float delay)	Notice the threat after a delay in seconds
DisbandCurrentSquad 	void DisbandCurrentSquad() 	Forces the current squad to be entirely disbanded by everyone
FindVantagePoint 	handle FindVantagePoint(float max_distance) 	Get the nav area of the closest vantage point (within distance)
GenerateAndWearItem 	void GenerateAndWearItem(string item_name) 	Give me an item!
GetActionPoint 	handle GetActionPoint() 	Get the given action point for this bot
GetAllBotTags 	void GetAllBotTags(handle table) 	Get all bot tags. The key is the index, and the value is the tag
GetHomeArea 	handle GetHomeArea() 	Sets the home nav area of the bot
GetDifficulty 	ETFBotDifficultyType GetDifficulty() 	Returns the bot's difficulty level
GetMaxVisionRangeOverride 	float GetMaxVisionRangeOverride() 	Gets the max vision range override for the bot
GetMission 	int GetMission() 	Get this bot's current mission
GetMissionTarget 	handle GetMissionTarget() 	Get this bot's current mission target
GetNearestKnownSappableTarget	handle GetNearestKnownSappableTarget() 	Gets the nearest known sappable target
GetPrevMission 	int GetPrevMission() 	Get this bot's previous mission
GetSpawnArea 	handle GetSpawnArea() 	Return the nav area of where we spawned
GetSquadFormationError 	float GetSquadFormationError() 	Gets our formation error coefficient.
HasBotAttribute 	bool HasBotAttribute(int attribute) 	Checks if this TFBot has the given attributes
HasBotTag 	bool HasBotTag(string tag) 	Checks if this TFBot has the given bot tag
HasMission 	bool HasMission(int mission) 	Return true if the given mission is this bot's current mission
HasWeaponRestriction 	bool HasWeaponRestriction(int flags) 	Checks if this TFBot has the given weapon restriction flags
IsAmmoFull 	bool IsAmmoFull() 	
IsAmmoLow 	bool IsAmmoLow() 	
IsAttentionFocused 	bool IsAttentionFocused() 	Is our attention focused right now?
IsAttentionFocusedOn 	bool IsAttentionFocusedOn(handle entity) 	Is our attention focused on this entity
IsBehaviorFlagSet 	bool IsBehaviorFlagSet(int flags) 	Return true if the given behavior flag(s) are set for this bot
IsDifficulty 	bool IsDifficulty(int difficulty) 	Returns true/false if the bot's difficulty level matches.
IsInASquad 	bool IsInASquad() 	Checks if we are in a squad
IsOnAnyMission 	bool IsOnAnyMission() 	Return true if this bot has a current mission
IsWeaponRestricted 	bool IsWeaponRestricted(handle weapon) 	Checks if the given weapon is restricted for use on the bot
LeaveSquad 	void LeaveSquad() 	Makes us leave the current squad (if any)
PressAltFireButton 	void PressAltFireButton(float duration) 	
PressFireButton 	void PressFireButton(float duration) 	
PressSpecialFireButton 	void PressSpecialFireButton(float duration) 	
RemoveBotAttribute 	void RemoveBotAttribute(int attribute) 	Removes attribute flags on this TFBot
RemoveBotTag 	void RemoveBotTag(string tag) 	Removes a bot tag
RemoveWeaponRestriction 	void RemoveWeaponRestriction(int flags) 	Removes weapon restriction flags
SetActionPoint 	void SetActionPoint(handle entity) 	Set the given action point for this bot
SetAttentionFocus 	void SetAttentionFocus(handle entity) 	Sets our current attention focus to this entity
SetAutoJump 	void SetAutoJump(float minTime, float maxTime) 	Sets if the bot should automatically jump, and how often.
SetBehaviorFlag 	void SetBehaviorFlag(int flags) 	Set the given behavior flag(s) for this bot
SetDifficulty 	void SetDifficulty(int difficulty) 	Sets the bots difficulty level
SetHomeArea 	void SetHomeArea(handle area) 	Set the home nav area of the bot, may be null.
SetMaxVisionRangeOverride 	void SetMaxVisionRangeOverride(float range) 	Sets max vision range override for the bot
SetMission 	void SetMission(int mission, bool reset_behavior) 	Set this bot's current mission to the given mission
SetMissionTarget 	void SetMissionTarget(handle entity) 	Set this bot's mission target to the given entity
SetPrevMission 	void SetPrevMission(int mission) 	Set this bot's previous mission to the given mission
SetScaleOverride 	void SetScaleOverride(float scale) 	Sets the scale override for the bot
SetShouldQuickBuild 	void SetShouldQuickBuild(bool toggle) 	Sets if the bot should build instantly
SetSquadFormationError 	void SetSquadFormationError(float coefficient) 	Sets our formation error coefficient.
ShouldAutoJump 	bool ShouldAutoJump() 	Returns if the bot should automatically jump
ShouldQuickBuild 	bool ShouldQuickBuild() 	Returns if the bot should build instantly
UpdateDelayedThreatNotices 	void UpdateDelayedThreatNotices() 	
=== CTFBaseBoss ===
Extends NextBotCombatCharacter ↓
Base class intended for custom NPCs. Officially this is only used as part of MvM tank.
==== Methods ====
Function 	Signature 	Description
SetResolvePlayerCollisions	void SetResolvePlayerCollisions(bool toggle)	Sets whether the entity should push away players intersecting its bounding box. On by default.
=== Convars ===
Game Instance: Convars
An interface to manipulate the convars on the server.
==== Methods ====
Function 	Signature 	Description
GetBool 	bool GetBool(string name) 	Returns the convar as a bool. May return null if no such convar.
GetClientConvarValue	string GetClientConvarValue(string name, int entindex)	Returns the convar value for the entindex as a string. Only works on client convars with the FCVAR_USERINFO flag.
GetInt 	int GetInt(string name) 	Returns the convar as an int. May return null if no such convar.
GetStr 	string GetStr(string name) 	Returns the convar as a string. May return null if no such convar. Returns hunter2 if a protected convar is accessed.
GetFloat 	float GetFloat(string name) 	Returns the convar as a float. May return null if no such convar.
IsConVarOnAllowList 	bool IsConVarOnAllowList(string name) 	Checks if the convar is allowed to be used and is in cfg/vscript_convar_allowlist.txt. Please be nice with this and use it for *compatibility* if you need check support and NOT to force server owners to allow hostname to be set... or else this will simply lie and return true in future. ;-) You have been warned!
SetValue 	void SetValue(string name, any value) 	Sets the value of the convar. The convar must be in cfg/vscript_convar_allowlist.txt to be set. Convars marked as cheat-only can be set even if sv_cheats is off. Convars marked as dev-only (i.e. not visible in console) can also be set. Supported types are bool, int, float, string. The original value of the convar is saved and is reset on map change, in other words convar changes will not persist across maps.
=== CEntities ===
Game Instance: Entities
An interface to find and iterate over the script handles for the entities in play. To iterate over a set of entities, pass null to the previous parameter in the appropriate method to start an iteration. A reference to a previously-found entity can be used instead to continue a search.
The following are two equivalent examples and iterate over all weapons on the map:
local ent = null
while ( ent = Entities.FindByClassname(ent, "tf_weapon_*") )
{
 // ...
}	
for (local ent; ent = Entities.FindByName(ent, "tf_weapon_*"); )
{
 // ...
}
==== Methods ====
Function 	Signature 	Description
CreateByClassname 	handle CreateByClassname(string classname) 	Creates an entity by classname.
DispatchSpawn 	void DispatchSpawn(handle entity) 	Dispatches spawn of an entity! Use this on entities created via CreateByClassname to actually spawn them into the world.
FindByClassname 	handle FindByClassname(handle previous, string classname) 	Find entities by the string of their classname keyvalue. Pass 'null' value to start an iteration, or reference to a previously found entity to continue a search
FindByClassnameNearest	handle FindByClassnameNearest(string classname, Vector center, float radius) 	Find entities by classname nearest to a point within a radius.
FindByClassnameWithin 	handle FindByClassnameWithin(handle previous, string classname, Vector center, float radius)	Find entities by classname within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByModel 	handle FindByModel(handle previous, string modelname) 	Find entities by the string of their model keyvalue. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByName 	handle FindByName(handle previous, string targetname) 	Find entities by the string of their keyvalue. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByNameNearest 	handle FindByNameNearest(string targetname, Vector center, float radius) 	Find entities by targetname nearest to a point within a radius.
FindByNameWithin 	handle FindByNameWithin(handle previous, string targetname, Vector center, float radius) 	Find entities by targetname within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByTarget 	handle FindByTarget(handle previous, string target) 	Find entities by the string of their target keyvalue. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindInSphere 	handle FindInSphere(handle previous, Vector center, float radius) 	Find entities within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
First 	handle First() 	Begin an iteration over the list of entities. The first entity is always worldspawn.
Next 	handle Next(handle previous) 	At the given reference of a previously-found entity, returns the next one after it in the list.
=== CTFNavArea ===
Script handle class for areas part of the navigation mesh.
==== Methods ====
Function 	Signature 	Description
AddIncomingConnection 	void AddIncomingConnection(handle area, ENavDirType dir) 	Add areas that connect TO this area by a ONE-WAY link
ClearAttributeTF 	void ClearAttributeTF(int bits) 	Clear TF-specific area attribute bits.
ComputeClosestPointInPortal 	Vector ComputeClosestPointInPortal(handle to, ENavDirType dir, Vector closePos) 	Compute closest point within the "portal" between to an area's direction from the given position.
ComputeDirection 	int ComputeDirection(Vector point) 	Return direction from this area to the given point.
ConnectTo 	void ConnectTo(handle area, ENavDirType dir) 	Connect this area to given area in given direction.
Contains 	bool Contains(handle area) 	Return true if other area is on or above this area, but no others.
ContainsOrigin 	bool ContainsOrigin(Vector point) 	Return true if given point is on or above this area, but no others.
DebugDrawFilled 	void DebugDrawFilled(int r, int g, int b, int a, float duration, bool noDepthTest, float margin)	Draw area as a filled rectangle of the given color.
Disconnect 	void Disconnect(handle area) 	Disconnect this area from given area.
FindRandomSpot 	Vector FindRandomSpot() 	Get random origin within extent of area.
GetAdjacentArea 	handle GetAdjacentArea(ENavDirType dir, int n) 	Return the n'th adjacent area in the given direction
GetAdjacentAreas 	void GetAdjacentAreas(ENavDirType dir, handle table) 	Fills a passed in table with all adjacent areas in the given direction.
GetAdjacentCount 	int GetAdjacentCount(ENavDirType dir) 	Get the number of adjacent areas in the given direction.
GetAttributes 	int GetAttributes() 	Get area attribute bits.
GetAvoidanceObstacleHeight 	float GetAvoidanceObstacleHeight() 	Returns the maximum height of the obstruction above the ground.
GetCenter 	Vector GetCenter() 	Get center origin of area.
GetCorner 	Vector GetCorner(ENavDirType dir) 	Get corner origin of area.
GetDistanceSquaredToPoint 	float GetDistanceSquaredToPoint(Vector pos) 	Return shortest distance between point and this area.
GetDoor 	handle GetDoor() 	Returns the door entity above the area.
GetElevator 	handle GetElevator() 	Returns the elevator if in an elevator's path.
GetElevatorAreas 	void GetElevatorAreas(handle table) 	Fills table with a collection of areas reachable via elevator from this area.
GetID 	int GetID() 	Get area ID.
GetIncomingConnections 	void GetIncomingConnections(ENavDirType dir, handle table) 	Fills a passed in table with areas connected TO this area by a ONE-WAY link (ie: we have no connection back to them).
GetParent 	handle GetParent() 	Returns the area just prior to this one in the search path.
GetParentHow 	int GetParentHow() 	Returns how we get from parent to us.
GetPlaceName 	string GetPlaceName() 	Get place name if it exists, null otherwise.
GetPlayerCount 	int GetPlayerCount(int team) 	Return number of players of given team currently within this area (team of zero means any/all).
GetRandomAdjacentArea 	handle GetRandomAdjacentArea(ENavDirType dir) 	Return a random adjacent area in the given direction.
GetSizeX 	float GetSizeX() 	Return the area size along the X axis.
GetSizeY 	float GetSizeY() 	Return the area size along the Y axis.
GetTravelDistanceToBombTarget	float GetTravelDistanceToBombTarget() 	Gets the travel distance to the MvM bomb target.
GetZ 	float GetZ(Vector pos) 	Return Z of area at (x,y) of 'pos'
HasAttributeTF 	bool HasAttributeTF(int bits) 	Has TF-specific area attribute bits of the given ones.
HasAttributes 	bool HasAttributes(int bits) 	Has area attribute bits of the given ones?.
HasAvoidanceObstacle 	bool HasAvoidanceObstacle(float maxheight) 	Returns true if there's a large, immobile object obstructing this area
IsBlocked 	bool IsBlocked(int team, bool affectsFlow) 	Return true if team is blocked in this area.
IsBottleneck 	bool IsBottleneck() 	Returns true if area is a bottleneck. (tiny narrow areas with only one path)
IsCompletelyVisibleToTeam 	bool IsCompletelyVisibleToTeam(int team) 	Return true if given area is completely visible from somewhere in this area by someone on the team.
IsConnected 	bool IsConnected(handle area, ENavDirType dir) 	Return true if this area is connected to other area in given direction. (If you set direction to -1 or 4, it will automatically check all directions for a connection).
IsCoplanar 	bool IsCoplanar(handle area) 	Return true if this area and given. area are approximately co-planar
IsDamaging 	bool IsDamaging() 	Return true if this area is marked to have continuous damage.
IsDegenerate 	bool IsDegenerate() 	Return true if this area is badly formed.
IsEdge 	bool IsEdge(ENavDirType dir) 	Return true if there are no bi-directional links on the given side.
IsFlat 	bool IsFlat() 	Return true if this area is approximately flat.
IsOverlapping 	bool IsOverlapping(handle area) 	Return true if 'area' overlaps our 2D extents.
IsOverlappingOrigin 	bool IsOverlappingOrigin(Vector pos, float tolerance) 	Return true if 'pos' is within 2D extents of area.
IsPotentiallyVisibleToTeam 	bool IsPotentiallyVisibleToTeam(int team) 	Return true if any portion of this area is visible to anyone on the given team.
IsReachableByTeam 	bool IsReachableByTeam(int team) 	Is this area reachable by the given team?
IsRoughlySquare 	bool IsRoughlySquare() 	Return true if this area is approximately square.
IsTFMarked 	bool IsTFMarked() 	Is this nav area marked with the current marking scope?
IsUnderwater 	bool IsUnderwater() 	Return true if area is underwater.
IsValidForWanderingPopulation	bool IsValidForWanderingPopulation() 	Returns true if area is valid for wandering population.
IsVisible 	bool IsVisible(Vector point) 	Return true if area is visible from the given eyepoint.
MarkAsBlocked 	void MarkAsBlocked(int team) 	Mark this area as blocked for team.
MarkAsDamaging 	void MarkAsDamaging(float duration) 	Mark this area is damaging for the next 'duration' seconds.
MarkObstacleToAvoid 	void MarkObstacleToAvoid(float height) 	Marks the obstructed status of the nav area.
RemoveAttributes 	void RemoveAttributes(int bits) 	Removes area attribute bits.
RemoveOrthogonalConnections 	void RemoveOrthogonalConnections(ENavDirType dir) 	Removes all connections in directions to left and right of specified direction.
SetAttributeTF 	void SetAttributeTF(int bits) 	Set TF-specific area attributes.
SetAttributes 	void SetAttributes(int bits) 	Set area attribute bits.
SetPlaceName 	void SetPlaceName(string name) 	Set place name. If you pass null, the place name will be set to nothing.
TFMark 	void TFMark() 	Mark this nav area with the current marking scope.
UnblockArea 	void UnblockArea() 	Unblocks this area.
=== CNavMesh ===
Game Instance: NavMesh
An interface to collect nav areas from, especially for pathfinding needs.
==== Methods ====
Function 	Signature 	Description
FindNavAreaAlongRay 	handle FindNavAreaAlongRay(Vector startpos, Vector endpos, handle ignoreAreaID) 	get nav area from ray
GetAllAreas 	void GetAllAreas(handle table) 	fills a passed in table of all nav areas
GetAreasWithAttributes 	void GetAreasWithAttributes(int bits, handle table) 	fills a passed in table of all nav areas that have the specified attributes
GetNavArea 	handle GetNavArea(Vector origin, float flBeneath) 	given a position in the world, return the nav area that is closest to or below that height.
GetNavAreaByID 	handle GetNavAreaByID(int areaID) 	get nav area by ID
GetNavAreaCount 	int GetNavAreaCount() 	return total number of nav areas
GetNavAreasFromBuildPath 	bool GetNavAreasFromBuildPath(handle startArea, handle endArea, Vector goalPos, float flMaxPathLength, int teamID, bool ignoreNavBlockers, handle table)	Fills the table with areas from a path. Returns whether a path was found. If 'endArea' is NULL, will compute a path as close as possible to 'goalPos'.
GetNavAreasInRadius 	void GetNavAreasInRadius(Vector origin, float radius, handle table) 	fills a passed in table of nav areas within radius
GetNavAreasOverlappingEntityExtent	void GetNavAreasOverlappingEntityExtent(handle entity, handle table) 	fills passed in table with areas overlapping entity's extent
GetNearestNavArea 	handle GetNearestNavArea(Vector origin, float maxDist, bool checkLOS, bool checkGround) 	given a position in the world, return the nav area that is closest to or below that height.
GetObstructingEntities 	void GetObstructingEntities(handle table) 	fills a passed in table of all obstructing entities
NavAreaBuildPath 	bool NavAreaBuildPath(handle startArea, handle endArea, Vector goalPos, float flMaxPathLength, int teamID, bool ignoreNavBlockers) 	returns true if a path exists
NavAreaTravelDistance 	float NavAreaTravelDistance(handle startArea, handle endArea, float flMaxPathLength) 	compute distance between two areas. Return -1 if can't reach 'endArea' from 'startArea'
RegisterAvoidanceObstacle 	void RegisterAvoidanceObstacle(handle entity) 	registers avoidance obstacle
UnregisterAvoidanceObstacle 	void UnregisterAvoidanceObstacle(handle entity) 	unregisters avoidance obstacle
=== CNetPropManager ===
Game Instance: NetProps
Allows reading and updating the network properties and data-maps of an entity. A brief explanation: all entities in the game have 2 types of internal properties: networked and saved (called "data" by the game). Networked properties are transmitted to the client, while data properties are a leftover from singleplayer games, which are properties that get saved to a save file (that can be re-loaded later). Some properties may exist in both lists, or one list but not the other and vice versa, so it's best to check both lists. Entities follow an inheritance tree, and they inherit the properties of their parent(s). For organization/optimization purposes, properties also tend to be nested inside "tables".
Netprops nested in a table can be accessed using dot notation similar to a Squirrel table. Example: to access the netprop m_bJumping on a player, you would specify m_Shared.m_bJumping.
	
==== Methods ====
Function 	Signature 	Description
GetPropArraySize 	int GetPropArraySize(handle entity, string propertyName) 	Returns the size of an netprop array, or -1.
GetPropEntity 	handle GetPropEntity(handle entity, string propertyName) 	Reads an EHANDLE-valued netprop (21 bit integer). Returns the script handle of the entity.
GetPropEntityArray	handle GetPropEntityArray(handle entity, string propertyName, int arrayElement) 	Reads an EHANDLE-valued netprop (21 bit integer) from an array. Returns the script handle of the entity.
GetPropBool 	bool GetPropBool(handle entity, string propertyName) 	Reads a boolean-valued netprop.
GetPropBoolArray 	bool GetPropBoolArray(handle entity, string propertyName, int arrayElement) 	Reads a boolean-valued netprop from an array.
GetPropFloat 	float GetPropFloat(handle entity, string propertyName) 	Reads a float-valued netprop.
GetPropFloatArray 	float GetPropFloatArray(handle entity, string propertyName, int arrayElement) 	Reads a float-valued netprop from an array.
GetPropInfo 	bool GetPropInfo(handle entity, string propertyName, int arrayElement, handle table) 	Fills in a passed table with property info for the provided entity.
GetPropInt 	int GetPropInt(handle entity, string propertyName) 	Reads an integer-valued netprop.
GetPropIntArray 	int GetPropIntArray(handle entity, string propertyName, int arrayElement) 	Reads an integer-valued netprop from an array.
GetPropString 	string GetPropString(handle entity, string propertyName) 	Reads an string-valued netprop.
GetPropStringArray	string GetPropStringArray(handle entity, string propertyName, int arrayElement) 	Reads an string-valued netprop from an array.
GetPropType 	string GetPropType(handle entity, string propertyName) 	Returns the name of the netprop type as a string.
GetPropVector 	Vector GetPropVector(handle entity, string propertyName) 	Reads a 3D vector-valued netprop.
GetPropVectorArray	Vector GetPropVectorArray(handle entity, string propertyName, int arrayElement) 	Reads a 3D vector-valued netprop from an array.
GetTable 	void GetTable(handle entity, int iPropType, handle table) 	Fills in a passed table with all props of a specified type for the provided entity (set iPropType to 0 for SendTable or 1 for DataMap)
HasProp 	bool HasProp(handle entity, string propertyName) 	Checks if a netprop exists.
SetPropBool 	void SetPropBool(handle entity, string propertyName, bool value) 	Sets a netprop to the specified boolean.
SetPropBoolArray 	void SetPropBoolArray(handle entity, string propertyName, bool value, int arrayElement) 	Sets a netprop from an array to the specified boolean.
SetPropEntity 	void SetPropEntity(handle entity, string propertyName, handle value) 	Sets an EHANDLE-valued netprop (21 bit integer) to reference the specified entity.
SetPropEntityArray	void SetPropEntityArray(handle entity, string propertyName, handle value, int arrayElement)	Sets an EHANDLE-valued netprop (21 bit integer) from an array to reference the specified entity.
SetPropFloat 	void SetPropFloat(handle entity, string propertyName, float value) 	Sets a netprop to the specified float.
SetPropFloatArray 	void SetPropFloatArray(handle entity, string propertyName, float value, int arrayElement) 	Sets a netprop from an array to the specified float.
SetPropInt 	void SetPropInt(handle entity, string propertyName, int value) 	Sets a netprop to the specified integer.
SetPropIntArray 	void SetPropIntArray(handle entity, string propertyName, int value, int arrayElement) 	Sets a netprop from an array to the specified integer.
SetPropString 	void SetPropString(handle entity, string propertyName, string value) 	Sets a netprop to the specified string.
SetPropStringArray	void SetPropStringArray(handle entity, string propertyName, string value, int arrayElement)	Sets a netprop from an array to the specified string.
SetPropVector 	void SetPropVector(handle entity, string propertyName, Vector value) 	Sets a netprop to the specified vector.
SetPropVectorArray	void SetPropVectorArray(handle entity, string propertyName, Vector value, int arrayElement)	Sets a netprop from an array to the specified vector.
=== CScriptEntityOutputs ===
Game Instance: EntityOutputs
Allows reading and manipulation of entity output data.
==== Methods ====
Function 	Signature 	Description
AddOutput 	void AddOutput(handle entity, string outputName, string targetName, string inputName, string parameter, float delay, int timesToFire)	Adds a new output to the entity.
GetNumElements	int GetNumElements(handle ntity entity, string outputName) 	Returns the number of array elements.
GetOutputTable	void GetOutputTable(handle entity, string outputName, table, int arrayElement) 	Fills the passed table with output information.
HasAction 	bool HasAction(handle entity, string outputName) 	Returns true if an action exists for the output.
HasOutput 	bool HasOutput(handle entity, string outputName) 	Returns true if the output exists.
RemoveOutput 	void RemoveOutput(handle entity, string outputName, string targetName, string inputName, string parameter) 	Removes an output from the entity.
=== CScriptKeyValues ===
Script handle representation of a model's $keyvalues block.
All sub-keys are instances of the same class.
==== Methods ====
Function 	Signature 	Description
constructor 	 	
FindKey 	CScriptKeyValues FindKey(string key)	Find a sub key by the key name.
GetFirstSubKey 	CScriptKeyValues GetFirstSubKey() 	Return the first sub key object.
GetKeyBool 	bool GetKeyBool(string key) 	Return the key value as a bool.
GetKeyFloat 	float GetKeyFloat(string key) 	Return the key value as a float.
GetKeyInt 	int GetKeyInt(string key) 	Return the key value as an integer.
GetKeyString 	string GetKeyString(string key) 	Return the key value as a string.
GetNextKey 	CScriptKeyValues GetNextKey() 	Return the next neighbor key object to the one the method is called on.
IsKeyEmpty 	bool IsKeyEmpty(string key) 	Returns true if the named key has no value.
IsValid 	bool IsValid() 	Whether the handle belongs to a valid key.
ReleaseKeyValues	void ReleaseKeyValues() 	Releases the contents of the instance.
=== CPlayerVoiceListener ===
Game Instance: PlayerVoiceListener
Tracks if any player is using voice and for how long.
==== Methods ====
Function 	Signature 	Description
GetPlayerSpeechDuration	float GetPlayerSpeechDuration(int playerIndex)	Returns the number of seconds the player has been continuously speaking.
IsPlayerSpeaking 	bool IsPlayerSpeaking(int playerIndex) 	Returns whether the player specified is speaking.
=== CEnvEntityMaker ===
Extends CBaseEntity ↑
Script handle class for env_entity_maker.
==== Methods ====
Function 	Signature 	Description
SpawnEntity 	void SpawnEntity() 	Create an entity at the location of the maker
SpawnEntityAtEntityOrigin 	void SpawnEntityAtEntityOrigin(handle entity) 	Create an entity at the location of a specified entity instance.
SpawnEntityAtLocation 	void SpawnEntityAtLocation(Vector origin, Vector orientation)	Create an entity at a specified location and orientation, orientation is Euler angle in degrees (pitch, yaw, roll).
SpawnEntityAtNamedEntityOrigin	void SpawnEntityAtNamedEntityOrigin(string targetname) 	Create an entity at the location of a named entity. If multiple entities have the same name, only the one with the lowest entity index will be targeted.
=== CPointTemplate ===
Extends CBaseEntity ↑
Script handle class for .
==== Hooks ====
;table PreSpawnInstance(string entityClass, string entityName)
:If this is defined, it will be called right before the entity is created, and any keyvalues returned will be assigned to the entity.
;void PostSpawn(table entities)
:Called after the entities are spawned. A table with the handles of the spawned entities indexed by name is passed to the function. Could use this to connect outputs or do whatever needs to be done after the entity was created.
===== Example =====
Spawned entities can be accessed synchronously in script by using an entity maker. The following generalised example creates a global SpawnMyEntity() function which spawns and returns the templated entity. It can be modified to support multiple templated entities.
Spawn templated entities from any script.
=== CFuncTrackTrain ===
Extends CBaseEntity ↑
Script handle class for .
==== Methods ====
Function 	Signature 	Description
GetFuturePosition	Vector GetFuturePosition(float x, float speed)	Get a position on the track X seconds in the future.
=== CPointScriptTemplate ===
Extends CBaseEntity ↑
Script handle class for .
==== Methods ====
Function 	Signature 	Description
AddTemplate 	void AddTemplate(string classname, table keyvalues)	Add an entity with the given keyvalues to the template spawner, similar to SpawnEntityFromTable. The number of templates allowed is unlimited.
SetGroupSpawnTables	void SetGroupSpawnTables(table group, table spawn) 	Unused. This only stores a reference to the two tables which is removed when the is deleted.
==== Hooks ====
PreSpawnInstance hook from is not available.
;void PostSpawn(table entities)
:Called after the entities are spawned. A table with the handles of the spawned entities indexed by name is passed to the function. 
=== CSceneEntity ===
Extends CBaseEntity ↑
Script handle class for , which make use of VCD data.
==== Methods ====
Function 	Signature 	Description
AddBroadcastTeamTarget 	void AddBroadcastTeamTarget(int index) 	Adds a team (by index) to the broadcast list.
EstimateLength 	float EstimateLength() 	Returns length of this scene in seconds.
FindNamedEntity 	handle FindNamedEntity(string reference) 	Given an entity reference, such as !target, get actual entity from scene object
IsPaused 	bool IsPaused() 	If this scene is currently paused.
IsPlayingBack 	bool IsPlayingBack() 	If this scene is currently playing.
LoadSceneFromString 	bool LoadSceneFromString(string sceneName, string scene)	Given a dummy scene name and a vcd string, load the scene.
RemoveBroadcastTeamTarget	void RemoveBroadcastTeamTarget(int index) 	Removes a team (by index) from the broadcast list.
=== CCallChainer ===
CCallChainer objects collect all functions with a matching prefix in a given scope, then inserts it all into the chains table with the prefix removed. All collected unprefixed functions can then be called in a chain using the class's Call() method, given the method's event argument matches the functions' name.
Whenever a CCallChainer object is created, a function named Dispatch followed by its given prefix will also be created, which the class binds the environment of its Call() method to.
==== Methods ====
Function 	Signature 	Description
constructor 	CCallChainer(string functionPrefix, table scope = null)	Creates a CCallChainer object that'll collect functions that have a matching prefix in the given scope.
PostScriptExecute	void PostScriptExecute() 	Search for all non-native functions with matching prefixes, then push them into the chains table.
Call 	bool Call(string event, any ...) 	Find an unprefixed function name in the chains table and call it with the given arguments.
==== Members ====
Instance	Type 	Description
chains 	table 	Contains names of unprefixed functions, each with an array of functions to call.
prefix 	string	Prefix that functions should have to be added into the chains table. Set by the constructor.
scope 	table 	If set, seek functions in this scope instead. Set by the constructor.
=== CSimpleCallChainer ===
Intended to be simpler to use than CCallChainer ↑, the class CSimpleCallChainer holds only a single chain of functions inside an array instead of multiple inside a table. As such, its Call() method does not need a function's name.
This class is also used internally by these CBaseEntity ↑ hooks: Precache() and OnPostSpawn().
==== Methods ====
Function 	Signature 	Description
constructor 	CSimpleCallChainer(string functionPrefix, table scope = null, exactMatch = false)	Creates a CSimpleCallChainer object that'll collect functions that have a matching prefix in the given scope, unless it seek for an exact name match.
PostScriptExecute	void PostScriptExecute() 	Begin searching for all non-native functions with matching prefixes, then push them into the chain array.
Call 	bool Call(any ...) 	Call all functions inside the chain array with the given arguments.
==== Members ====
Instance 	Type 	Description
chain 	array 	All functions to be called by the Call() method.
exactMatch	bool 	If set, names of non-native functions and prefix must be an exact match. Set by the constructor.
prefix 	string	Prefix that functions should have to be added into the chain array. Set by the constructor.
scope 	table 	If set, seek functions in this scope instead. Set by the constructor.
=== NextBotCombatCharacter ===
Extends CBaseCombatCharacter ↑
Script handle class for non-playable combat characters operating under the NextBot system.
==== Methods ====
Function 	Signature 	Description
ClearImmobileStatus 	void ClearImmobileStatus() 	Clear immobile status
FlagForUpdate 	void FlagForUpdate(bool toggle) 	Flag this bot for update (or not to update if toggle is false)
GetBodyInterface 	INextBotComponent GetBodyInterface() 	Get this bot's body interface
GetBotId 	int GetBotId() 	Get this bot's id
GetImmobileDuration 	float GetImmobileDuration() 	How long have we been immobile
GetImmobileSpeedThreshold	float GetImmobileSpeedThreshold() 	Return units/second below which this actor is considered immobile
GetIntentionInterface 	INextBotComponent GetIntentionInterface()	Get this bot's intention interface
GetLocomotionInterface 	ILocomotion GetLocomotionInterface() 	Get this bot's locomotion interface
GetTickLastUpdate 	int GetTickLastUpdate() 	Get last update tick
GetVisionInterface 	INextBotComponent GetVisionInterface() 	Get this bot's vision interface
IsEnemy 	bool IsEnemy(handle entity) 	Return true if given entity is our enemy
IsFlaggedForUpdate 	bool IsFlaggedForUpdate() 	Is this bot flagged for update
IsFriend 	bool IsFriend(handle entity) 	Return true if given entity is our friend
IsImmobile 	bool IsImmobile() 	Return true if we haven't moved in awhile
=== INextBotComponent ===
Base script handle class for any interfaces belonging to an individual NextBotCombatCharacter ↑ entity.
==== Methods ====
Function 	Signature 	Description
ComputeUpdateInterval	bool ComputeUpdateInterval()	Recomputes the component update interval
GetUpdateInterval 	float GetUpdateInterval() 	Returns the component update interval
Reset 	void Reset() 	Resets the internal update state
=== ILocomotion ===
Extends INextBotComponent ↑
The interface for interacting with a specific NextBot's movement brain.
==== Methods ====
Function 	Signature 	Description
Approach 	void Approach(Vector goal, float goalWeight) 	The primary locomotive method. Goal determines the destination position to move towards. goalWeight determines the priority of this path, you can set this to 1.0 generally speaking.
ClearStuckStatus 	void ClearStuckStatus(string reason) 	Reset stuck status to un-stuck. Reason message is shown when debugging nextbots.
ClimbUpToLedge 	bool ClimbUpToLedge(Vector goalPos, Vector goalForward, handle obstacle) 	Initiate a jump to an adjacent high ledge, return false if climb can't start
ComputeUpdateInterval 	bool ComputeUpdateInterval() 	Returns false if no time has elapsed
DriveTo 	void DriveTo(Vector pos) 	Move the bot to the precise given position immediately, updating internal state
FaceTowards 	void FaceTowards(Vector target) 	Rotate body to face towards target
FractionPotentialGap 	float FractionPotentialGap(Vector from, Vector to) 	If the locomotor cannot jump over the gap, returns the fraction of the jumpable ray
FractionPotentiallyTraversable	float FractionPotentiallyTraversable(Vector from, Vector to, bool immediately)	If the locomotor could not move along the line given, returns the fraction of the walkable ray. If immediately is true, breakables are considered non-traverseable
GetDeathDropHeight 	float GetDeathDropHeight() 	Distance at which we will die if we fall
GetDesiredSpeed 	float GetDesiredSpeed() 	Get desired speed for locomotor movement
GetFeet 	Vector GetFeet() 	Return position of feet - the driving point where the bot contacts the ground
GetGround 	handle GetGround() 	Return the current ground entity or NULL if not on the ground
GetGroundMotionVector 	Vector GetGroundMotionVector() 	Return unit vector in XY plane describing our direction of motion - even if we are currently not moving
GetGroundNormal 	Vector GetGroundNormal() 	Surface normal of the ground we are in contact with
GetGroundSpeed 	float GetGroundSpeed() 	Return current world space speed in XY plane
GetMaxAcceleration 	float GetMaxAcceleration() 	Return maximum acceleration of locomotor
GetMaxDeceleration 	float GetMaxDeceleration() 	Return maximum deceleration of locomotor
GetMaxJumpHeight 	float GetMaxJumpHeight() 	Return maximum height of a jump.
GetMotionVector 	Vector GetMotionVector() 	Return unit vector describing our direction of motion - even if we are currently not moving
GetRunSpeed 	float GetRunSpeed() 	Get maximum running speed
GetSpeed 	float GetSpeed() 	Return current world space speed (magnitude of velocity)
GetSpeedLimit 	float GetSpeedLimit() 	Get maximum speed bot can reach, regardless of desired speed
GetStepHeight 	float GetStepHeight() 	If delta Z is lower than this, we can step up the surface (like a stair step), but if delta Z is greater than this, we have to jump to get up.
GetStuckDuration 	float GetStuckDuration() 	Return how long we've been stuck
GetTraversableSlopeLimit 	float GetTraversableSlopeLimit() 	Return Z component of unit normal of steepest traversable slope
GetUpdateInterval 	float GetUpdateInterval() 	Returns time between updates
GetVelocity 	Vector GetVelocity() 	Return current world space velocity
GetWalkSpeed 	float GetWalkSpeed() 	Get maximum walking speed
HasPotentialGap 	float HasPotentialGap(Vector from, Vector to) 	Checks if there is a possible gap that will need to be jumped over. Returns fraction of ray from 0 to 1.
IsAbleToClimb 	bool IsAbleToClimb() 	Return true if this bot can climb arbitrary geometry it encounters
IsAbleToJumpAcrossGaps 	bool IsAbleToJumpAcrossGaps() 	Return true if this bot can jump across gaps in its path
IsAreaTraversable 	bool IsAreaTraversable(handle area) 	Return true if given area can be used for navigation
IsAttemptingToMove 	bool IsAttemptingToMove() 	Return true if we have tried to Approach() or DriveTo() very recently
IsClimbingOrJumping 	bool IsClimbingOrJumping() 	Is jumping in any form
IsClimbingUpToLedge 	bool IsClimbingUpToLedge() 	Is climbing up to a high ledge
IsEntityTraversable 	bool IsEntityTraversable(handle entity, bool immediately) 	Return true if the entity handle is traversable. If immediately is true, breakables are considered non-traverseable
IsGap 	bool IsGap(Vector pos, Vector forward) 	Return true if there is a gap at this position.
IsJumpingAcrossGap 	bool IsJumpingAcrossGap() 	Is jumping across a gap to the far side
IsOnGround 	bool IsOnGround() 	Return true if standing on something
IsPotentiallyTraversable 	float IsPotentiallyTraversable(Vector from, Vector to, bool immediately) 	Checks if this locomotor could potentially move along the line given. Returns fraction of trace result (1 = clear). If immediately is true, breakables are considered non-traverseable
IsRunning 	bool IsRunning() 	Is running?
IsScrambling 	bool IsScrambling() 	Is in the middle of a complex action (climbing a ladder, climbing a ledge, jumping, etc) that shouldn't be interrupted
IsStuck 	bool IsStuck() 	Return true if bot is stuck. If the locomotor cannot make progress, it becomes stuck and can only leave this stuck state by successfully movingand becoming un-stuck.
Jump 	void Jump() 	Initiate a simple undirected jump in the air
JumpAcrossGap 	void JumpAcrossGap(Vector goalPos, Vector goalForward) 	Initiate a jump across an empty volume of space to far side
OnLandOnGround 	void OnLandOnGround(handle ground) 	Manually run the OnLandOnGround callback. Typically invoked when bot lands on the ground after being in the air
OnLeaveGround 	void OnLeaveGround(handle ground) 	Manually run the OnLeaveGround callback. Typically invoked when bot leaves ground for any reason
Reset 	void Reset() 	Resets motion, stuck state etc
Run 	void Run() 	Set desired movement speed to running
SetDesiredSpeed 	void SetDesiredSpeed(float speed) 	Set desired speed for locomotor movement
SetSpeedLimit 	void SetSpeedLimit(float limit) 	Set maximum speed bot can reach, regardless of desired speed
Stop 	void Stop() 	Set desired movement speed to stopped
Walk 	void Walk() 	Set desired movement speed to walking
=== LateBinder ===
==== Methods ====
Function 	Signature	Description
Begin 	 	
End 	 	
EstablishDelegation 	 	
HookRootMetamethod 	 	
UnhookRootMetamethod	 	
RemoveDelegation 	 	
Resolve 	 	
==== Members ====
Instance 	Type 	Description
m_bindNamesStack	array 	
m_fixupSet 	array 	
m_log 	bool 	
m_logIndent 	int 	
m_targetTable 	table?(null)	
=== regexp ===
The built-in Squirrel class for regular expressions.
==== Methods ====
Function 	Signature 	Description
constructor	regexp() 	
capture 	table capture(str, [start])	Returns an array of tables containing two indexes ("begin" and "end") of the first match of the regular expression in the string str. An array entry is created for each captured sub expressions. If no match occurs returns null. The search starts from the index start of the string, if start is omitted the search starts from the beginning of the string.
match 	bool match(str) 	Returns a true if the regular expression matches the string str, otherwise returns false.
search 	table search(str, [start]) 	Returns a table containing two indexes ("begin" and "end") of the first match of the regular expression in the string str, otherwise if no match occurs returns null. The search starts from the index start of the string, if start is omitted the search starts from the beginning of the string.
subexpcount	subexpcount() 	
== Data Types ==
=== Vector ===
Squirrel equivalent of the C++ Vector class. A three-dimensional vector with overloaded arithmetic operations for both Vectors and scalar values.
==== Methods ====
Function 	Signature 	Description
constructor	Vector(float x = 0, float y = 0, float z = 0)	Creates a new vector with the specified Cartesian coordiantes.
Cross 	Vector Cross(Vector factor) 	The vector product of two vectors. Returns a vector orthogonal to the input vectors.
Dot 	float Dot(Vector factor) 	The scalar product of two vectors.
Length 	float Length() 	Magnitude of the vector.
LengthSqr 	float LengthSqr() 	The magnitude of the vector squared.
Length2D 	float Length2D() 	Returns the magnitude of the vector on the x-y plane.
Length2DSqr	float Length2DSqr() 	Returns the square of the magnitude of the vector on the x-y plane.
Norm 	float Norm() 	Normalizes the vector in place and returns it's length.
Scale 	Vector Scale(float factor) 	Scales the vector magnitude.
ToKVString 	string ToKVString() 	Returns a string without separations commas.
tostring 	string tostring() 	Returns a human-readable string.
==== Members ====
Instance	Type 	Description
x 	float	Cartesian X axis.
y 	float	Cartesian Y axis.
z 	float	Cartesian Z axis.
==== Operations ====
Operation 	Return Type	Description
Vector + Vector 	Vector 	Returns the sum of both classes's members (XYZ).
QAngle + Vector 	Vector 	Returns the sum of both classes's members (XYZ).
Vector - Vector 	Vector 	Returns the subtraction of both classes's members (XYZ).
QAngle - Vector 	Vector 	Returns the subtraction of both classes's members (XYZ).
Vector * integer	Vector 	Returns the multiplication of a Vector against a scalar.
Vector * float 	Vector 	Returns the multiplication of a Vector against a scalar.
=== QAngle ===
Squirrel equivalent of the C++ QAngle class. Represents a three-dimensional orientation as Euler angles.
Has overloaded arithmetic operations with both QAngles and scalar values.
==== Methods ====
Function 	Signature 	Description
constructor	QAngle(float pitch = 0, float yaw = 0, float roll = 0)	Creates a new QAngle.
Forward 	Vector Forward() 	Returns the Forward Vector of the angles.
Left 	Vector Left() 	
Pitch 	float Pitch() 	Returns the pitch angle in degrees.
Roll 	float Roll() 	Returns the roll angle in degrees.
ToKVString 	string ToKVString() 	Returns a string with the values separated by one space.
ToQuat 	Quaternion ToQuat() 	Returns a quaternion representaion of the orientation.
Up 	Vector Up() 	Returns the Up Vector of the angles.
Yaw 	float Yaw() 	Returns the yaw angle in degrees.
==== Members ====
Instance	Type 	Description
x 	float	Pitch in degrees.
y 	float	Yaw in degrees.
z 	float	Roll in degrees.
==== Operations ====
Operation 	Return Type	Description
QAngle + QAngle	QAngle 	Sum of both classes's members (XYZ).
Vector + QAngle	QAngle 	Sum of both classes's members (XYZ).
QAngle - QAngle	QAngle 	Subtraction of both classes's members (XYZ).
Vector - QAngle	QAngle 	Subtraction of both classes's members (XYZ).
QAngle * int 	QAngle 	QAngle multiplied by a number.
QAngle * float 	QAngle 	QAngle multiplied by a number.
=== Vector2D, Vector4D ===
Two and four-dimensional equivalents to Vector.
==== Methods ====
Function 	Signature 	Description
constructor	VectorXD(float x, float y, ...)	Creates a new vector with the specified Cartesian coordiantes.
Dot 	float Dot(VectorXD factor) 	The scalar product of two vectors.
Length 	float Length() 	Magnitude of the vector.
LengthSqr 	float LengthSqr() 	The magnitude of the vector squared. Faster than the above method.
Norm 	float Norm() 	Seems to also return the vector length.
ToKVString 	string ToKVString() 	Returns a string without separations commas.
=== Quaternion ===
Quaternion represents rotations in three-dimensional space.
==== Methods ====
Function 	Signature 	Description
constructor 	Quaternion() 	Creates a new identity quaternion.
constructor 	Quaternion(float x,float y,float z,float w) 	Creates a new quaternion of the form w + xi + yj + zk.
Dot 	float Dot(Quaternion factor) 	The 4D scalar product of two quaternions. represents the angle between the quaternions in the range [1, 0].
Invert 	Quaternion Invert() 	Returns a quaternion with the complimentary rotation.
Norm 	float Norm() 	Normalizes the quaternion.
SetPitchYawRoll	void SetPitchYawRoll(float pitch, float yaw, float roll)	Recomputes the quaternion from the supplied Euler angles.
ToKVString 	string ToKVString() 	Returns a string with the values separated by one space.
ToQAngle 	QAngle ToQAngle() 	Returns the angles resulting from the rotation.
==== Members ====
Instance	Type 	Description
x 	float	Vector component along the i axis.
y 	float	Vector component along the j axis.
z 	float	Vector component along the k axis.
w 	float	Scalar part.
==== Operations ====
Operation 	Return Type	Description
Quaternion + Quaternion	Quaternion 	Sum of the two Quaternions.
Quaternion - Quaternion	Quaternion 	Subtraction of the two Quaternions.
Quaternion * integer 	Quaternion 	Quaternion multiplied by a number.
Quaternion * float 	Quaternion 	Quaternion multiplied by a number.
== Globals ==
Function 	Signature 	Description
AddThinkToEnt 	void AddThinkToEnt(handle entity, string FuncName) 	Sets a function in the entity's script to rerun by itself constantly. Pass null as the function name to remove a think function.
The default think interval is 0.1s, unless overridden by returning a different time interval in seconds in the think function. TF2 runs at 66 ticks per second, so the lowest possible interval is 0.015 seconds. 
Return -1 to think every tick (do not return 0 or 0.015, this will give inconsistent intervals). 
The highest interval where all clients will interpolate entities. regardless of network settings, is 0.05 (20 times per second).
AddToScriptHelp 	AddToScriptHelp() 	
AllowThirdPersonCamera 	bool AllowThirdPersonCamera() 	
ArePlayersInHell 	bool ArePlayersInHell() 	
Assert 	void Assert(bool value, string optional message) 	Test value and if not true, throws exception, optionally with message.
ClearGameEventCallbacks 	void ClearGameEventCallbacks() 	Empties the tables of game event callback functions.
CreateProp 	handle CreateProp(string classname, Vector origin, string model_name, int activity) 	Create a prop
CreateSceneEntity 	handle CreateSceneEntity(string scene) 	Create a scene entity to play the specified scene.
developer 	int developer() 	The current level of the developer console variable.
DispatchParticleEffect 	void DispatchParticleEffect(string name, Vector origin, Vector direction) 	Dispatches a one-off particle system. To pass angles into this, use the .Forward() method on a QAngle.
Document 	void Document(unknown symbolOrTable, unknown itemIfSymbol = null, string descriptionIfSymbol = null) 	
DoEntFire 	void DoEntFire(string target, string action, string value, float delay, handle activator, handle caller) 	Generate an entity I/O event. The caller and activator argument takes a CBaseEntity script handle, and entities assigned can receive inputs with target set to !self, or !activator / !caller. Negative delays are clamped to 0.
DoIncludeScript 	bool DoIncludeScript(string file, handle/table scope) 	Execute a script and put all its content for the argument passed to thescopeparameter. The file must have the .nut extension.
IncludeScript 	bool IncludeScript(string file, handle scope = null) 	Wrapper for DoIncludeScript.
EmitAmbientSoundOn 	void EmitAmbientSoundOn(string soundName, float volume, int soundlevel, int pitch, handle entity) 	Play named sound on an entity using configurations similar to ambient_generic. Soundlevel is in decibels, see this page for real world equivalents.
StopAmbientSoundOn 	void StopAmbientSoundOn(string soundName, handle entity) 	Stop named sound on an entity using configurations similar to ambient_generic.
EmitSoundEx 	void EmitSoundEx(handle table) 	Play a sound. Takes in a script table of params: sound_name, channel, volume, sound_level, flags, pitch, special_dsp, origin, delay, sound_time, entity, speaker_entity, filter_type, filter_param. All parameters are optional except sound_name. See the main page for more details.
EmitSoundOn 	void EmitSoundOn(string soundScript, handle entity) 	Play named sound on given entity. The sound must be precached first for it to play (using PrecacheSound or PrecacheScriptSound).
StopSoundOn 	void StopSoundOn(string soundScript, handle entity) 	Stop named sound on an entity.
EmitSoundOnClient 	void EmitSoundOnClient(string soundScript, handle player) 	Play named sound only on the client for the specified player. The sound must be precached first for it to play (PrecacheScriptSound).
EntFire 	void EntFire(string target, string action, string value = null, float delay = 0, handle activator = null) 	Wrapper for DoEntFire() that setsactivator to null, but has nocallerparam. Negative delays are clamped to 0.
EntFireByHandle 	void EntFireByHandle(handle entity, string action, string value, float delay, handle activator, handle caller) 	Generate an entity I/O event. First parameter is an entity instance. Negative delays are clamped to 0.
EntIndexToHScript 	handle EntIndexToHScript(int entIndex) 	Turn an entity index integer to an HScript representing that entity's script instance.
FileToString 	string FileToString(string file) 	Reads a string from file located in the game's scriptdata folder. Returns the string from the file, null if no file or file is greater than 16384 bytes.
FindCircularReference 	FindCircularReference() 	
FindCircularReferences 	FindCircularReferences() 	
FireGameEvent 	bool FireGameEvent(string name, handle table) 	Fire a game event to a listening callback function in script. Parameters are passed in a squirrel table.
FireScriptHook 	bool FireScriptHook(string name, handle table) 	Fire a script hook to a listening callback function in script. Parameters are passed in a squirrel table.
FireScriptEvent 	void FireScriptEvent(string event, table params) 	Wrapper for __RunEventCallbacks()
ForceEnableUpgrades 	void ForceEnableUpgrades(int state) 	Whether to force on MvM-styled upgrades on/off. 0 -> default, 1 -> force off, 2 -> force on
ForceEscortPushLogic 	void ForceEscortPushLogic(int state) 	Forces payload pushing logic. 0 -> default, 1 -> force off, 2 -> force on
FlagsMayBeCapped 	bool FlagsMayBeCapped() 	May a flag be captured?
FrameTime 	float FrameTime() 	Get the time spent on the server in the last frame. Usually this will be 0.015 (the default tickrate)
GameModeUsesCurrency 	bool GameModeUsesCurrency() 	Does the current gamemode have currency?
GameModeUsesMiniBosses 	bool GameModeUsesMiniBosses() 	Does the current gamemode have minibosses?
GameModeUsesUpgrades 	bool GameModeUsesUpgrades() 	Does the current gamemode have upgrades?
GetClassLimit 	int GetClassLimit(int class) 	Get class limit for class. See Constants.ETFClass.
GetDeveloperLevel 	int GetDeveloperLevel() 	Gets the level of 'developer'
GetFrameCount 	int GetFrameCount() 	Returns the engines current frame count. The counter does not reset between map changes. This is NOT the tick count.
GetFriction 	float GetFriction(handle player) 	Returns the Friction on a player entity, meaningless if not a player
GetFunctionSignature 	string GetFunctionSignature(function func, string prefix) 	
GetGravityMultiplier 	float GetGravityMultiplier() 	
GetListenServerHost 	handle GetListenServerHost() 	Get the local player on a listen server. Returns null on dedicated servers.
GetMannVsMachineAlarmStatus 	bool GetMannVsMachineAlarmStatus() 	
GetMapName 	string GetMapName() 	Get the name of the map without extension, e.g. ctf_2fort. For workshop maps, this will be in the format workshop/[name].ugc[id].
GetModelIndex 	int GetModelIndex(string filename) 	Returns the index of the named model.
GetOvertimeAllowedForCTF 	bool GetOvertimeAllowedForCTF() 	
GetPhysAngularVelocity 	Vector GetPhysAngularVelocity(handle entity) 	Returns the Angular velocity of the entity. Deprecated, use the GetPhysAngularVelocity method on the entity instead.
GetPhysVelocity 	Vector GetPhysVelocity(handle entity) 	Returns the velocity of the entity. Deprecated, use the GetPhysVelocity method on the entity instead.
GetPlayerFromUserID 	handle GetPlayerFromUserID(int userid) 	Given a user id, return the entity, or null.
GetRoundState 	int GetRoundState() 	Get current round state. See Constants.ERoundState.
GetSoundDuration 	float GetSoundDuration(string soundname, string actormodelname) 	Returns float duration of the sound. Actor model name is optional and can be left null.
GetStopWatchState 	int GetStopWatchState() 	Get the current stopwatch state. See Constants.EStopwatchState.
GetWinningTeam 	int GetWinningTeam() 	Who won!
HaveStopWatchWinner 	bool HaveStopWatchWinner() 	
InMatchStartCountdown 	bool InMatchStartCountdown() 	Are we in the pre-match/setup state?
InOvertime 	bool InOvertime() 	Currently in overtime?
IsAttackDefenseMode 	bool IsAttackDefenseMode() 	
IsBirthday 	bool IsBirthday() 	Are we in birthday mode?
IsCompetitiveMode 	bool IsCompetitiveMode() 	Playing competitive?
IsDedicatedServer 	bool IsDedicatedServer() 	Returns true if this server is a dedicated server.
IsDefaultGameMode 	bool IsDefaultGameMode() 	The absence of arena, mvm, tournament mode, etc
IsHolidayActive 	bool IsHolidayActive(int holiday) 	Is the given holiday active? See Constants.EHoliday.
IsHolidayMap 	bool IsHolidayMap(int holiday) 	Playing a holiday map? See Constants.EHoliday.
IsInArenaMode 	bool IsInArenaMode() 	Playing arena mode?
IsInKothMode 	bool IsInKothMode() 	Playing king of the hill mode?
IsInMedievalMode 	bool IsInMedievalMode() 	Playing medieval mode?
IsInWaitingForPlayers 	bool IsInWaitingForPlayers() 	Are we waiting for some stragglers?
IsMannVsMachineMode 	bool IsMannVsMachineMode() 	Playing MvM? Beep boop
IsMannVsMachineRespecEnabled 	bool IsMannVsMachineRespecEnabled() 	Are players allowed to refund their upgrades?
IsMatchTypeCasual 	bool IsMatchTypeCasual() 	Playing casual?
IsMatchTypeCompetitive 	bool IsMatchTypeCompetitive() 	Playing competitive?
IsModelPrecached 	bool IsModelPrecached(string modelname) 	Checks if the modelname is precached.
IsSoundPrecached 	bool IsSoundPrecached(string soundname) 	Checks if the soundname is precached.
IsPasstimeMode 	bool IsPasstimeMode() 	No ball games.
IsPlayerABot 	bool IsPlayerABot(handle player) 	Is this player/entity a puppet or AI bot. To check if the player is a AI bot (CTFBot) specifically, use IsBotOfType instead.
IsPowerupMode 	bool IsPowerupMode() 	Playing powerup mode? Not compatible with MvM
IsPVEModeActive 	bool IsPVEModeActive() 	
IsQuickBuildTime 	bool IsQuickBuildTime() 	If an engie places a building, will it immediately upgrade? Eg. MvM pre-round etc.
IsTruceActive 	bool IsTruceActive() 	
IsUsingGrapplingHook 	bool IsUsingGrapplingHook() 	
IsUsingSpells 	bool IsUsingSpells() 	
IsWeakref 	bool IsWeakref() 	
LocalTime 	void LocalTime(table out) 	Fills out a table with the local time (second, minute, hour, day, month, year, dayofweek, dayofyear, daylightsavings). This mirrors the tm structure in C++, see the reference page for more information.
MakeNamespace 	MakeNamespace() 	
MapHasMatchSummaryStage 	bool MapHasMatchSummaryStage() 	
MatchmakingShouldUseStopwatchMode 	bool MatchmakingShouldUseStopwatchMode() 	
MaxClients 	float MaxClients() 	Get the current number of max clients set by the maxplayers command.
PickupObject 	void PickupObject(handle player, handle entity) 	Object from world is put into the "Held" slot of the player. Warning: it will smoothly interpolate from where it is to the players hand - which is a bit goofy if it is on other side of level.
PlayerInstanceFromIndex 	CBasePlayer PlayerInstanceFromIndex(int index) 	Get a script handle of a player using the player index.
PlayerReadyStatus_ArePlayersOnTeamReady 	bool PlayerReadyStatus_ArePlayersOnTeamReady(int team) 	
PlayerReadyStatus_HaveMinPlayersToEnable	bool PlayerReadyStatus_HaveMinPlayersToEnable() 	
PlayerReadyStatus_ResetState 	void PlayerReadyStatus_ResetState() 	
PlayersAreOnMatchSummaryStage 	bool PlayersAreOnMatchSummaryStage() 	
PointsMayBeCaptured 	bool PointsMayBeCaptured() 	Are points able to be captured?
PrecacheEntityFromTable 	bool PrecacheEntityFromTable(table keyvalues) 	Precache an entity from KeyValues in a table. Internally this function creates the entity, fire DispatchSpawn and removes it instantly. Returns false if the table has no classname key, if the value of classname is null or empty, or if the entity failed to be created.
PrecacheModel 	int PrecacheModel(string filename) 	Precache a model (.mdl) or sprite (.vmt) and return model index. The extension must be specified. Returns -1 if null or empty filename is passed in. Missing models/sprites will still return a new index.
PrecacheScriptSound 	bool PrecacheScriptSound(string soundName) 	Precache a soundscript. Returns false if soundscript is missing, or if a null or empty sound name is passed in.
PrecacheSound 	bool PrecacheSound(string soundName) 	Precache a raw sound. Returns false if a null or empty sound name is passed in.
PrintHelp 	void PrintHelp() 	Equivalent to running script_help command.
RandomFloat 	float RandomFloat(float min, float max) 	Generate a random floating-point number within a range, inclusive.
RandomInt 	int RandomInt(int min, int max) 	Generate a random integer within a range, inclusive.
RegisterFunctionDocumentation 	void RegisterFunctionDocumentation(unknown func, string name, string signature, string description) 	
RegisterScriptGameEventListener 	void RegisterScriptGameEventListener(string eventName) 	Register as a listener for a game event from script. It's what __CollectGameEventCallbacks() uses to register event callbacks to the C++ code.
RegisterScriptHookListener 	void RegisterScriptHookListener(string name) 	Register as a listener for a script hook from script.
RetrieveNativeSignature 	string RetrieveNativeSignature(function func) 	
RotateOrientation 	QAngle RotateOrientation(QAngle, QAngle) 	Rotate a QAngle by another QAngle.
RotatePosition 	Vector RotatePosition(Vector origin, QAngle rotation, Vector input) 	Rotate the input Vector around an origin.
ScreenFade 	void ScreenFade(handle player, int red, int green, int blue, int alpha, float fadeTime, float fadeHold, int flags) 	Start a customisable screenfade. If no player is specified, the fade will apply to all players. For a list of flags, see FFADE constants.
ScreenShake 	void ScreenShake(Vector vecCenter, float flAmplitude, float flFrequency, float flDuration, float flRadius, int eCommand, bool bAirShake)	Start a customisable screenshake. Set eCommand to 0 to start a shake, or 1 to stop an existing shake.
ScriptHooksEnabled 	bool ScriptHooksEnabled() 	Returns whether script hooks are currently enabled.
SendGlobalGameEvent 	bool SendGlobalGameEvent(string event_name, handle params) 	Sends a real game event to everything. Parameters are passed in a squirrel table.
SendToConsole 	void SendToConsole(string command) 	Issues a command to the local client, as if they typed in the command in their console. Does nothing on dedicated servers.
SendToServerConsole 	void SendToServerConsole(string command) 	Issues a command to the server, as if typed in the console.
SendToConsoleServer 	void SendToConsoleServer(string command) 	Copy of SendToServerConsole with another name for compat.
SetFakeClientConVarValue 	void SetFakeClientConVarValue(handle bot, string cvar, string value) 	Sets a USERINFO client ConVar for a fakeclient.
SetGravityMultiplier 	void SetGravityMultiplier(float multiplier) 	
SetMannVsMachineAlarmStatus 	void SetMannVsMachineAlarmStatus(bool status) 	
SetOvertimeAllowedForCTF 	void SetOvertimeAllowedForCTF(bool state) 	
SetPlayersInHell 	void SetPlayersInHell(bool state) 	
SetSkyboxTexture 	void SetSkyboxTexture(string texture) 	Sets the current skybox texture. The path is relative to "materials/skybox/". Only the main name of a skybox texture is needed, for example "sky_gravel_01".
SetUsingSpells 	void SetUsingSpells(bool state) 	
SpawnEntityFromTable 	handle SpawnEntityFromTable(string name, handle keyvalues) 	Spawn entity from KeyValues in table - 'name' is entity name, rest are KeyValues for spawn.
Example:
SpawnEntityGroupFromTable 	bool SpawnEntityGroupFromTable(handle groups) 	Hierarchically spawn an entity group from a set of spawn tables. This computes a spawn order for entities so that parenting is resolved correctly.
The table for this must take the following format. group can be any name, as long as it's unique. Each group can only contain one entity. (The table is formatted like this as otherwise it wouldn't be possible to spawn multiple entities of the same classname). The function always returns true, even if entity spawning fails.
{
	<group> =
	{
		<classname> =
		{
			// key - values
		}
	},
	// ...
}
Example usage:
StringToFile 	void StringToFile(string file, string string) 	Stores a string as a file, located in the game's scriptdata folder.
Time 	float Time() 	Get the current time since map load in seconds. The time resets on map change.
The time may be different compared to the global time if running in the context of a player, such as a player think function or damage callback caused by a player. This adjustment is for lag compensation and may be up to 1 second (sv_maxunlag). Therefore use GetFrameCount if you need to compare if events happened in the same tick.
TraceLine 	float TraceLine(Vector start, Vector end, handle ignore) 	Trace a ray. Return fraction along line that hits world or models. Optionally, ignore the specified entity.
TraceLineEx 	bool TraceLineEx(table traceTable) 	Extended version of TraceLine. See the main page for more details.
TraceLinePlayersIncluded 	float TraceLinePlayersIncluded(Vector, Vector, handle) 	Different version of TraceLine that also hits players and NPCs.
TraceHull 	bool TraceHull(table traceTable) 	Trace a box (AABB). See the main page for more details.
UniqueString 	string UniqueString(string suffix = "") 	Generate a string guaranteed to be unique across the life of the script VM, with an optional suffix. Useful for adding data to tables when not sure what keys are already in use in that table.
The format of the string is _%x%llx_%s, with arguments as follows: random number between 0 and 4095, an incrementing 64-bit counter, and suffix.
DoUniqueString 	string DoUniqueString(string suffix) 	Internal function called by UniqueString
UsePlayerReadyStatusMode 	bool UsePlayerReadyStatusMode() 	
VSquirrel_OnCreateScope 	table VSquirrel_OnCreateScope(any value, table scope) 	Creates a new scope with the name of value in the submitted table (includes unique params).
VSquirrel_OnReleaseScope 	void VSquirrel_OnReleaseScope(table createdScope) 	Removes a scope created via VSquirrel_OnCreateScope.
__CollectEventCallbacks 	void __CollectEventCallbacks(scope, prefix, globalTableName, regFunc) 	Overloaded function. Its only used for this: __CollectEventCallbacks(scope, "OnGameEvent_", "GameEventCallbacks", ::RegisterScriptGameEventListener)
__CollectGameEventCallbacks 	void __CollectGameEventCallbacks(table scope) 	Wrapper that registers callbacks for both OnGameEvent_x ↑ and OnScriptEvent_ functions. Done using the __CollectEventCallbacks function.
__ReplaceClosures 	void __ReplaceClosures(script, scope) 	
__RunEventCallbacks 	void __RunEventCallbacks(event, params, prefix, globalTableName, bWarnIfMissing) 	Call all functions in the callback array for the given game event
__RunGameEventCallbacks 	void __RunGameEventCallbacks(event, params) 	Wrapper for __RunEventCallbacks()
__RunScriptHookCallbacks 	void __RunScriptHookCallbacks(event, param) 	
=== Printing and Drawing ===
Functions for printing out messages or drawing elements in the world, mostly for debugging reasons.
Function 	Signature 	Description
ClientPrint 	void ClientPrint(CBasePlayer player, EHudNotify destination, string message) 	Print a client message. If you pass null instead of a valid player, the message will be sent to all clients.
When printing to chat (HUD_PRINTTALK), the color of the text can be changed with certain hex codes:
* \x01 - Default chat color
* \x03 - Lime
* \x04 - Green
* \x05 - Olive
* \x06 - Black
* \x07 - custom color in hexadecimal RRGGBB format. Example: \x07FF3F3F
* \x08 - custom color in hexadecimal RRGGBBAA format (i.e. with transparency). Example: \x08FF3F3FCC
Chat messages can contain multiple of these codes. If using color sequences, there MUST be a color sequence at the beginning of the string, or color codes won't work!.
DebugDrawBox 	void DebugDrawBox(Vector origin, vector min, vector max, int r, int g, int b, int alpha, float duration) 	Draw a debug overlay box.
DebugDrawBoxAngles 	void DebugDrawBoxAngles(Vector origin, Vector min, Vector max, QAngle direction, Vector rgb, int alpha, float duration) 	Draw a debug oriented box (cent, min, max, angles(p,y,r), vRgb, a, duration).
DebugDrawBoxDirection 	void DebugDrawBoxDirection(Vector center, Vector min, Vector max, Vector forward, Vector rgb, float alpha, float duration)	Draw a debug forward box.
DebugDrawCircle 	void DebugDrawCircle(Vector center, Vector rgb, float alpha, float radius, bool ztest, float duration) 	Draw a debug circle.
DebugDrawClear 	void DebugDrawClear() 	Try to clear all the debug overlay info.
DebugDrawLine 	void DebugDrawLine(Vector start, Vector end, int red, int green, int blue', bool zTest, float time) 	Draw a debug overlay line.
DebugDrawLine_vCol 	void DebugDrawLine_vCol(Vector start, vector end, vector rgb, bool ztest, float duration) 	Draw a debug line using color vec.
DebugDrawScreenTextLine	void DebugDrawScreenTextLine(float x, float y, int lineOffset, string text, int r, int g, int b, int a, float duration) 	Draw text with a line offset.
DebugDrawText 	void DebugDrawText(Vector origin, string text, bool useViewCheck, float duration) 	Draw text on the screen, starting on the position of origin.
__DumpScope 	void __DumpScope(int indentation, table scope) 	Dumps a scope's contents and expands all tables and arrays; this is what the ent_script_dump command uses.
DumpObject 	void DumpObject(handle object) 	Dumps information about a class or instance.
Msg 	void Msg(string message) 	Prints message to console without any line feed after.
printf 	void printf(string format, args...) 	Prints message to console with C style formatting. The line feed is not included.
printl 	void printl(string message) 	Prints message to console with a line feed after.
realPrint 	void realPrint(string message) 	Identical to print. print seems to be a wrapper for this.
Say 	void Say(CBasePlayer player, string message, bool teamOnly) 	Calling this will have the specified player send the message to chat, either to teamOnly (true) or to everyone.
ShowMessage 	void ShowMessage(string message) 	Displays a HUD message defined in scripts/titles.txt to all clients, similar to an env_message entity.
=== Squirrel Standard Library ===
 Functions of both Squirrel's built-in functions and standard library.
Function 	Signature 	Description
array 	array(int length, any fill = null) 	Returns a new array of the given length where each element is set to fill (null by default).
assert 	assert(bool exp) 	Throws an assertion error if the given expression evaluates to false (i.e. the values 0, 0.0, null and false)
callee 	function callee() 	Returns the currently running closure.
castf2i 	int castf2i(float value) 	Interprets the float's bytes as if it were a 32-bit integer representation
casti2f 	float casti2f(int value) 	Interprets the integer's bytes as if it were a floating-point encoding
collectgarbage 	int collectgarbage() 	Runs the garbage collector and returns the number of reference cycles found(and deleted) This function only works on garbage collector builds.
compilestring 	any compilestring(string string, string buffername = null)	Compiles a string containing a squirrel script into a function and returns it.
dummy 	dummy() 	
enabledebuginfo 	void enabledebuginfo(any enable) 	Enable/disable the debug line information generation at compile time. enable != null enables . enable == null disables.
error 	void error(string x) 	Prints x in the standard error output .
getconsttable 	table getconsttable() 	Returns the const table of the VM.
getroottable 	table getroottable() 	Returns the root table of the VM.
getstackinfos 	table getstackinfos(int stacklevel) 	Returns the stack frame informations at the given stack level (0 is the current function 1 is the caller and so on). If the stack level doesn't exist the function returns null.
newthread 	coroutine newthread(function threadfunc) 	Creates a new cooperative thread object(coroutine) and returns it .
print 	print(string message) 	Prints the given parameter but with no newline unlike printl()
resurrectunreachable	array resurrectunreachable() 	Runs the garbage collector and returns an array containing all unreachable object found. If no unreachable object is found, null is returned instead. This function is meant to help debugging reference cycles. This function only works on garbage collector builds.
setconsttable 	table setconsttable(table consttable) 	Sets the const table of the VM which also returns the previous const table.
setdebughook 	void setdebughook(function hook_func) 	Sets the debug hook.
seterrorhandler 	void seterrorhandler(function func) 	Sets the runtime error handler .
setroottable 	table setroottable(table roottable) 	Sets the root table of the VM which also returns the previous root table.
suspend 	void suspend(any ret) 	Suspends the coroutine that called this function.
swap2 	int swap2(int value) 	Swaps bytes 1 and 2 of the integer
swap4 	int swap4(int value) 	Reverse byte order of the four bytes
swapfloat 	float swapfloat(float value) 	Reverse byte order of the four bytes
type 	type(var) 	Returns var._typeof(), i.e. the type of the given parameter as a string
==== Blob ====
A blob stores a block of binary data. See official documentation for more information.
Function 	Signature 	Description
blob 	blob(int initSize = 0) 	
eos 	int eos() 	
flush 	flush() 	
len 	int len() 	
readblob 	blob readblob(int numberOfBytes) 	
readn 	any readn(char dataType) 	
resize 	void resize(int newSize) 	
seek 	int seek(int offset, int offsetBasis)	
swap2 	void swap2() 	
swap4 	void swap4() 	
tell 	int tell() 	
writeblob	void writeblob(blob blob) 	
writen 	void writen(num value, char dataType)	
==== Math ====
Function	Signature 	Description
abs 	abs(num x) 	x| as integer unlike fabs()
acos 	acos(num x) 	Returns cos-1(x), -1 ≤ x ≤ 1
asin 	asin(num x) 	Returns sin-1(x), -1 ≤ x ≤ 1
atan 	atan(num x) 	Returns tan-1(x)
atan2 	atan2(num y, num x) (!)	Returns the angle between the ray from the point (0, 0) through (x, y) and the positive x-axis, confined to (−PI, PI], See also atan2. Note the order of the parameters x and y!]
ceil 	ceil(num x) 	Returns the smallest integer that is ≥ x
cos 	cos(num x) 	Returns cos(x)
exp 	exp(num x) 	Returns exp(x) = ex
fabs 	fabs(num x) 	x| as float unlike abs()
floor 	floor(num x) 	Returns the largest integer that is ≤ x
log 	log(num x) 	Returns loge(x) = ln(x)
log10 	log10(num x) 	Returns log10(x)
pow 	pow(num x, num y) 	Returns xy
rand 	rand() 	Returns a random integer with 0 ≤ rand() ≤ RAND_MAX
sin 	sin(num x) 	Returns sin(x)
sqrt 	sqrt(num x) 	Returns the square root of x
srand 	srand(num seed) 	Sets the starting point for generating a series of pseudorandom integers
tan 	tan(num x) 	Returns tan(x)
==== Strings ====
The following belong as member methods of the string object, in other words they must be called with the dot operator on a string, e.g. str.slice(0, 5).
Function 	Signature 	Description
find 	int find(string searchString, int startIndex = null)	Looks for the sub-string passed as its first parameter, starting at either the beginning of the string or at a specific character index if one is provided as a second parameter. If the sub-string is found, returns the index at which it first occurs, otherwise returns null.
len 	int len() 	Returns the length of the string, ie. the number of characters it comprises.
slice 	string slice(int startIndex, int endIndex = null) 	Creates a sub-string from a string. Copies characters from startIndex to endIndex. If endIndex is not specified, copies until the last character. If the provided end index is beyond the string, an exception is thrown.
tofloat 	float tofloat() 	Returns float value represented by the string. Must only contain numeric characters and/or plus and minus symbols. An exception is thrown otherwise.
tointeger	int tointeger() 	Returns integer value represented by the string. Must only contain numeric characters. An exception is thrown otherwise. Hexadecimal notation is supported (i.e. 0xFF). If a hexadecimal string contains more than 10 characters, including the 0x, returns -1.
tolower 	string tolower() 	Returns a new string with all upper-case characters converted to lower-case.
toupper 	string toupper() 	Returns a new string with all lower-case characters converted to upper-case.
The following belong as global string functions, e.g. str = format("%d", num).
Function 	Signature 	Description
endswith 	bool endswith(string str, string cmp) 	Returns true if the end of the string matches the comparison string.
escape 	string escape(string str) 	Returns a string with backslashes before characters that need to be escaped: “ a b t n v f r \ ” ’ 0 xNN
format 	string format(string format, args...) 	Returns a formatted string. Same rules as the standard C functions (except * is not supported).
lstrip 	string lstrip(string str) 	Removes whitespace at the beginning of the given string
rstrip 	string rstrip(string str) 	Removes whitespace at the end of the given string
split 	array split(string str, string separator, bool skipempty = false)	Returns an array of strings split at each point where a separator character occurs in str. The separator is not returned as part of any array element. the parameter separators is a string that specifies the characters as to be used for the splitting. If skipempty is true, empty strings are not added to array.
startswith	bool startswith(string str, string cmp) 	Returns true if the beginning of the string matches the comparison string.
strip 	string strip(string str) 	Removes whitespace at the beginning and end of the given string
=== Script Debug ===
Functions for interacting with the debugger. Some of them are documented here.
Function 	Signature 	Description
BeginScriptDebug 	void BeginScriptDebug() 	
EndScriptDebug 	void EndScriptDebug() 	
ScriptDebugAddTextFilter 	void ScriptDebugAddTextFilter() 	
ScriptDebugAddTrace 	void ScriptDebugAddTrace() 	
ScriptDebugAddWatch 	void ScriptDebugAddWatch() 	
ScriptDebugAddWatches 	void ScriptDebugAddWatches() 	
ScriptDebugAddWatchPattern 	void ScriptDebugAddWatchPattern() 	
ScriptDebugClearTraces 	void ScriptDebugClearTraces() 	
ScriptDebugClearWatches 	void ScriptDebugClearWatches() 	
ScriptDebugDefaultWatchColor 	void ScriptDebugDefaultWatchColor() 	
ScriptDebugDraw 	void ScriptDebugDraw() 	
ScriptDebugDrawWatches 	void ScriptDebugDrawWatches() 	
ScriptDebugDumpKeys 	void ScriptDebugDumpKeys() 	
ScriptDebugHook 	void ScriptDebugHook() 	
ScriptDebugIterateKeys 	void ScriptDebugIterateKeys() 	
ScriptDebugIterateKeysRecursive	void ScriptDebugIterateKeysRecursive()	
ScriptDebugRemoveTextFilter 	void ScriptDebugRemoveTextFilter() 	
ScriptDebugRemoveTrace 	void ScriptDebugRemoveTrace() 	
ScriptDebugRemoveWatch 	void ScriptDebugRemoveWatch() 	
ScriptDebugRemoveWatches 	void ScriptDebugRemoveWatches() 	
ScriptDebugRemoveWatchPattern 	void ScriptDebugRemoveWatchPattern() 	
ScriptDebugText 	void ScriptDebugText() 	
ScriptDebugTextDraw 	void ScriptDebugTextDraw() 	
ScriptDebugTextPrint 	void ScriptDebugTextPrint() 	
ScriptDebugTextTrace 	void ScriptDebugTextTrace() 	
ScriptDebugTraceAll 	void ScriptDebugTraceAll() 	
ScriptDebugWatches 	void ScriptDebugWatches() 	
__VScriptServerDebugHook 	__VScriptServerDebugHook() 	
== See also ==
* VScript
* VScript Fundamentals
* Squirrel
* VScript Examples
* List of CS:GO Script Functions
* List of L4D2 Script Functions
* List of Portal 2 Script Functions
* List of AS:RD Script Functions
* List of Script Libraries
Category:Team Fortress 2
Category:Scripting