SteamVR/Environments/Scripting/API

This is the VScript API for SteamVR Home.
 
===Accessing the Scripting API from Lua===
While Lua is dynamically typed, the Source 2 engine is written primarily in C++, which is statically typed. Thus, you'll need to be conscious of your data types when calling the API. (If you try to pass the wrong type to an API function, you'll get an error message in Vconsole telling you what you passed and what it was expecting.)
__TOC__
== Global ==
Global functions. These can be called without any class.
=== Math ===
Function 	Signature 	Description
AngleDiff 	float AngleDiff(float ang1, float ang2) 	Returns the number of degrees difference between two yaw angles
AxisAngleToQuaternion 	Quaternion AxisAngleToQuaternion(Vector Vector_1, float float_2) 	(vector,float) constructs a quaternion representing a rotation by angle around the specified vector axis.
CalcClosestPointOnEntityOBB 	Vector CalcClosestPointOnEntityOBB(handle entity, Vector position) 	Compute the closest point relative to a vector on the OBB of an entity.
CalcDistanceBetweenEntityOBB 	float CalcDistanceBetweenEntityOBB(handle entity1, handle entity2) 	Compute the distance between two entity OBB. A negative return value indicates an input error. A return value of zero indicates that the OBBs are overlapping.
CrossVectors 	Vector CrossVectors(Vector v1, Vector v2) 	Calculate the cross product between two vectors (also available as a Vector class method).
CalcDistanceToLineSegment2D 	float CalcDistanceToLineSegment2D(Vector unknown1, Vector unknown2, Vector unknown3) 	
ExponentialDecay 	float ExponentialDecay(float inValue, float startValue, float lambda) 	Smooth curve decreasing slower as it approaches zero.
LerpVectors 	Vector LerpVectors(Vector v1, Vector v2, float t) 	Linear interpolation of vector values over [0,1].
RandomFloat 	float RandomFloat(float min, float max) 	Get a random float within a range.
RandomInt 	int RandomInt(int min, int max) 	Get a random int within a range.
RotateOrientation 	QAngle RotateOrientation(QAngle angle1, QAngle angle2) 	Rotate a QAngle by another QAngle.
RotatePosition 	Vector RotatePosition(Vector rotationOrigin, QAngle rotationAngle, Vector vectorToRotate) 	Rotate a Vector around a point.
RotateQuaternionByAxisAngle 	Quaternion RotateQuaternionByAxisAngle(Quaternion Quaternion_1, Vector Vector_2, float float_3)	Rotates a quaternion by the specified angle around the specified vector axis.
RotationDelta 	QAngle RotationDelta(Qangle angle1, Qangle angle2,) 	Find the delta between two QAngles.
RotationDeltaAsAngularVelocity	Vector RotationDeltaAsAngularVelocity(Qangle angle1, Qangle angle2,) 	converts delta QAngle to an angular velocity Vector.
SplineQuaternions 	Quaternion SplineQuaternions(Quaternion q0, Quaternion q1, float 't') 	Very basic interpolation of quaternions q0 to q1 over time 't' on [0,1].
SplineVectors 	Vector SplineVectors(Vector v0, Vector v1, float t) 	Very basic interpolation of vectors v0 to v1 over time t on [0,1].
VectorToAngles 	QAngle VectorToAngles(Vector input) 	Get Qangles (with no roll) for a Vector.
==== utilsinit.lua ====
Functions automatically included from the utilsinit.lua core library.
Function 	Signature 	Description
abs 	float abs(float val) 	Absolute value.
Clamp 	float Clamp(float val, float min, float max) 	Clamp the value between the min and max.
Deg2Rad 	float Deg2Rad(float deg) 	Convert degrees to radians.
Rad2Deg 	float Rad2Deg(float rad) 	Convert radians to degrees.
Lerp 	float Lerp(float t, float a, float b) 	Linear interpolation of float values over [0,1].
max 	float max(float x, float x) 	Returns the largest value of the inputs.
min 	float min(float x, float x) 	Returns the smallest value of the inputs.
Merge 	table Merge(table t1, table t2) 	Merges two tables into a third, overwriting any matching keys.
RemapVal 	float RemapVal(float input, float a, float b, float c, float d) 	Remap a value in the range [a,b] to [c,d].
RemapValClamped 	float RemapValClamped(float input, float a, float b, float c, float d)	Remap a value in the range [a,b] to [c,d], clamping the output to the range.
VectorDistanceSq	float VectorDistanceSq(Vector v1, Vector v2) 	Distance between two vectors squared (faster than calculating the plain distance).
VectorDistance 	float VectorDistance(Vector v1, Vector v2) 	Distance between two vectors.
VectorLerp 	Vector VectorLerp(float t, Vector v1, Vector v2) 	Linear interpolation of vector values over [0,1]. The native function LerpVectors performs the same task.
VectorIsZero 	bool VectorIsZero(Vector vec) 	Check if the vector is a zero vector.
=== Printing & Drawing ===
Function 	Signature 	Description
AppendToLogFile 	void AppendToLogFile(string string_1, string string_2) 	Appends a string to a log file on the server
DebugDrawBox 	void DebugDrawBox(Vector origin, Vector min, Vector max, int r, int g, int b, int a, float duration) 	Draw a debug overlay box
DebugDrawBoxDirection 	void DebugDrawBoxDirection(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Vector Vector_5, float float_6, float float_7) 	Draw a debug forward box (cent, min, max, forward, vRgb, a, duration)
DebugDrawCircle 	void DebugDrawCircle(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) 	Draw a debug circle (center, vRgb, a, rad, ztest, duration)
DebugDrawClear 	void DebugDrawClear() 	Try to clear all the debug overlay info
DebugDrawLine 	void DebugDrawLine(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) 	Draw a debug overlay line (origin, target, r, g, b, ztest, duration)
DebugDrawLine_vCol 	void DebugDrawLine_vCol(Vector Vector_1, Vector Vector_2, Vector Vector_3, bool bool_4, float float_5) 	Draw a debug line using color vec (start, end, vRgb, a, ztest, duration)
DebugDrawScreenTextLine 	void DebugDrawScreenTextLine(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9) 	Draw text with a line offset (x, y, lineOffset, text, r, g, b, a, duration)
DebugDrawSphere 	void DebugDrawSphere(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) 	Draw a debug sphere (center, vRgb, a, rad, ztest, duration)
DebugDrawText 	void DebugDrawText(Vector Vector_1, string string_2, bool bool_3, float float_4) 	Draw text in 3d (origin, text, bViewCheck, duration)
DebugScreenTextPretty 	void DebugScreenTextPretty(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9, string string_10, int int_11, bool bool_12)	Draw pretty debug text (x, y, lineOffset, text, r, g, b, a, duration, font, size, bBold)
Msg 	void Msg(string message) 	Print a message to the console.
PrintLinkedConsoleMessage 	void PrintLinkedConsoleMessage(string string_1, string string_2) 	Print a console message with a linked console command
Say 	void Say(handle entity, string message, bool teamOnly) 	Have Entity say string, and teamOnly or not
ShowMessage 	void ShowMessage(string string_1) 	Print a hud message on all clients
UTIL_MessageText 	void UTIL_MessageText(int playerId, string message, int r, int g, int b, int a) 	Displays a message for a specific player
UTIL_MessageText_WithContext 	void UTIL_MessageText_WithContext(int playerId, string message, int r, int g, int b, int a, table context) 	Sends a message to a specific player in the message box with a context table
UTIL_MessageTextAll 	void UTIL_MessageTextAll(string message, int r, int g, int b, int a) 	Sends a message to everyone in the message box
UTIL_MessageTextAll_WithContext	void UTIL_MessageTextAll_WithContext(string message, int r, int g, int b, int a, table context) 	Sends a message to everyone in the message box with a context table
UTIL_ResetMessageText 	void UTIL_ResetMessageText(int playerId) 	Resets the message text for the player
UTIL_ResetMessageTextAll 	void UTIL_ResetMessageTextAll() 	Resets the message text for all players
Warning 	void Warning(string string_1) 	Print a warning
=== Entity Manipulation ===
Function 	Signature 	Description
CancelEntityIOEvents 	void CancelEntityIOEvents(ehandle ehandle_1) 	Create all I/O events for a particular entity
ConnectOutputs 	void ConnectOutputs(table scope) 	Connects all output script functions of the passed entity script scope to the entity outputs.
CreateDamageInfo 	DamageInfo CreateDamageInfo (handle, hInflictor, handlehAttacker,Vector force, Vector hitPos, float flDamage, int damageTypes) 	Allocate a DamageInfo object, used as an argument to CBaseEntity::TakeDamage(). Call DestroyDamageInfo( hInfo ) to free the object.
CreateEffect 	bool CreateEffect(handle handle_1) 	Pass table - Inputs: entity, effect
CreateSceneEntity 	handle CreateSceneEntity(string sceneName) 	Create a scene entity to play the specified scene.
CreateTrigger 	handle CreateTrigger(Vector Vector_1, Vector Vector_2, Vector Vector_3) 	CreateTrigger( vecMin, vecMax ) : Creates and returns an AABB trigger
CreateTriggerRadiusApproximate 	handle CreateTriggerRadiusApproximate(Vector Vector_1, float float_2) 	CreateTriggerRadiusApproximate( vecOrigin, flRadius ) : Creates and returns an AABB trigger thats bigger than the radius provided
DestroyDamageInfo 	void DestroyDamageInfo(damageinfo) 	Free a damageinfo object that was created with CreateDamageInfo().
DoEntFire 	void DoEntFire(string target, string action, string value, float delay, handle activator, handle caller) 	Internal native function for EntFire().
DoEntFireByInstanceHandle 	void DoEntFireByInstanceHandle(handle target, string action, string value, float delay, handle activator, handle caller) 	Internal native function for EntFireByHandle().
EntFire 	void EntFire(table scope, string target, string action, string value = "", float delay = 0.0, handle activator = scope.thisEntity)	Generate an entity I/O event on all entities matching the specified target name. The script scope of the calling entity should be passed to the first parameter.
EntFireByHandle 	void EntFireByHandle(handle self, handle target, string action, string value = "", float delay = 0.0, handle activator = self) 	Generate an entity I/O event on the specified entity. The calling entity should be passed to the first parameter.
EntIndexToHScript 	handle EntIndexToHScript(int int_1) 	Turn an entity index integer to an HScript representing that entity's script instance.
FireEntityIOInputNameOnly 	void FireEntityIOInputNameOnly(ehandle ehandle_1, string string_2) 	Fire Entity's Action Input w/no data
FireEntityIOInputString 	void FireEntityIOInputString(ehandle ehandle_1, string string_2, string string_3) 	Fire Entity's Action Input with passed String - you own the memory
FireEntityIOInputVec 	void FireEntityIOInputVec(ehandle ehandle_1, string string_2, Vector Vector_3) 	Fire Entity's Action Input with passed Vector ( hEntity, szActionName, vector )
GetHandHoldingEntity 	CPropVRHand GetHandHoldingEntity(handle entity) 	Returns the hand holding the entity, or nil if its not currently held.
GetMaxOutputDelay 	float GetMaxOutputDelay(ehandle ehandle_1, string string_2) 	Get the longest delay for all events attached to an output
GetPhysAngularVelocity 	Vector GetPhysAngularVelocity(CBaseEntity entity) 	Get Angular Velocity for VPHYS or normal object. Returns a vector of the axis of rotation, multiplied by the degrees of rotation per second.
GetPhysVelocity 	Vector GetPhysVelocity(CBaseEntity entity) 	Get Velocity for VPHYS or normal object.
GetPlayerFromUserID 	CBasePlayer GetPlayerFromUserID(int userID) 	Given a user ID, return the script handle for the entity, or nil.
IsValidEntity 	bool IsValidEntity(handle handle_1) 	Checks to see if the given hScript is a valid entity
PlayerInstanceFromIndex 	handle PlayerInstanceFromIndex(int int_1) 	Get a script instance of a player by index.
PrecacheEntityFromTable 	void PrecacheEntityFromTable(string string_1, handle handle_2, handle handle_3) 	Precache an entity from KeyValues in table
PrecacheEntityListFromTable 	void PrecacheEntityListFromTable(handle handle_1, handle handle_2) 	Precache a list of entity KeyValues table's
PrecacheModel 	void PrecacheModel(string modelName, handle context) 	Manually precache a single model.
PrecacheModelFolder 	void PrecacheModelFolder(string folderName, handle context) 	Recursively precache models within a folder.
PrecacheParticle 	void PrecacheParticle(string particleName, handle context) 	Manually precache a single particle.
PrecacheParticleFolder 	void PrecacheParticleFolder( string folderName, handle context) 	Recursively precache particles within a folder
PrecacheResource 	void PrecacheResource(string resourceType, string resourcePath, handle context) 	model_folder|sound|soundfile|particle|particle_folder"
PrecacheSoundFile 	void PrecacheSoundFile(string soundFileName, handle context) 	Manually precache a single sound file
SetPhysAngularVelocity 	void SetPhysAngularVelocity(CBaseEntity entity, Vector angVel) 	Set Angular Velocity for VPHYS or normal object, from a vector of the axis of rotation, multiplied by the degrees of rotation per second.
SetRenderingEnabled 	void SetRenderingEnabled(ehandle entityEhandle, bool enabled) 	Set rendering on/off for an EHANDLE.
SpawnEntityFromTableSynchronous 	handle SpawnEntityFromTableSynchronous(string string_1, handle handle_2) 	Synchronously spawns a single entity from a table
SpawnEntityGroupFromTable 	bool SpawnEntityGroupFromTable(handle groupSpawnTables, bool bAsync, handle hCallback) 	Hierarchically spawn an entity group from a set of spawn tables.
SpawnEntityListFromTableAsynchronous	int SpawnEntityListFromTableAsynchronous(handle handle_1, handle handle_2) 	Asynchronously spawn an entity group from a list of spawn table's. A callback will be triggered when the spawning is complete
SpawnEntityListFromTableSynchronous 	handle SpawnEntityListFromTableSynchronous(handle handle_1) 	Synchronously spawn an entity group from a list of spawn table's.
StopEffect 	void StopEffect(handle handle_1, string string_2) 	(hEntity, szEffectName)
UTIL_Remove 	void UTIL_Remove(handle handle_1) 	Removes the specified entity
UTIL_RemoveImmediate 	void UTIL_RemoveImmediate(handle handle_1) 	Do Not use this function. Use UTIL_Remove() instead. This will crash your game.
=== Tracing ===
Function 	Signature 	Description
TraceCollideable 	bool TraceCollideable(table parameters) 	Does a raytrace against a single entity. Input and output parameters are stored in the specified table.
TraceHull 	bool TraceHull(table parameters) 	Traces a axis aligned bounding box along a line. Input and output parameters are stored in the specified table.
TraceInteractibles	bool TraceInteractibles(table parameters)	
TraceLine 	bool TraceLine(table parameters) 	Does a raytrace along a line. Input and output parameters are stored in the specified table.
=== Sound ===
Function 	Signature 	Description
EmitGlobalSound 	void EmitGlobalSound(string soundName) 	Play named sound for all players.
EmitSoundOn 	void EmitSoundOn(string string_1, handle handle_2) 	Play named sound on Entity
EmitSoundOnClient 	void EmitSoundOnClient(string string_1, handle handle_2) 	Play named sound only on the client for the passed in player
SetOpvarFloatAll 	void SetOpvarFloatAll(string string_1, string string_2, string string_3, float float_4) 	Sets an opvar value for all players
SetOpvarFloatPlayer 	void SetOpvarFloatPlayer(string string_1, string string_2, string string_3, float float_4, handle handle_5)	Sets an opvar value for a single player ( szStackName, szOperatorName, szOpvarName, flOpvarValue, hEnt )
StartSoundEvent 	void StartSoundEvent(string string_1, handle handle_2) 	Start a sound event
StartSoundEventFromPosition 	void StartSoundEventFromPosition(string string_1, Vector Vector_2) 	Start a sound event from position
StartSoundEventFromPositionReliable 	void StartSoundEventFromPositionReliable(string string_1, Vector Vector_2) 	Start a sound event from position with reliable delivery
StartSoundEventFromPositionUnreliable	void StartSoundEventFromPositionUnreliable(string string_1, Vector Vector_2) 	Start a sound event from position with optional delivery
StartSoundEventReliable 	void StartSoundEventReliable(string string_1, handle handle_2) 	Start a sound event with reliable delivery
StartSoundEventUnreliable 	void StartSoundEventUnreliable(string string_1, handle handle_2) 	Start a sound event with optional delivery
StopGlobalSound 	void StopGlobalSound(string soundName) 	Stop named sound for all players.
StopSoundEvent 	void StopSoundEvent(string string_1, handle handle_2) 	Stops a sound event
StopSoundOn 	void StopSoundOn(string soundName, handle playingEntity) 	Stop named sound on Entity
=== Miscellaneous ===
Function 	Signature 	Description
cvar_getf 	float cvar_getf(string string_1) 	Gets the value of the given cvar, as a float.
cvar_setf 	bool cvar_setf(string string_1, float float_2) 	Sets the value of the given cvar, as a float.
DebugBreak 	void DebugBreak() 	Breaks in the debugger
DoIncludeScript 	bool DoIncludeScript(string scriptFileName, handle scope) 	Internal native function for IncludeScript().
DoScriptAssert 	void DoScriptAssert(bool assertion, string message) 	Internal native function for ScriptAssert().
DoUniqueString 	string DoUniqueString(string root) 	Internal native function for UniqueString().
FileToString 	string FileToString(string a) 	Reads a string from a file to send to script
FireGameEvent 	void FireGameEvent(string eventName, handle parameterTable) 	Fire a pre-defined event, which can be found either in custom_events.txt or in dota's resource/*.res
FireGameEventLocal 	void FireGameEventLocal(string string_1, handle handle_2) 	Fire a game event without broadcasting to the client.
FrameTime 	float FrameTime() 	Get the time spent on the server in the last frame
GetFrameCount 	int GetFrameCount() 	Returns the engines current frame count
GetListenServerHost 	handle GetListenServerHost() 	Get the local player on a listen server.
GetMapName 	string GetMapName() 	Get the name of the map.
GetPerInputTutorialActions 	table GetPerInputTutorialActions(string unknown) 	
IncludeScript 	bool IncludeScript(string scriptFileName, handle scope = nil) 	Execute a script file. Included in the current scope by default.
InitLogFile 	void InitLogFile(string string_1, string string_2) 	If the given file doesn't exist, creates it with the given contents; does nothing if it exists
IsClient 	bool IsClient() 	Returns true if this is lua running from the client.dll.
IsDedicatedServer 	bool IsDedicatedServer() 	Returns true if this server is a dedicated server.
IsMarkedForDeletion 	bool IsMarkedForDeletion(handle handle_1) 	Returns true if the entity is valid and marked for deletion.
IsServer 	bool IsServer() 	Returns true if this is lua running from the server.dll.
IsInToolsMode 	bool IsInToolsMode() 	Returns true if this is lua running from the dota2 workshop tools.
IsInVRMode 	bool IsInVRMode() 	Checks if the game is running in VR mode.
ListenToGameEvent 	int ListenToGameEvent(string EventName, handle functionNameToCall, handle context) 	Register as a listener for a game event from script.
LoadKeyValues 	table LoadKeyValues(string string_1) 	Creates a table from the specified keyvalues text file
LoadKeyValuesFromString 	table LoadKeyValuesFromString(string string_1) 	Creates a table from the specified keyvalues string
LocalTime 	table LocalTime() 	Returns the local system time as a table with the format {Hours = int; Minutes = int; Seconds = int}
MakeStringToken 	int MakeStringToken(string string_1) 	
RegisterSpawnGroupFilterProxy	void RegisterSpawnGroupFilterProxy(string string_1) 	Create a C proxy for a script-based spawn group filter
ReloadMOTD 	void ReloadMOTD() 	Reloads the MotD file
RemoveSpawnGroupFilterProxy 	void RemoveSpawnGroupFilterProxy(string string_1) 	Remove the C proxy for a script-based spawn group filter
rr_AddDecisionRule 	bool rr_AddDecisionRule(handle handle_1) 	Add a rule to the decision database.
rr_CommitAIResponse 	bool rr_CommitAIResponse(handle handle_1, handle handle_2) 	Commit the result of QueryBestResponse back to the given entity to play. Call with params (entity, airesponse)
rr_GetResponseTargets 	handle rr_GetResponseTargets() 	Retrieve a table of all available expresser targets, in the form { name : handle, name: handle }.
rr_QueryBestResponse 	bool rr_QueryBestResponse(handle handle_1, handle handle_2, handle handle_3) 	Params: ( hEnt, hQuery, hResult ) // Static : tests 'query' against entity's response system and returns the best response found (or nil if none found).
ScreenShake 	void ScreenShake(Vector Vector_1, float float_2, float float_3, float float_4, float float_5, int int_6, bool bool_7)	Start a screenshake with the following parameters. vecCenter, flAmplitude, flFrequency, flDuration, flRadius, eCommand( SHAKE_START = 0, SHAKE_STOP = 1 ), bAirShake
ScriptAssert 	void ScriptAssert(bool assertion, string message = "") 	Asserts the passed in value. Prints out a message and brings up the assert dialog.
SendToConsole 	void SendToConsole(string string_1) 	Send a string to the console as a client command
SendToServerConsole 	void SendToServerConsole(string string_1) 	Send a string to the console as a server command
SetInSteamVRTutorialMode 	void SetInSteamVRTutorialMode(bool inTutorialMode) 	
SetNearZ 	void SetNearZ(handle player, float distance) 	Sets near z value for the given player.
SetQuestName 	void SetQuestName(string string_1) 	Set the current quest name.
SetQuestPhase 	void SetQuestPhase(int int_1) 	Set the current quest phase.
StopListeningToAllGameEvents 	void StopListeningToAllGameEvents(handle handle_1) 	Stop listening to all game events within a specific context.
StopListeningToGameEvent 	bool StopListeningToGameEvent(int int_1) 	Stop listening to a particular game event.
StringToFile 	bool StringToFile(string a, string b) 	* Directory traversal doesn't seem to work. The characters '.', '/' and '\\' are ignored.
Time 	float Time() 	Get the current server time
UniqueString 	string UniqueString(string root = "") 	Generate a string guaranteed to be unique across the life of the script VM, with an optional root string. Useful for adding data to table's when not sure what keys are already in use in that table.
UnloadSpawnGroup 	void UnloadSpawnGroup(string string_1) 	Unload a spawn group by name
UnloadSpawnGroupByHandle 	void UnloadSpawnGroupByHandle(int int_1) 	Unload a spawn group by handle
UpdateEventPoints 	void UpdateEventPoints(handle handle_1) 	No Description Set
=== VLua ===
Functions automatically included from the library.lua core library. Located in the vlua table rather than directly in the global scope.
Library functions to support Lua code generated by Sq2Lua.exe
Function 	Signature 	Description
vlua.clear 	table vlua.clear(table t) 	Implements Squirrel clear table method.
vlua.compare 	int vlua.compare(float a, float b) 	Implements Squirrel three way compare operator ( <=> ).
vlua.contains 	bool vlua.contains(table t, variable key) 	Implements Squirrel in operator.
vlua.delete 	int vlua.delete(table t, variable key) 	Implements Squirrel slot delete operator.
vlua.clone 	int vlua.clone(table t) 	Implements Squirrel clone operator.
vlua.rawdelete	int vlua.rawdelete(table t, variable key) 	Implements Squirrel rawdelete library function.
vlua.rawin 	int vlua.rawin(table t, variable key) 	Implements Squirrel rawin library function.
vlua.find 	variable vlua.find([table/string] o, variable value, [int startIndex]) 	Implements Squirrel find method for tables and strings. (o, substr, [startidx]) for strings, (o, value) for tables
vlua.slice 	variable vlua.slice([table/string] o, int startIndex, [int endIndex]) 	Implements Squirrel slice method for tables and strings.
vlua.reverse 	table vlua.reverse(table o) 	Implements Squirrel reverse method for tables.
vlua.resize 	table vlua.resize(string o, int size, [variable fill]) 	Implements Squirrel resize method for tables.
vlua.extend 	table vlua.extend(table o, array array) 	Implements Squirrel extend method for tables.
vlua.map 	table vlua.map(table o, function mapFunc) 	Implements Squirrel map method for tables.
vlua.reduce 	table vlua.reduce(table o, function reduceFunc) 	Implements Squirrel reduce method for tables.
vlua.tableadd 	table vlua.tableadd (table t1, table t2) 	Implements tableadd function to support += paradigm used in Squirrel.
vlua.split 	table vlua.split(string input, string separator) 	Implements Squirrel split function for strings.
vlua.select 	variable vlua.select(bool conditional, variable valueIfTrue, variable valueIfFalse)	Safe Ternary operator. The Lua version will return the wrong value if the value if true is nil.
== Classes ==
=== CBaseEntity ===
The base class for entities.
==== Methods ====
Function 	Signature 	Description
AddEffects 	void AddEffects(int nFlags) 	AddEffects( int ): Adds the render effect flag.
ApplyAbsVelocityImpulse 	void ApplyAbsVelocityImpulse(Vector vecImpulse) 	Apply a Velocity Impulse.
ApplyLocalAngularVelocityImpulse	void ApplyLocalAngularVelocityImpulse(Vector angImpulse) 	Apply an Angular Velocity Impulse.
Attribute_GetFloatValue 	float Attribute_GetFloatValue(string pName, float flDefault) 	Get float value for an entity attribute.
Attribute_GetIntValue 	float Attribute_GetIntValue(string pName, int nDefault) 	Get int value for an entity attribute.
Attribute_SetFloatValue 	void Attribute_SetFloatValue(string pName, float flValue) 	Set float value for an entity attribute.
Attribute_SetIntValue 	void Attribute_SetIntValue(string pName, int nValue) 	Set int value for an entity attribute.
DeleteAttribute 	void DeleteAttribute(string pName) 	Delete an entity attribute.
EmitSound 	void EmitSound(string soundName) 	
EmitSoundParams 	void EmitSoundParams(string soundName, int pitch, float volume, float soundTime)	Plays/modifies a sound from this entity. changes sound if Pitch and/or Volume or SoundTime is > 0.
EyeAngles 	QAngle EyeAngles() 	Get the QAngles that this entity is looking at.
EyePosition 	Vector EyePosition() 	Get vector to eye position - absolute coords
FirstMoveChild 	handle FirstMoveChild() 	No Description Set
FollowEntity 	void FollowEntity(handle hEntity, bool bBoneMerge) 	hEntity to follow, bool bBoneMerge
GatherCriteria 	void GatherCriteria(handle hResult) 	Returns a table containing the criteria that would be used for response queries on this entity. This is the same as the table that is passed to response rule script function callbacks.
GetAbsOrigin 	Vector GetAbsOrigin() 	Returns the world space origin of the entity.
GetAbsScale 	float GetAbsScale() 	Get the absolute entity scale.
GetAngles 	QAngle GetAngles() 	No Description Set
GetAnglesAsVector 	Vector GetAnglesAsVector() 	Get entity pitch, yaw, roll as a vector
GetAngularVelocity 	Vector GetAngularVelocity() 	Get the local angular velocity - returns a vector of pitch,yaw,roll
GetBaseVelocity 	Vector GetBaseVelocity() 	Get Base velocity. Only functional on prop_dynamic entities with the Scripted Movement property set.
GetBoundingMaxs 	Vector GetBoundingMaxs() 	Get a vector containing max bounds, centered on object
GetBoundingMins 	Vector GetBoundingMins() 	Get a vector containing min bounds, centered on object
GetBounds 	table GetBounds() 	Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object
GetCenter 	Vector GetCenter() 	Get vector to center of object - absolute coords
GetChildren 	handle GetChildren() 	Get the entities parented to this entity.
GetContext 	table GetContext(string name) 	GetContext( name ): looks up a context and returns it if available. May return string, float, or nil (if the context isn't found)
GetForwardVector 	Vector GetForwardVector() 	Get the forward Vector of the entity
GetHealth 	int GetHealth() 	No Description Set
GetLocalAngularVelocity 	QAngle GetLocalAngularVelocity() 	Get entity relative angular velocity. Only functional on prop_dynamic entities with the Scripted Movement property set.
GetLocalAngles 	QAngle GetLocalAngles() 	Get entity pitch, yaw, roll as a QAngle, in the space of the entity's parent or attachment point
GetLocalOrigin 	Vector GetLocalOrigin() 	Get entity origin as a Vector, in the space of the entity's parent or attachment point.
GetLocalScale 	float GetLocalScale() 	Get the entity scale relative to that of its parent.
GetLocalVelocity 	Vector GetLocalVelocity() 	Get Entity relative velocity. Only functional on prop_dynamic entities with the Scripted Movement property set.
GetMass 	float GetMass() 	Get the mass of an entity. (returns 0 if it doesn't have a physics object)
GetMaxHealth 	int GetMaxHealth() 	No Description Set
GetModelName 	string GetModelName() 	Returns the name of the model.
GetMoveParent 	handle GetMoveParent() 	If in hierarchy, retrieves the entity's parent
GetOrigin 	Vector GetOrigin() 	Returns the origin of the entity, either in world space ot in its parents space if parented.
GetOwner 	handle GetOwner() 	Gets this entity's owner
GetOwnerEntity 	handle GetOwnerEntity() 	Get the owner entity, if there is one
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
GetSoundDuration 	float GetSoundDuration(string soundName, string actormodelname) 	Returns float duration of the sound. Takes soundname and optional actormodelname.
GetTeam 	int GetTeam() 	No Description Set
GetTeamNumber 	int GetTeamNumber() 	Get the team number of this entity.
GetUpVector 	Vector GetUpVector() 	Get the up vector of the entity
GetVelocity 	Vector GetVelocity() 	World space velocity of the entity. Only functional on prop_dynamic entities with the Scripted Movement property set.
HasAttribute 	bool HasAttribute(string pName) 	See if an entity has a particular attribute.
IsAlive 	bool IsAlive() 	No Description Set.
IsNPC 	bool IsNPC() 	Is this entity an CAI_BaseNPC?
IsNull 	bool IsNull() 	Detect entity has been deleted from C++
IsPlayer 	bool IsPlayer() 	Is this a player entity?
Kill 	void Kill() 	No Description Set
NextMovePeer 	handle NextMovePeer() 	No Description Set
OverrideFriction 	void OverrideFriction(float duration, float friction) 	Takes duration, value for a temporary override
PrecacheScriptSound 	void PrecacheScriptSound(string soundname) 	Precache a sound for later playing.
RemoveEffects 	void RemoveEffects(int nFlags) 	RemoveEffects( int ): Removes the render effect flag.
SetAbsAngles 	void SetAbsAngles(float fPitch, float fYaw, float fRoll) 	Set entity world space pitch, yaw, roll by component.
SetAbsOrigin 	void SetAbsOrigin(Vector origin) 	Sets the world space entity origin.
SetAbsScale 	void SetAbsScale(float scale) 	Set the absolute scale of the entity.
SetAngles 	void SetAngles(float pitch, float yaw, float roll) 	Set entity pitch, yaw, roll by component. If parented, this is set relative to the parents local space.
SetAngularVelocity 	void SetAngularVelocity(float pitch, float yaw, float roll) 	Set the local angular velocity - takes float pitch, yaw, roll velocities. Only functional on prop_dynamic entities with the Scripted Movement property set.
SetConstraint 	void SetConstraint(Vector vPos) 	Set the position of the constraint.
SetContext 	void SetContext(string pName, string pValue, float duration) 	SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a string. Will last for duration (set 0 to mean 'forever').
SetContextNum 	void SetContextNum(string pName, float fValue, float duration) 	SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a number (int or float). Will last for duration (set 0 to mean 'forever').
SetContextThink 	void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval)	Set a think function on this entity.
SetEntityName 	void SetEntityName(string pName) 	Set the name (targetname) of an entity.
SetForwardVector 	void SetForwardVector(Vector forwardVec) 	Set the orientation of the entity to have this forward forwardVec
SetFriction 	void SetFriction(float flFriction) 	Set PLAYER friction, ignored for objects
SetGravity 	void SetGravity(float flGravity) 	Set PLAYER gravity, ignored for objects
SetHealth 	void SetHealth(int hp) 	No Description Set
SetLocalAngles 	void SetLocalAngles(float pitch, float yaw, float roll) 	Set the entity pitch, yaw, roll by component, relative to the local space of the entity's parent or attachment point.
SetLocalOrigin 	void SetLocalOrigin(Vector origin) 	Set the entity origin from a Vector, relative to the local space of the entity's parent or attachment point.
SetLocalScale 	void SetLocalScale(float scale) 	Set the entity scale relative to the entity's parent.
SetMass 	void SetMass(float flMass) 	Set the mass of an entity. (does nothing if it doesn't have a physics object)
SetMaxHealth 	void SetMaxHealth(int maxHP) 	No Description Set
SetOrigin 	void SetOrigin(Vector origin) 	No Description Set
SetOwner 	void SetOwner(handle owningEntity) 	Sets this entity's owner.
SetParent 	void SetParent(handle hParent, string pAttachmentname) 	Set the parent for this entity. The attachment is optional, pass an empty string to not use it.
SetTeam 	void SetTeam(int team) 	No Description Set
SetThink 	void SetThink(function thinkFunction, string thinkName, float initialDelay) 	Sets a thinker function to be called periodically.
SetVelocity 	void SetVelocity(Vector vecVelocity) 	Sets the world space velocity of the entity. Only functional on prop_dynamic entities with the Scripted Movement property set.
StopSound 	void StopSound(string soundName) 	Stops the named sound playing from this entity.
StopThink 	void StopThink (string thinkName) 	Stops the named thinker function.
TakeDamage 	int TakeDamage(damageinfo hInfo) 	Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
TransformPointEntityToWorld 	Vector TransformPointEntityToWorld(Vector vPoint) 	Returns the input Vector transformed from entity to world space.
TransformPointWorldToEntity 	Vector TransformPointWorldToEntity(Vector vPoint) 	Returns the input Vector transformed from world to entity space.
Trigger 	void Trigger() 	Fires off this entity's OnTrigger responses.
ValidatePrivateScriptScope 	void ValidatePrivateScriptScope() 	Validates the private script scope and creates it if one doesn't exist.
==== Hooks ====
Adding a function with this signature to the entity script causes it to be called from code at the appropriate moment.
Function 	Signature 	Description
Activate 	void Activate(int activateType) 	Called on Activate(), after the entity has spawned. If the entity is spawned on map load, Activate() is called after all entities have spawned. The activateType parameter contains an enumeration as documented here.
OnBreak 	void OnBreak() 	Called when a breakable entity is broken.
OnEntText 	string OnEntText() 	Called every frame when ent text is enabled on the entity. Return a string to be added to the ent_text printout.
OnTakeDamage 	unknown OnTakeDamage(table damageTable) 	Called when the entity takes damage. Table format: {inflictor = handle, damage_direction = Vector, damage_position = Vector, damage_force = Vector, damage = int, attacker = handle}
Precache 	void Precache(CScriptPrecacheContext context)	Called when the entity is precached. Used to precache any additional resources needed by the script using the global Precache family of script functions.
Spawn 	void Spawn(CScriptKeyValues spawnkeys) 	Called on Spawn(), just after the entity has been created, but before it has been initialized. Passes a CScriptKeyValues handle that can be used to query the entity spawn keyvalues.
UpdateOnRemove	void UpdateOnRemove() 	Called before the entity is killed.
=== CEntityInstance ===
:::::extends CBaseEntity
All entities inherit from this.
==== Methods ====
Function 	Signature 	Description
ConnectOutput 	void ConnectOutput(string string_1, string string_2) 	Adds an I/O connection that will call the named function on this entity when the specified output fires.
Destroy 	void Destroy() 	No Description Set
DisconnectOutput 	void DisconnectOutput(string string_1, string string_2) 	Removes a connected script function from an I/O event on this entity.
DisconnectRedirectedOutput 	void DisconnectRedirectedOutput(string string_1, string string_2, handle handle_3) 	Removes a connected script function from an I/O event on the passed entity.
entindex 	int entindex() 	No Description Set
FireOutput 	void FireOutput(string outputName, handle activator, handle caller, table args, float delay)	Fire an entity output
GetClassname 	string GetClassname() 	No Description Set
GetDebugName 	string GetDebugName() 	Get the entity name w/help if not defined (i.e. classname/etc)
GetEntityHandle 	ehandle GetEntityHandle() 	Get the entity as an EHANDLE
GetEntityIndex 	int GetEntityIndex() 	No Description Set
GetIntAttr 	int GetIntAttr(string string_1) 	Get Integer Attribute
GetName 	string GetName() 	No Description Set
GetOrCreatePrivateScriptScope	handle GetOrCreatePrivateScriptScope() 	Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
GetOrCreatePublicScriptScope 	handle GetOrCreatePublicScriptScope() 	Retrieve, creating if necessary, the public script-side data associated with an entity
GetPrivateScriptScope 	handle GetPrivateScriptScope() 	Retrieve the private per-instance script-side data associated with an entity
GetPublicScriptScope 	handle GetPublicScriptScope() 	Retrieve the public script-side data associated with an entity
RedirectOutput 	void RedirectOutput(string string_1, string string_2, handle handle_3) 	Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
RemoveSelf 	void RemoveSelf() 	Delete this entity
SetIntAttr 	void SetIntAttr(string string_1, int int_2) 	Set Integer Attribute
=== CBaseModelEntity ===
:::::extends CBaseEntity
Entities with models inherit from this.
==== Methods ====
Function 	Signature 	Description
GetMaterialGroupHash	unsigned GetMaterialGroupHash() 	Get the material group hash of this entity.
GetMaterialGroupMask	<unknown> GetMaterialGroupMask() 	Get the mesh group mask of this entity.
GetRenderAlpha 	int GetRenderAlpha() 	Get the alpha modulation of this entity.
GetRenderColor 	Vector GetRenderColor() 	Get the render color of the entity.
SetBodygroup 	void SetBodygroup(int iGroup, int iValue) 	Sets a bodygroup by index.
SetBodygroupByName 	void SetBodygroupByName(int iGroup, int iValue) 	Sets a bodygroup by name.
SetLightGroup 	void SetLightGroup(string pLightGroup) 	Sets the light group of the entity.
SetMaterialGroup 	void SetMaterialGroup(string pMaterialGroup) 	Set the material group of this entity.
SetMaterialGroupHash	void SetMaterialGroupHash(uint32 nHash) 	Set the material group hash of this entity.
SetMaterialGroupMask	void SetMaterialGroupMask(uint64 nMeshGroupMask) 	Set the mesh group mask of this entity.
SetModel 	void SetModel(string pModelName) 	Changes the model of the entity. Make sure the new model is precached before using.
SetRenderAlpha 	void SetRenderAlpha(int nAlpha) 	Set the alpha modulation of this entity.
SetRenderColor 	void SetRenderColor(int red, int green, int blue)	Sets the render color of the entity.
SetRenderMode 	void SetRenderMode(int nMode) 	Sets the render mode of the entity.
SetSingleMeshGroup 	void SetSingleMeshGroup(string pMeshGroupName) 	Set a single mesh group for this entity.
SetSize 	void SetSize(Vector mins, Vector maxs) 	
=== CBasePlayer ===
Entity class for players.
==== Methods ====
Function 	Signature 	Description
AreChaperoneBoundsVisible 	bool AreChaperoneBoundsVisible() 	Returns whether this player's chaperone bounds are visible.
EquipPropTool 	void EquipPropTool(CDestinationsPropTool propTool, int handId) 	Equips the prop tool passed in the hand specified.
GetHMDAnchor 	handle GetHMDAnchor() 	Returns the HMD anchor entity for this player if it exists.
GetHMDAvatar 	CPropHMDAvatar GetHMDAvatar() 	Returns the HMD Avatar entity for this player if it exists.
GetPlayArea 	Vector GetPlayArea(int nPoint) 	Returns the Vector position of the point you ask for. Pass 0-3 to get the four points.
GetUserID 	int GetUserID() 	Returns the player's user ID.
GetVRControllerType 	int GetVRControllerType() 	Returns the type of controller being used while in VR. See list at the bottom of the page for controller types.
IsActionActiveForHand 	bool IsActionActiveForHand(int nLiteralHandType, int nDigitalAction)	Returns true if the action is active for the given hand.
IsNoclipping 	bool IsNoclipping() 	Returns true if the player is in noclip mode.
IsUsePressed 	bool IsUsePressed() 	Returns true if the use key is pressed.
IsVRControllerButtonPressed	bool IsVRControllerButtonPressed(int nButton) 	Returns true if the controller button is pressed.
IsVRDashboardShowing 	bool IsVRDashboardShowing() 	Returns true if the SteamVR dashboard is showing for this player.
Quit 	void Quit() 	Quit the game from script.
RemovePropTool 	void RemovePropTool(string pModelName, int nHandId) 	Removes a prop tool from the players hand if it uses the model passed in.
=== CSteamTours_Player ===
==== Methods ====
Function 	Signature 	Description
AllowTeleportFromHand 	void AllowTeleportFromHand(int nHandID, bool bTeleportAllowed) 	Sets whether the player is allowed to teleport using the specified hand.
AreAnyVRControllersConnected	bool AreAnyVRControllersConnected() 	Checks to see if any VR controllers are present.
IsContentBrowserShowing 	bool IsContentBrowserShowing() 	Returns true if the content browser is showing.
IsInventoryEnabledForHand 	bool IsInventoryEnabledForHand(int nHandID) 	Checks to see if the player is allowed to use the quick inventory for the specified hand.
IsTeleportAllowedFromHand 	bool IsTeleportAllowedFromHand(int nHandID) 	Checks to see if the player is allowed to teleport using the specified hand.
SetContentBrowserAllowed 	void SetContentBrowserAllowed(bool bAllowed) 	Sets whether the content browser is allowed to be brought up by the player.
SetInventoryEnabledForHand 	void SetInventoryEnabledForHand(int nHandID, bool bInventoryAllowed)	Sets whether the player is allowed to use the quick inventory for the specified hand.
SetIsInTutorialMode 	void SetIsInTutorialMode(bool bTutorial) 	Sets whether the player is in tutorial mode.
SetSteamVRDashBoardEnabled 	void SetSteamVRDashBoardEnabled(bool bEnabled) 	Control Availability of Dashboard. Only used by special cases, such as tutorials.
=== CBaseAnimating ===
:::::extends CBaseEntity
A class containing methods involved in animations. Most model based entities inherit this.
==== Methods ====
Function 	Signature 	Description
ActiveSequenceDuration 	float ActiveSequenceDuration() 	Returns the duration in seconds of the active sequence.
GetAttachmentAngles 	Vector GetAttachmentAngles(int iAttachment) 	Get the attachment id's angles as a p,y,r vector
GetAttachmentForward 	Vector GetAttachmentForward(int iAttachment) 	Get the attachment id's forward vector.
GetAttachmentOrigin 	Vector GetAttachmentOrigin(int iAttachment) 	Get the attachment id's origin vector
GetCycle 	float GetCycle() 	Get the cycle of the animation.
GetGraphParameter 	table GetGraphParameter(string pszParam) 	Get the value of the given animGraph parameter.
GetModelScale 	float GetModelScale() 	Get scale of entity's model.
GetSequence 	string GetSequence() 	Returns the name of the active sequence.
IsSequenceFinished 	bool IsSequenceFinished() 	Ask whether the main sequence is done playing
ResetSequence 	void ResetSequence(string pSequenceName) 	Sets the active sequence by name, resetting the current cycle
ScriptLookupAttachment 	int ScriptLookupAttachment(string pAttachmentName) 	Get the named attachment id
SequenceDuration 	float SequenceDuration(string pSequenceName) 	Returns the duration in seconds of the given sequence name.
SetGraphLookTarget 	void SetGraphLookTarget(Vector vValue) 	Pass the desired look target in world space to the graph.
SetGraphParameter 	void SetGraphParameter(string pszParam, table svArg) 	Set the specific param value, type is inferred from the type in script.
SetGraphParameterBool 	void SetGraphParameterBool(string szName, bool bValue) 	Set the specific boolean parameter on or off.
SetGraphParameterEnum 	void SetGraphParameterEnum(string szName, int nValue) 	Pass the enum (int) value to the specified param.
SetGraphParameterFloat 	void SetGraphParameterFloat(string szName, float flValue) 	Pass the float value to the specified parameter.
SetGraphParameterInt 	void SetGraphParameterInt(string szName, int nValue) 	Pass the int value to the specified param.
SetGraphParameterVector 	void SetGraphParameterVector(string szName, Vector vValue) 	Pass the vector value to the specified param in the graph.
SetModelScale 	void SetModelScale(float scale) 	Sets the model's scale to scale, so if a unit had its model scale at 1, and you use SetModelScale(10.0), it would set the scale to 10.0.
SetPoseParameter 	float SetPoseParameter(string szName, float fValue) 	Set the specified pose parameter to the specified value.
SetProceduralIKTarget 	bool SetProceduralIKTarget(string pChainName, string pTargetName, Vector vTargetPosition, QAngle qTargetRotation)	Sets the named procedural IK target.
SetProceduralIKTargetWeight	bool SetProceduralIKTargetWeight(string pChainName, string pTargetName, float flWeight) 	Sets the named procedural IK targets weight: 0 = full animation, 1 = full IK.
SetSequence 	void SetSequence(string pSequenceName) 	Sets the active sequence by name, keeping the current cycle.
SetSkin 	void SetSkin(int iSkin) 	Sets the model skin by index.
StopAnimation 	void StopAnimation() 	Stop the current animation by setting playback rate to 0.0.
=== CBaseFlex ===
:::::extends CBaseAnimating
Animated entities that have vertex flex capability.
==== Methods ====
Function 	Signature 	Description
GetCurrentScene	handle GetCurrentScene() 	Returns the instance of the oldest active scene entity (if any).
GetSceneByIndex	handle GetSceneByIndex(int index) 	Returns the instance of the scene entity at the specified index.
ScriptPlayScene	float ScriptPlayScene(string pszSceneFile, float flDelay)	Play the specified .vcd file.
=== CBaseCombatCharacter ===
No Description Set
Function 	Signature 	Description
GetEquippedWeapons	table GetEquippedWeapons() 	Returns an array of all the equipped weapons
GetFaction 	int GetFaction() 	Get the combat character faction.
GetWeaponCount 	int GetWeaponCount() 	Gets the number of weapons currently equipped
ShootPosition 	Vector ShootPosition(int nHand)	Returns the shoot position eyes (or hand in VR).
=== CBodyComponent ===
No Description Set
==== Methods ====
Function 	Signature 	Description
AddImpulseAtPosition	void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2)	Apply an impulse at a worldspace position to the physics
AddVelocity 	void AddVelocity(Vector Vector_1, Vector Vector_2) 	Add linear and angular velocity to the physics object
DetachFromParent 	void DetachFromParent() 	Detach from its parent
GetSequence 	<unknown> GetSequence() 	Returns the active sequence
IsAttachedToParent 	bool IsAttachedToParent() 	Is attached to parent
LookupSequence 	<unknown> LookupSequence(string string_1) 	Returns a sequence id given a name
SequenceDuration 	float SequenceDuration(string string_1) 	Returns the duration in seconds of the specified sequence
SetAngularVelocity 	void SetAngularVelocity(Vector Vector_1) 	No Description Set
SetAnimation 	void SetAnimation(string string_1) 	Pass string for the animation to play on this model
SetBodyGroup 	void SetBodyGroup(string string_1) 	No Description Set
SetMaterialGroup 	void SetMaterialGroup(utlstringtoken utlstringtoken_1) 	No Description Set
SetVelocity 	void SetVelocity(Vector velocity) 	No Description Set
=== CEntities ===
Provides methods to enumerate all server-side entities.
Global accessor variable: Entities
==== Methods ====
Function 	Signature 	Description
CreateByClassname 	handle CreateByClassname(string className) 	Creates an entity by class name.
FindAllByClassname 	table FindAllByClassname(string string_1) 	Finds all entities by class name. Returns an array containing all the found entities.
FindAllByClassnameWithin	table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3) 	Find entities by class name within a radius.
FindAllByModel 	table FindAllByModel(string modelName) 	Find entities by model name.
FindAllByName 	table FindAllByName(string name) 	Find all entities by name. Returns an array containing all the found entities in it.
FindAllByNameWithin 	table FindAllByNameWithin(string name, Vector origin, float maxRadius) 	Find entities by name within a radius.
FindAllByTarget 	table FindAllByTarget(string targetName) 	Find entities by targetname.
FindAllInSphere 	table FindAllInSphere(Vector origin, float maxRadius) 	Find entities within a radius.
FindByClassname 	handle FindByClassname(handle startFrom, string className) 	Find entities by class name. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByClassnameNearest 	handle FindByClassnameNearest(string className, Vector origin, float maxRadius) 	Find entities by class name nearest to a point.
FindByClassnameWithin 	handle FindByClassnameWithin(handle startFrom, string className, Vector origin, float maxRadius)	Find entities by class name within a radius. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByModel 	handle FindByModel(handle startFrom, string modelName) 	Find entities by model name. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByModelWithin 	handle FindByModelWithin(handle startFrom, string modelName, Vector origin, float maxRadius) 	Find entities by model name within a radius. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByName 	handle FindByName(handle lastEnt, string searchString) 	Find entities by name. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByNameNearest 	handle FindByNameNearest(string name, Vector origin, float maxRadius) 	Find entities by name nearest to a point.
FindByNameWithin 	handle FindByNameWithin(handle startFrom, string name, Vector origin, float maxRadius) 	Find entities by name within a radius. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindByTarget 	handle FindByTarget(handle startFrom, string targetName) 	Find entities by targetname. Pass nil to start an iteration, or reference to a previously found entity to continue a search
FindInSphere 	handle FindInSphere(handle startFrom, Vector origin, float maxRadius) 	Find entities within a radius. Pass nil 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
GetLocalPlayer 	handle GetLocalPlayer() 	Get the local player.
Next 	handle Next(handle startFrom) 	Continue an iteration over the list of entities, providing reference to a previously found entity
=== CAI_BaseNPC ===
No Description Set
==== Methods ====
Function	Signature 	Description
GetSquad	handle GetSquad()	Get the squad to which this NPC belongs.
=== CBaseTrigger ===
:::::extends CBaseEntity
Entity class for triggers.
==== Methods ====
Function 	Signature 	Description
Disable 	void Disable() 	Disable the trigger
Enable 	void Enable() 	Enable the trigger
IsTouching	bool IsTouching(handle hEnt)	Checks whether the passed entity is touching the trigger.
=== CDestinationsGameTrophy ===
Entity class for game trophies.
==== Methods ====
Function 	Signature 	Description
GetAccountID 	unsigned GetAccountID() 	Get owner's Steam accountid.
GetAchievementLevel	unsigned GetAchievementLevel()	Get achievement level.
GetAppID 	unsigned GetAppID() 	Get appid.
GetBadgeLevel 	unsigned GetBadgeLevel() 	Get badge level.
=== CDestinationsPropDrawing ===
==== Methods ====
Function 	Signature 	Description
AddPointGlobal	void AddPointGlobal(Vector vPos, float flRadius, Vector vColor)	
AddPointLocal 	void AddPointLocal(Vector vPos, float flRadius, Vector vColor) 	
BeginStroke 	void BeginStroke(Vector vOrigin, string pParticleName) 	
EndStroke 	void EndStroke() 	
Finalize 	void Finalize() 	
IsFinalized 	bool IsFinalized() 	
=== CDestinationsPropItemPhysics ===
Entity class for prop destinations physics.
Props spawned through the menu use this class.
==== Methods ====
Function 	Signature 	Description
EnableUse 	void EnableUse(bool bAllowUse) 	Enable (or disable) 'use' aka 'picking up' this entity.
Freeze 	void Freeze(bool bFreeze) 	Freeze (or unfreeze) this entity in place, but still allow use/pickup.
GetCreator 	CSteamTours_Player GetCreator() 	Returns the (player) creator of this entity.
GetItemDefID 	string GetItemDefID() 	Get the Item Definition ID from the ContentDB for this entity.
GetPublishedFileID	<unknown> GetPublishedFileID() 	Get the published file ID for this entity. The id will be 0 it was not published on the Steam workshop.
IsFrozen 	bool IsFrozen() 	Returns whether this entity is frozen in place.
IsUseEnabled 	bool IsUseEnabled() 	Returns whether 'use' aka 'picking up' is enabled on this entity.
SetCreator 	void SetCreator(CSteamTours_Player hCreator)	Sets the (player) creator of this entity.
==== Hooks ====
Adding a function with this signature to the entity script causes it to be called from code at the appropriate moment.
Function 	Signature 	Description
OnPickedUp	void OnPickedUp(handle self, CPropVRHand hand)	Called when a player picks up the prop.
OnDropped 	void OnDropped(handle self, CPropVRHand hand) 	Called when a player drops the prop.
=== CDestinationsPropTool===
Entity class for prop destinations tool.
A generic tool prop that can be picked up by the player. The tool functionality is implemented using scripts. When picked up by the player, attaches to the vr_controller_root attachment of the model.
==== Methods ====
Function 	Signature 	Description
ForceDropTool	void ForceDropTool()	Drops the tool from the players hand.
==== Hooks ====
Adding a function with this signature to the entity script causes it to be called from code at the appropriate moment.
Function 	Signature 	Description
SetEquipped 	bool SetEquipped(handle self, CPropVRHand pHand, int nHandID, handle pHandAttachment, CBasePlayer pPlayer)	Called when the player equips the tool.
SetUnequipped	bool SetUnequipped() 	Called when the tool is unequipped.
OnHandleInput	table OnHandleInput(table input) 	Called every frame with the state of the motion controller inputs. Return the input table with bits toggled off in the members to disable the rest of the game from receiving the inputs.
=== CDestinationsQuestGeocache ===
No Description Set
==== Methods ====
Function 	Signature 	Description
DisableCollision	void DisableCollision()	Disable physics collision for this entity.
EnableCollision 	void EnableCollision() 	Enable physics collision for this entity.
=== CEnvTimeOfDay2 ===
No Description Set
==== Methods ====
Function 	Signature 	Description
GetFloat 	float GetFloat(utilstringtoken unknown, float unknown) 	Lookup dynamic time-of-day float value.
GetVector	Vector GetVector(utilstringtoken unknown, Vector unknown)	Lookup dynamic time-of-day vector value.
=== CEnvEntityMaker ===
:::::extends CBaseEntity
Entity 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 hEntity) 	Create an entity at the location of a specified entity instance
SpawnEntityAtLocation 	void SpawnEntityAtLocation(Vector vecAlternateOrigin, Vector vecAlternateAngles)	Create an entity at a specified location and orientaton, orientation is Euler angle in degrees (pitch, yaw, roll)
SpawnEntityAtNamedEntityOrigin	void SpawnEntityAtNamedEntityOrigin(string pszName) 	Create an entity at the location of a named entity
=== CEntityScriptFramework ===
Interface to the C++-side of entity framework
Global accessor variable: EntityFramework
==== Methods ====
No methods available.
==== Hooks ====
Called on the entity framework script.
Function 	Signature 	Description
CreateEntity 	void CreateEntity(string className, handle instance) 	
DispatchActivate 	bool DispatchActivate(handle entity) 	
DispatchInput 	bool DispatchInput(string inputName, table target,unknown args) 	
DispatchPrecache 	void DispatchPrecache(handle entity, CScriptPrecacheContext context) 	
DispatchSpawn 	void DispatchSpawn(handle entity, CScriptKeyValuesspawnkeys) 	
DispatchUpdateOnRemove 	bool DispatchUpdateOnRemove(handle entity) 	
GetClassNameOverride 	string GetClassNameOverride(string className) 	
GetDesignerNameForScriptClass	string GetDesignerNameForScriptClass(string className,handle instance)	
GetInputsForScriptClass 	table GetInputsForScriptClass(string scriptClassName) 	
GetNativeClassForScriptClass 	string GetNativeClassForScriptClass(string scriptClassName) 	
GetNativeOutputsForClass 	CNativeOutputs GetNativeOutputsForClass(string scriptClassName) 	
GetScriptClassForDesignerName	string GetScriptClassForDesignerName(string designerName) 	
InstallClasses 	void InstallClasses() 	
=== CInfoWorldLayer ===
Entity class for info world layer.
==== Methods ====
Function 	Signature 	Description
HideWorldLayer	void HideWorldLayer()	Hides this layer.
ShowWorldLayer	void ShowWorldLayer()	Shows this layer.
=== CMarkupVolumeTagged ===
No Description Set
==== Methods ====
Function	Signature 	Description
HasTag 	bool HasTag(string pszTagName)	Does this volume have the given tag.
=== CScriptPrecacheContext ===
Container to hold context published to precache functions in script
==== Methods ====
Function 	Signature 	Description
AddResource	void AddResource(string string_1)	Precaches a specific resource
GetValue 	variable GetValue(string key) 	Reads a spawn key.
=== CScriptKeyValues ===
Container holding keyvalues published to the Spawn() hook function.
==== Methods ====
Function	Signature 	Description
GetValue	variable GetValue(string key)	Reads a spawn key.
=== CNativeOutputs ===
Container for holding outputs published by scripted entity classes to the game code.
==== Methods ====
Function 	Signature 	Description
constructor	void CNativeOutputs() 	Creates a new CNativeOutputs object.
AddOutput 	void AddOutput(string outputName, string description)	Add an output.
Init 	void Init(int numOutputs) 	Initialize with specified number of outputs.
=== CEnvProjectedTexture ===
:::::extends CBaseEntity
Entity class for env projected texture.
==== Methods ====
Function 	Signature 	Description
SetFarRange 	void SetFarRange(float flRange) 	Set light maximum range
SetLinearAttenuation 	void SetLinearAttenuation(float flAtten) 	Set light linear attenuation value
SetNearRange 	void SetNearRange(float flRange) 	Set light minimum range
SetQuadraticAttenuation	void SetQuadraticAttenuation(float flAtten) 	Set light quadratic attenuation value
SetVolumetrics 	void SetVolumetrics(bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset)	Turn on/off light volumetrics: bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset
=== CInfoData ===
No Description Set
==== Methods ====
Function 	Signature 	Description
QueryColor 	Vector QueryColor(utlstringtoken tok, Vector vDefault) 	Query color data for this key
QueryFloat 	float QueryFloat(utlstringtoken tok, float flDefault) 	Query float data for this key
QueryInt 	int QueryInt(utlstringtoken tok, int nDefault) 	Query int data for this key
QueryNumber	float QueryNumber(utlstringtoken tok, float flDefault) 	Query number data for this key
QueryString	string QueryString(utlstringtoken tok, string pDefault)	Query string data for this key
QueryVector	Vector QueryVector(utlstringtoken tok, Vector vDefault)	Query vector data for this key
=== CPhysicsProp ===
Entity class for prop physics and related classes.
==== Methods ====
Function 	Signature 	Description
SetDynamicVsDynamicContinuous	void SetDynamicVsDynamicContinuous(bool bIsDynamicVsDynamicContinuousEnabled)	Enable/disable dynamic vs dynamic continuous collision traces.
DisableMotion 	void DisableMotion() 	Enable motion for the prop.
EnableMotion 	void EnableMotion() 	Enable motion for the prop.
=== CDebugOverlayScriptHelper ===
No Description Set
==== Methods ====
Function 	Signature 	Description
Axis 	void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5) 	Draws an axis. Specify origin + orientation in world space.
Box 	void Box(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a world-space axis-aligned box. Specify bounds in world space.
BoxAngles 	void BoxAngles(Vector Vector_1, Vector Vector_2, Vector Vector_3, Quaternion Quaternion_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws an oriented box at the origin. Specify bounds in local space.
Capsule 	void Capsule(Vector Vector_1, Quaternion Quaternion_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws a capsule. Specify base in world space.
Circle 	void Circle(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws a circle. Specify center in world space.
CircleScreenOriented 	void CircleScreenOriented(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a circle oriented to the screen. Specify center in world space.
Cone 	void Cone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws a wireframe cone. Specify endpoint and direction in world space.
Cross 	void Cross(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a screen-aligned cross. Specify origin in world space.
Cross3D 	void Cross3D(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a world-aligned cross. Specify origin in world space.
Cross3DOriented 	void Cross3DOriented(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws an oriented cross. Specify origin in world space.
DrawTickMarkedLine 	void DrawTickMarkedLine(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws a dashed line. Specify endpoint's in world space.
EntityAttachments 	void EntityAttachments(ehandle ehandle_1, float float_2, float float_3) 	Draws the attachments of the entity
EntityAxis 	void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4) 	Draws the axis of the entity origin
EntityBounds 	void EntityBounds(ehandle ehandle_1, int int_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) 	Draws bounds of an entity
EntitySkeleton 	void EntitySkeleton(ehandle ehandle_1, float float_2) 	Draws the skeleton of the entity
EntityText 	void EntityText(ehandle ehandle_1, int int_2, string string_3, int int_4, int int_5, int int_6, int int_7, float float_8) 	Draws text on an entity
FilledRect2D 	void FilledRect2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) 	Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
HorzArrow 	void HorzArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws a horizontal arrow. Specify endpoint's in world space.
Line 	void Line(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a line between two point's
Line2D 	void Line2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) 	Draws a line between two point's in screenspace
PopDebugOverlayScope 	void PopDebugOverlayScope() 	Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
PushAndClearDebugOverlayScope 	void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1) 	Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
PushDebugOverlayScope 	void PushDebugOverlayScope(utlstringtoken utlstringtoken_1) 	Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
RemoveAllInScope 	void RemoveAllInScope(utlstringtoken utlstringtoken_1) 	Removes all overlays marked with a specific identifier, regardless of their lifetime.
SolidCone 	void SolidCone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws a solid cone. Specify endpoint and direction in world space.
Sphere 	void Sphere(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) 	Draws a wireframe sphere. Specify center in world space.
SweptBox 	void SweptBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Quaternion Quaternion_5, int int_6, int int_7, int int_8, int int_9, float float_10) 	Draws a swept box. Specify endpoint's in world space and the bounds in local space.
Text 	void Text(Vector Vector_1, int int_2, string string_3, float float_4, int int_5, int int_6, int int_7, int int_8, float float_9) 	Draws 2D text. Specify origin in world space.
Texture 	void Texture(string string_1, Vector2D Vector2D_2, Vector2D Vector2D_3, int int_4, int int_5, int int_6, int int_7, Vector2D Vector2D_8, Vector2D Vector2D_9, float float_10)	Draws a screen-space texture. Coordinates are in pixels.
Triangle 	void Triangle(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws a filled triangle. Specify vertices in world space.
UnitTestCycleOverlayRenderType	void UnitTestCycleOverlayRenderType() 	Toggles the overlay render type, for unit tests
VectorText3D 	void VectorText3D(Vector Vector_1, Quaternion Quaternion_2, string string_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws 3D text. Specify origin + orientation in world space.
VertArrow 	void VertArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) 	Draws a vertical arrow. Specify endpoint's in world space.
YawArrow 	void YawArrow(Vector Vector_1, float float_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) 	Draws a arrow associated with a specific yaw. Specify endpoint's in world space.
=== CSceneEntity ===
:::::extends CBaseEntity
Choreographed scene which controls animation and/or dialog on one or more actors.
==== Methods ====
Function 	Signature 	Description
AddBroadcastTeamTarget 	void AddBroadcastTeamTarget(int int_1) 	Adds a team (by index) to the broadcast list
Cancel 	void Cancel() 	Cancel scene playback
EstimateLength 	float EstimateLength() 	Returns length of this scene in seconds.
FindCamera 	handle FindCamera() 	Get the camera
FindNamedEntity 	handle FindNamedEntity(string string_1) 	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 string_1, string string_2)	given a dummy scene name and a vcd string, load the scene
RemoveBroadcastTeamTarget	void RemoveBroadcastTeamTarget(int int_1) 	Removes a team (by index) from the broadcast list
Start 	void Start(handle handle_1) 	Start scene playback, takes activatorEntity as param
=== CCustomGameEventManager ===
No Description Set
==== Methods ====
Global accessor variable: CustomGameEventManager
Function 	Signature 	Description
RegisterListener 	int RegisterListener(string string_1, handle handle_2) 	( string EventName, func CallbackFunction ) - Register a callback to be called when a particular custom event arrives. Returns a listener ID that can be used to unregister later.
Send_ServerToAllClients	void Send_ServerToAllClients(string string_1, handle handle_2) 	( string EventName, table EventData )
Send_ServerToPlayer 	void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3)	( Entity Player, string EventName, table EventData )
Send_ServerToTeam 	void Send_ServerToTeam(int int_1, string string_2, handle handle_3) 	( int TeamNumber, string EventName, table EventData )
UnregisterListener 	void UnregisterListener(int int_1) 	( int ListnerID ) - Unregister a specific listener
=== CCustomNetTableManager ===
Used to communicate with clientside Javascript used by Panorama. See Linking Lua with Javascript for usage.
Global accessor variable: CustomNetTables
==== Methods ====
Function 	Signature 	Description
GetTableValue	handle GetTableValue(string TableName, string KeyName) 	( string TableName, string KeyName )
SetTableValue	bool SetTableValue(string TableName, string KeyName, handle Value)	( string TableName, string KeyName, script_table Value )
=== CParticleSystem ===
=== CPointClientUIWorldPanel ===
Entity class for point clientui world panel
A 2D Panorama panel projected at a set position in the world.
==== Methods ====
Function 	Signature 	Description
AcceptUserInput 	void AcceptUserInput() 	Tells the panel to accept user input.
AddCSSClasses 	void AddCSSClasses(string classes) 	Adds CSS class(es) to the panel.
IgnoreUserInput 	void IgnoreUserInput() 	Tells the panel to ignore user input.
IsGrabbable 	void IsGrabbable() 	Returns whether this entity is grabbable.
RemoveCSSClasses	void RemoveCSSClasses(string classes)	Remove CSS class(es) from the panel.
=== CPointTemplate ===
Entity class for point template
==== Methods ====
Function 	Signature 	Description
DeleteCreatedSpawnGroups	void DeleteCreatedSpawnGroups() 	DeleteCreatedSpawnGroups() : Deletes any spawn groups that this point_template has spawned. Note: The point_template will not be deleted by this.
ForceSpawn 	void ForceSpawn() 	ForceSpawn() : Spawns all of the entities the point_template is pointing at.
GetSpawnedEntities 	handle GetSpawnedEntities() 	GetSpawnedEntities() : Get the list of the most recent spawned entities
SetSpawnCallback 	void SetSpawnCallback(handle hCallbackFunc, handle hCallbackScope)	SetSpawnCallback( hCallbackFunc, hCallbackScope, hCallbackData ) : Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.
=== CPointWorldText===
Entity class for point worldtext.
==== Methods ====
Function 	Signature 	Description
SetMessage	void SetMessage(string pMessage)	Set the message on this entity.
=== CPropHMDAvatar ===
Entity class for prop hmd avatar.
==== Methods ====
Function 	Signature 	Description
GetVRHand	CPropVRHand GetVRHand(int nHandID)	Get VR hand by ID (0 and 1).
=== CPropVRHand ===
Entity class for prop vr hand. Represents a VR motion controller. The controllers can be enumerated for each player using the CPropHMDAvatar::GetVRHand() method.
==== Methods ====
Function 	Signature 	Description
AddHandAttachment 	void AddHandAttachment(handle attachment) 	Add the attachment to this hand.
AddHandModelOverride 	void AddHandModelOverride(string modelName) 	Add a model override for this hand.
FindHandModelOverride 	handle FindHandModelOverride(string pModelName) 	Find a specific model override for this hand.
FireHapticPulse 	void FireHapticPulse(int strength) 	Fire a haptic pulse on this hand. Integer range [0, 1, 2] for strength.
FireHapticPulsePrecise 	void FireHapticPulsePrecise(int nPulseDuration) 	Fire a haptic pulse on this hand. Specify the duration in micro seconds.
GetHandAttachment 	handle GetHandAttachment() 	Get the attachment on this hand.
GetHandID 	int GetHandID() 	Get the players hand ID for this hand.
GetLiteralHandType 	int GetLiteralHandType() 	Get literal type for this hand.
GetPlayer 	CBasePlayer GetPlayer() 	Get the player for this hand.
GetVelocity 	Vector GetVelocity() 	Get the filtered controller velocity.
GetVRControllerTypeName 	string GetVRControllerTypeName() 	Returns the controller type name of the first found controller.
RemoveAllHandModelOverrides 	void RemoveAllHandModelOverrides() 	Remove all model overrides for this hand.
RemoveHandAttachmentByHandle	void RemoveHandAttachmentByHandle(handle hAttachment)	Remove hand attachment by handle.
RemoveHandModelOverride 	void RemoveHandModelOverride(string pModelName) 	Remove a model override for this hand.
SetHandAttachment 	void SetHandAttachment(handle hAttachment) 	Set the attachment for this hand.
=== CScriptParticleManager ===
Allows the creation and manipulation of particle systems.
Global accessor variable: ParticleManager
Function 	Signature 	Description
CreateParticle 	int CreateParticle(string particleName, int particleAttach, handle owningEntity) 	Creates a new particle effect. Returns the index of the created effect.
CreateParticleForPlayer 	int CreateParticleForPlayer(string particleName, int particleAttach, handle owningEntity, handle owningPlayer) 	Creates a new particle effect that only plays for the specified player. Returns the index of the created effect.
DestroyParticle 	void DestroyParticle(int particleID, bool immediately) 	Destroys particle.
GetParticleReplacement 	string GetParticleReplacement(string string_1, handle handle_2) 	No Description Set
ReleaseParticleIndex 	void ReleaseParticleIndex(int particleId) 	Frees the specified particle index
SetParticleAlwaysSimulate 	void SetParticleAlwaysSimulate(int int_1) 	No Description Set
SetParticleControl 	void SetParticleControl(int particleId, int controlIndex, Vector controlData) 	Set the control point data for a control on a particle effect
SetParticleControlEnt 	void SetParticleControlEnt(int particleId, int controlIndex, handle entity, ParticleAttachment_t attachType, string attachment, Vector origin, bool unknown)	Attaches the control point to an entity.
SetParticleControlForward 	void SetParticleControlForward(int FXIndex, int controlIndex, Vector forward) 	Set the forward direction for a control point on a particle effect.
SetParticleControlOffset 	void SetParticleControlOffset(int iIndex, int iPoint, Vector vecOffset) 	Set the linear offset for a control on a particle effect.
SetParticleControlOrientation 	void SetParticleControlOrientation(int FXIndex, int controlIndex, Vector forward, Vector right, Vector up) 	Set the orientation for a control point on a particle effect.
SetParticleControlOrientationFLU	void SetParticleControlOrientationFLU(int FXIndex, int controlIndex, Vector forward, Vector left, Vector up) 	Set the orientation for a control point on a particle effect.
=== CRigidParticleTrail===
Function 	Signature 	Description
AddPointGlobal	void AddPointGlobal(Vector vPos, float flRadius, Vector vColor)	
AddPointLocal 	void AddPointLocal(Vector vPos, float flRadius, Vector vColor) 	
=== CSteamToursBaseGameMode ===
Game mode entity.
Global object accessed via GameRules:GetGameModeEntity()
==== Methods ====
Function 	Signature 	Description
GetDetectorQuestCount 	int GetDetectorQuestCount(CBasePlayer player) 	Returns the number of active detector quests for the given player.
GetDetectorQuestID 	string GetDetectorQuestID(CBasePlayer player, int idx) 	Returns the detector quest's ID, if any, for the given player and index.
GetDetectorQuestLocation 	Vector GetDetectorQuestLocation(CBasePlayer player, int idx) 	Returns the detector quest location, if any, for the given player and index.
GetDetectorQuestNumItemsUnlocked 	int GetDetectorQuestNumItemsUnlocked(CBasePlayer player, string questID) 	Returns the number of items unlocked for the player and quest.
GetDetectorQuestUnlockedItemDefID	string GetDetectorQuestUnlockedItemDefID(CBasePlayer player, string questID, int idx)	Returns the item definition ID for the item that was unlocked for the given player and quest.
UnlockItem 	void UnlockItem(CBasePlayer player, string itemName) 	Unlocks an item from /scripts/contentdb.txt for the given player. Item names are set using the dev_name key.
=== CSteamToursGameRules ===
Game rule manager.
Global accessor variable: GameRules
==== Methods ====
Function 	Signature 	Description
GetGameModeEntity 	CSteamToursBaseGameMode GetGameModeEntity() 	Returns the game mode entity.
GetItemDefData 	table GetItemDefData(string itemID) 	Gets the item definition data for the specified item def ID.
SetPlayersCanSpawnAnyItems	void SetPlayersCanSpawnAnyItems(bool allowItems)	Allow control of whether players can spawn any items or not.
SetPlayersCanSpawnTools 	void SetPlayersCanSpawnTools(bool allowTools) 	Allow control of whether players can spawn tools or not.
=== CSteamTours_ItemTool_Base ===
Entity class for steamtours itemtool base. This is the hand attachment model spawned when holding a tool.
The color picker widget attaches to the color_picker attachment point on the tool model.
==== Methods ====
Function 	Signature 	Description
GetColorPickerChannel 	int GetColorPickerChannel() 	Returns the color picker's current channel index, or -1 if none.
GetColorPickerColor 	Vector GetColorPickerColor() 	Returns a Vector containing RGB (0..255)
GetColorPickerHSV 	Vector GetColorPickerHSV() 	Returns a Vector containing Hue (0..360) Saturation (0..1) Value (0..1)
GetColorPickerMode 	unsigned GetColorPickerMode() 	
HandleColorPickerInput	void HandleColorPickerInput(float x, float y)	Updates HSV/color and current channel.
GetColorPickerChannel 	bool IsColorPickerVisible() 	
SetColorPickerChannel 	void SetColorPickerChannel(int nChannel) 	Sets the color picker's current channel index. (use -1 if none)
SetColorPickerColor 	void SetColorPickerColor(Vector vColor) 	Takes a Vector containing RGB (0..255)
SetColorPickerHSV 	void SetColorPickerHSV(Vector vHSV) 	Takes a Vector containing Hue (0..360) Saturation (0..1) Value (0..1)
SetColorPickerMode 	void SetColorPickerMode(unsigned nMode) 	
SetColorPickerVisible 	void SetColorPickerVisible(bool bVisible) 	
=== SteamInfo ===
==== Methods ====
Function 	Signature 	Description
IsPublicUniverse	bool IsPublicUniverse()	Is the script connected to the public Steam universe.
=== CTakeDamageInfo ===
DamageInfo handle returned by CreateDamageInfo()
==== Methods ====
Function 	Signature 	Description
AddDamage 	void AddDamage(float addAmount) 	Adds to the damage value.
AddDamageType 	void AddDamageType(int bitsDamageType) 	Adds damage type bit flags.
AllowFriendlyFire 	bool AllowFriendlyFire() 	
BaseDamageIsValid 	bool BaseDamageIsValid() 	
CanBeBlocked 	bool CanBeBlocked() 	
GetAmmoType 	int GetAmmoType() 	
GetAttacker 	CBaseEntity GetAttacker() 	Returns the attacker entity.
GetBaseDamage 	float GetBaseDamage() 	
GetDamage 	float GetDamage() 	Returns the damage value.
GetDamageCustom 	int GetDamageCustom() 	
GetDamageForce 	Vector GetDamageForce() 	Returns the damage force.
GetDamagePosition 	int GetDamagePosition() 	Returns the damage position.
GetDamageTaken 	float GetDamageTaken() 	
GetDamageType 	int GetDamageType() 	Returns the damage type bitfield.
GetInflictor 	CBaseEntity GetInflictor() 	Returns the inflictor entity (usually the weapon).
GetMaxDamage 	float GetMaxDamage() 	
GetOriginalDamage 	float GetOriginalDamage() 	
GetRadius 	float GetRadius() 	
GetReportedPosition 	Vector GetReportedPosition() 	
GetStabilityDamage 	float GetStabilityDamage() 	
ScaleDamage 	void ScaleDamage(float scaleAmount) 	
SetAllowFriendlyFire	void SetAllowFriendlyFire(bool allow) 	
SetAmmoType 	void SetAmmoType(intammoType) 	
SetAttacker 	void SetAttacker(CBaseEntity attacker) 	
SetCanBeBlocked 	void SetCanBeBlocked(bool block) 	
SetDamage 	void SetDamage(float damage) 	Set new damage value.
SetDamageCustom 	void SetDamageCustom(int damageCustom) 	
SetDamageForce 	void SetDamageForce(Vector damageForce) 	Sets the damage force vector.
SetDamagePosition 	void SetDamagePosition(Vector damagePosition) 	Sets the global space damage position.
SetDamageTaken 	void SetDamageTaken(int damageTaken) 	
SetDamageType 	void SetDamageType(int bitsDamageType) 	Set the damage type bitfield.
SetMaxDamage 	void SetMaxDamage(float maxDamage) 	
SetOriginalDamage 	void SetOriginalDamage(float originalDamage) 	
SetRadius 	void SetRadius(float radius) 	
SetReportedPosition 	void SetReportedPosition(Vector reportedPosition)	
SetStabilityDamage 	void SetStabilityDamage(float stabilityDamage) 	
=== CVROverlayEntity ===
==== Methods ====
Function 	Signature 	Description
IsGrabbable	bool IsGrabbable()	Returns whether this entity is grabbable.
=== Convars ===
Allows access to read and modify console variables.
Global accessor variable: ConVars
==== Methods ====
Function 	Signature 	Description
GetBool 	table GetBool(string variableName) 	GetBool(name) : returns the convar as a boolean flag.
GetCommandClient	handle GetCommandClient() 	GetCommandClient() : returns the player who issued this console command.
GetFloat 	table GetFloat(string name) 	GetFloat(name) : returns the convar as a float. May return nil if no such convar.
GetInt 	table GetInt(string string_1) 	GetInt(name) : returns the convar as an int. May return nil if no such convar.
GetStr 	table GetStr(string variableName) 	GetStr(name) : returns the convar as a string. May return nil if no such convar.
RegisterCommand 	void RegisterCommand(string variableName, handle function, string helpText, int flags)	RegisterCommand(name, fn, helpString, flags) : register a console command.
RegisterConvar 	void RegisterConvar(string name, string defaultValue, string helpText, int flags) 	RegisterConvar(name, defaultValue, helpString, flags): register a new console variable.
SetBool 	void SetBool(string variableName, bool value) 	SetBool(name, val) : sets the value of the convar to the bool.
SetFloat 	void SetFloat(string variableName, float value) 	SetFloat(name, val) : sets the value of the convar to the float.
SetInt 	void SetInt(string string_1, int int_2) 	SetInt(name, val) : sets the value of the convar to the int.
SetStr 	void SetStr(string string_1, string string_2) 	SetStr(name, val) : sets the value of the convar to the string.
=== Decider ===
No Description Set
==== Methods ====
Function 	Signature 	Description
AddRule 	bool AddRule(CRule rule) 	Add a CRule object (defined in rulescript_base.nut)
FindAllMatches	handle FindAllMatches(handle query, float leeway)	Returns an array of all matching responses. If leeway is nonzero, all results scoring within 'leeway' of the best score return.
FindBestMatch 	handle FindBestMatch(handle query) 	Query the database and return the best result found. If multiple of equal score found, an arbitrary one returns.
=== GlobalSys ===
Used to read the command line parameters the game was started with.
Global accessor variable: GlobalSys
==== Methods ====
Function 	Signature 	Description
CommandLineCheck	bool CommandLineCheck(string name) 	Returns true if the command line param was used, otherwise false.
CommandLineFloat	float CommandLineFloat(string name)	Returns the command line param as a float.
CommandLineInt 	int CommandLineInt(string name) 	Returns the command line param as an int.
CommandLineStr 	string CommandLineStr(string name) 	Returns the command line param as a string.
=== Uint64 ===
Integer with binary operations. Used for motion controller button masks.
==== Methods ====
Function 	Signature 	Description
BitwiseAnd 	int BitwiseAnd(Uint64 operand)	Performs bitwise AND between two integers.
BitwiseOr 	int BitwiseOr(Uint64 operand) 	Performs bitwise OR between two integers.
BitwiseXor 	int BitwiseXor(Uint64 operand)	Performs bitwise XOR between two integers.
BitwiseNot 	int BitwiseNot(Uint64 operand)	Performs bitwise NOT between two integers.
ClearBit 	int ClearBit(int bitvalue) 	Clears the specified bit.
IsBitSet 	bool IsBitSet(int bitvalue) 	Checks if a bit is set.
SetBit 	int SetBit(int bitvalue) 	Sets the specified bit.
ToggleBit 	int ToggleBit(int bitvalue) 	Toggles the specified bit.
ToHexString	string ToHexString() 	Returns a hexadecimal string representation of the integer.
=== QAngle ===
Class for angles.
==== Methods ====
Function 	Signature 	Description
constructor	QAngle(float pitch, float yaw, float roll)	Creates a new QAngle.
__add 	QAngle __add(QAngle a, QAngle b) 	Overloaded +. Adds angles together.
__eq 	bool __eq(QAngle a, QAngle b) 	Overloaded ==. Tests for Equality
__tostring 	string __tostring() 	Overloaded .. Converts the QAngle to a human readable string.
Forward 	Vector Forward() 	Returns the forward vector.
Left 	Vector Left() 	Returns the left vector.
Up 	Vector Up() 	Returns the up vector.
==== Members ====
Variable	Description
x 	Pitch angle
y 	Yaw angle
z 	Roll angle
=== Quarternion ===
Class for quaterinions.
Global accessor variable: None available
=== Vector ===
3D vector class.
==== Methods ====
Function 	Signature 	Description
constructor	Vector(float x, float y, float z) 	Creates a new vector with the specified Cartesian coordinates.
__add 	Vector __add(Vector a, Vector b) 	Overloaded +. Adds vectors together.
__div 	Vector __div(Vector a, Vector b) 	Overloaded /. Divides vectors.
__eq 	bool __eq(Vector a, Vector b) 	Overloaded ==. Tests for Equality.
__len 	float __len() 	Overloaded # returns the length of the vector.
__mul 	Vector __mul(Vector a, Vector b) 	Overloaded * returns the vectors multiplied together. can also be used to multiply with scalars.
__sub 	Vector __sub(Vector a, Vector b) 	Overloaded -. Subtracts vectors
__tostring 	string __tostring() 	Overloaded .. Converts vectors to strings
__unm 	Vector __unm() 	Overloaded unary - operator. Reverses the vector.
Cross 	Vector Cross(Vector a, Vector b) 	Cross product of two vectors.
Dot 	float Dot(Vector a, Vector b) 	Dot product of two vectors.
Length 	float Length() 	Length of the Vector.
Length2D 	float Length2D() 	Length of the Vector in the XY plane.
Lerp 	Vector Lerp(Vector target, float t)	Linear interpolation between the vector and the passed in target over t = [0,1].
Normalized 	Vector Normalized() 	Returns the vector normalized.
==== Members ====
Variable	Description
x 	X-axis
y 	Y-axis
z 	Z-axis
== Enumerations ==
=== Activation types ===
Passed to the Activate() hook function.
Name 	Value	Description
ACTIVATE_TYPE_INITIAL_CREATION 	0 	When the function is called after entity creation.
ACTIVATE_TYPE_DATAUPDATE_CREATION	1 	
ACTIVATE_TYPE_ONRESTORE 	2 	When the function is called after the entity has been restored from a saved game.
=== Damage types ===
Name 	Value 	Description
DMG_GENERIC 	0 	
DMG_CRUSH 	1 	
DMG_BULLET 	2 	
DMG_SLASH 	4 	
DMG_BURN 	8 	
DMG_VEHICLE 	16 	
DMG_FALL 	32 	
DMG_BLAST 	64 	
DMG_CLUB 	128 	
DMG_SHOCK 	256 	
DMG_SONIC 	512 	
DMG_ENERGYBEAM 	1024 	
DMG_PREVENT_PHYSICS_FORCE	2048 	
DMG_NEVERGIB 	4096 	
DMG_ALWAYSGIB 	8192 	
DMG_DROWN 	16384 	
DMG_PARALYZE 	32768 	
DMG_NERVEGAS 	65536 	
DMG_POISON 	131072 	
DMG_RADIATION 	262144 	
DMG_DROWNRECOVER 	524288 	
DMG_ACID 	1048576 	
DMG_SLOWBURN 	2097152 	
DMG_REMOVENORAGDOLL 	4194304 	
DMG_PHYSGUN 	8388608 	
DMG_PLASMA 	16777216 	
DMG_AIRBOAT 	33554432 	
DMG_DISSOLVE 	67108864 	
DMG_BLAST_SURFACE 	134217728	
DMG_DIRECT 	268435456	
=== Controller types ===
Player VR controller types returned by CBasePlayer::GetVRControllerType()
Name 	Value	Description
VR_CONTROLLER_TYPE_UNKNOWN 		0 	
VR_CONTROLLER_TYPE_X360 		1 	
VR_CONTROLLER_TYPE_VIVE 		2 	
VR_CONTROLLER_TYPE_TOUCH 		3 	
VR_CONTROLLER_TYPE_RIFT_S 		4 	
 		5 	
VR_CONTROLLER_TYPE_KNUCKLES 		6 	
VR_CONTROLLER_TYPE_WINDOWSMR 		7 	
VR_CONTROLLER_TYPE_WINDOWSMR_SAMSUNG		8 	
VR_CONTROLLER_TYPE_GENERIC_TRACKED 		9 	
VR_CONTROLLER_TYPE_COSMOS 		10 	
=== Input digital actions ===
Corresponds to the SteamVR Input key binds. Used in CBasePlayer::IsActionActiveForHand()
Name 	Value	Description
DEFAULT_TOGGLE_MENU 		0 	
DEFAULT_LCLICK 		1 	
DEFAULT_RCLICK 		2 	
DEFAULT_USE 		3 	
DEFAULT_USE_GRIP 		4 	
DEFAULT_SHOW_INVENTORY		5 	
DEFAULT_PAD 		6 	
DEFAULT_PAD_TOUCH 		7 	
MOVE_TELEPORT 		8 	
MOVE_TURN_LEFT 		9 	
MOVE_TURN_RIGHT 		10 	
PROP_TOOL_MENU 		11 	
PROP_TOOL_USE 		12 	
PROP_TOOL_DROP 		13 	
PROP_TOOL_PAD 		14 	
PROP_TOOL_PAD_TOUCH 		15 	
PROP_TOOL_PAD_LEFT 		16 	
PROP_TOOL_PAD_RIGHT 		17 	
PROP_TOOL_PAD_UP 		18 	
PROP_TOOL_PAD_DOWN 		19 	
=== Motion controller buttons ===
Legacy input mappings used by some functions.
Name 	Value	Description
IN_USE_HAND0 		24 	When the trigger is pressed. Same for Oculus Touch.
IN_USE_HAND1 		25 	When the trigger is pressed. Same for Oculus Touch.
IN_PAD_LEFT_HAND0 		26 	When the pad is pressed on the left side.
IN_PAD_RIGHT_HAND0 		27 	When the pad is pressed on the right side.
IN_PAD_UP_HAND0 		28 	When the pad is pressed on the top.
IN_PAD_DOWN_HAND0 		29 	When the pad is pressed on the bottom.
IN_PAD_LEFT_HAND1 		30 	When the pad is pressed on the left side.
IN_PAD_RIGHT_HAND1 		31 	When the pad is pressed on the right side.
IN_PAD_UP_HAND1 		32 	When the pad is pressed on the top.
IN_PAD_DOWN_HAND1 		33 	When the pad is pressed on the bottom.
IN_MENU_HAND0 		34 	Menu button above the touchpad.
IN_MENU_HAND1 		35 	Menu button above the touchpad.
IN_GRIP_HAND0 		36 	Pressing the grip. Lightly pushing the grip for Oculus Touch.
IN_GRIP_HAND1 		37 	Pressing the grip. Lightly pushing the grip for Oculus Touch.
IN_GRIPANALOG_HAND0	 	
IN_GRIPANALOG_HAND1	 	
IN_PAD_HAND0 		38 	When the pad is pressed anywhere. Heavily pushing the grip for Oculus Touch.
IN_PAD_HAND1 		39 	When the pad is pressed anywhere. Heavily pushing the grip for Oculus Touch.
IN_PAD_TOUCH_HAND0 		40 	When the pad is touched anywhere. Pushing the thumbstick on Oculus Touch.
IN_PAD_TOUCH_HAND1 		41 	When the pad is touched anywhere. Pushing the thumbstick on Oculus Touch.
 		42 	Touching the thumbstick on Oculus Touch.
 		43 	Touching the thumbstick on Oculus Touch.
=== ParticleAttachment_t ===
Name 	Value	Description
PATTACH_INVALID 	-1 	
PATTACH_ABSORIGIN 	0 	Spawn on entity origin.
PATTACH_ABSORIGIN_FOLLOW 	1 	Follow the entity origin.
PATTACH_CUSTOMORIGIN 	2 	
PATTACH_CUSTOMORIGIN_FOLLOW	3 	
PATTACH_POINT 	4 	Spawn on entity attachment point.
PATTACH_POINT_FOLLOW 	5 	Follow entity attachment point.
PATTACH_EYES_FOLLOW 	6 	
PATTACH_OVERHEAD_FOLLOW 	7 	
PATTACH_WORLDORIGIN 	8 	Spawn on map origin.
PATTACH_ROOTBONE_FOLLOW 	9 	
PATTACH_RENDERORIGIN_FOLLOW	10 	
PATTACH_MAIN_VIEW 	11 	
PATTACH_WATERWAKE 	12 	
PATTACH_CENTER_FOLLOW 	13 	
PATTACH_CUSTOM_GAME_STATE_1	14 	
MAX_PATTACH_TYPES 	15 	
Category:SteamVR
Category:SteamVR Home
Category:Scripting