VScript: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (Added links for Mapbase implementation)  | 
				SirYodaJedi (talk | contribs)   | 
				||
| (82 intermediate revisions by 27 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{LanguageBar}}  | ||
__NOTOC__  | |||
'''VScript''', introduced since {{l4d2|4}} and later backported to {{tf2|4}} (and [[TF2 branch|other games on its branch]]), is a virtual machine for scripting that acts as an abstract binding layer between the {{source|4}} and {{source2|4}} engine and external scripts. According to the {{astools|4.1}}, the following scripting languages are supported or could be in the near future:  | |||
}}  | |||
'''VScript''', introduced   | |||
* [[Squirrel]]  | * [[Squirrel]]  | ||
* [  | * [[Wikipedia:Lua (programming language)|Lua]]  | ||
* [  | * [[Wikipedia:GameMonkey Script|Gamemonkey]]  | ||
* [  | * [[Wikipedia:Python (programming language)|Python]]  | ||
== Implementations ==  | |||
{|  | |||
|- style="vertical-align:top"  | |||
| style="padding-right:2em" |  | |||
===[[Squirrel]] {{sq}}===  | |||
==  | {{srcsdk13mp|4|nt=short|addtext={{nbsp}}(2025)}} ({{tf2}} {{css}} {{dods}} {{hl2dm}} {{hldms}}) / {{tf2branch|3}}  | ||
:All of these games runs on same branch as {{tf2}}. Any non-game specific functionality is inherited, but no additional game-specific functionality is added.  | |||
:[[Source 2013 MP/Scripting/VScript Examples|Script Examples]]  | |||
:[[Source 2013 MP/Scripting/Game Events|Game Events]]  | |||
:{{tf2|4}}  | |||
::[[Team Fortress 2/Scripting/Script Functions|List of Script Functions]]  | |||
::[[Team Fortress 2/Scripting/VScript Examples|Script Examples]]  | |||
::[[Team Fortress 2/Scripting/Game Events|Game Events]]  | |||
:{{css|4}}  | |||
::[[Counter-Strike: Source/Scripting/VScript Examples|Script Examples]]  | |||
::[[Counter-Strike: Source/Scripting/Game Events|Game Events]]  | |||
:{{dods|4}}  | |||
::[[Day of Defeat: Source/Scripting/Game Events|Game Events]]  | |||
:{{hl2dm|4}}  | |||
::[[Half-Life 2: Deathmatch/Scripting/Game Events|Game Events]]  | |||
:{{hldms|4}}  | |||
::[[Half-Life Deathmatch: Source/Scripting/Game Events|Game Events]]  | |||
{{l4d2|4}}  | |||
:[[L4D2 Vscripts|Scripting]]  | :[[L4D2 Vscripts|Scripting]]  | ||
:[[L4D2_Director_Scripts|Director Scripts]]  | :[[L4D2_Director_Scripts|Director Scripts]]  | ||
:[[L4D2 Vscript Examples|Script Examples]]  | :[[L4D2 Vscript Examples|Script Examples]]  | ||
:[[  | :[[Left 4 Dead 2/Script Functions|List of Script Functions]]  | ||
{{as|4}}  | |||
:[[Alien Swarm/Scripting/Script Functions|List of Script Functions]]  | |||
{{portal2|4}}  | |||
:[[List of Portal 2 Script Functions|List of Script Functions]]  | :[[List of Portal 2 Script Functions|List of Script Functions]]  | ||
{{Strata|4}}  | |||
:{{  | :{{p2ce|4}}  | ||
::VScript documentation is covered on its wiki: [https://wiki.stratasource.org/vscript/reference/Globals VScript API Reference]  | |||
{{sfm|4}}  | |||
:[[  | :{{tf2}} Only exists on the SFM build of TF2. No TF2 or SFM-specific API. Unused.  | ||
{{csgo|4}}  | |||
:[[List of CS:GO Script Functions|List of Script Functions]]  | |||
:[[Listening to game events in CS:GO|Listening to game events]]  | :[[Listening to game events in CS:GO|Listening to game events]]  | ||
:[[  | :[[CS:GO VScript Examples|VScript Examples]]  | ||
{{con|4}}  | |||
:[[List of Contagion Script Functions|List of Script Functions]]  | :[[List of Contagion Script Functions|List of Script Functions]]  | ||
{{nd|4}}  | |||
:[[List of ND Script Functions|List of Script Functions]]  | :[[List of ND Script Functions|List of Script Functions]]  | ||
{{titanfall|4}}  | |||
:[[Titanfall/Scripting/Server Script Functions|List of Server Script Functions]]  | |||
:[[Titanfall/Scripting/Client Script Functions|List of Client Script Functions]]  | |||
:[[Titanfall/Scripting/UI Script Functions|List of UI Script Functions]]  | |||
{{Titanfall2|4}}  | |||
:[[Titanfall 2/Scripting/Server Script Functions|List of Server Script Functions]]  | |||
{{apex|4}}  | |||
{{asrd|4}}  | |||
:[[List of Reactive Drop Script Functions|List of Script Functions]]  | :[[List of Reactive Drop Script Functions|List of Script Functions]]  | ||
{{mapbase|4}} (Custom implementation)  | |||
:[  | :[[Mapbase/Scripting|Scripting]]  | ||
:[  | :[[Mapbase/Scripting/Script_Functions|Script Functions]]  | ||
{{jbep3|4}}  | |||
:[[List of Jabroni Brawl: Episode 3 Script Functions|List of Script Functions]]  | |||
{{ddd|4}}  | |||
:[[Dino D-Day/Scripting/Script Functions|List of Script Functions]]  | |||
{{Rl|4}}  | |||
:[[Revelations 2012/Scripting/Script Functions|List of Script Functions]]  | |||
|style=padding-right:2em|  | |||
===Lua  | ===Lua {{lua}}===  | ||
<!-- GMOD uses GLua which is not the same as VScript, don't add it here. -->  | |||
{{dota2|4}}  | |||
:[[Dota_2_Workshop_Tools/Scripting|Scripting]]  | :[[Dota_2_Workshop_Tools/Scripting|Scripting]]  | ||
:[[Dota_2_Workshop_Tools/Scripting/API|Scripting API]]  | :[[Dota_2_Workshop_Tools/Scripting/API|Scripting API]]  | ||
{{svrh|4}}  | |||
:[[SteamVR/Environments/Scripting|Scripting]]  | :[[SteamVR/Environments/Scripting|Scripting]]  | ||
:[[SteamVR/Environments/Scripting/API|Scripting API]]  | :[[SteamVR/Environments/Scripting/API|Scripting API]]  | ||
| Line 62: | Line 104: | ||
:[[SteamVR/Environments/Scripting/Flashlight Tool Tutorial|Scripted Flashlight Tool Tutorial]]  | :[[SteamVR/Environments/Scripting/Flashlight Tool Tutorial|Scripted Flashlight Tool Tutorial]]  | ||
{{hla|4}}  | |||
:[[Half-  | :[[Half-Life:_Alyx_Workshop_Tools/Lua_Scripting|Scripting]]  | ||
:[[Half-Life:_Alyx_Workshop_Tools/Scripting_API|Scripting API]]  | |||
;General   | ;General {{source2|4}}  | ||
:[[Source 2 Animation System VScript API]]  | :[[Source 2 Animation System VScript API]]  | ||
{{jbep3|4}}  | |||
:[[List of Jabroni Brawl: Episode 3 Script Functions|List of Script Functions]]  | |||
|  | |||
===Python {{python}}===  | |||
;{{Tf2|4}}  | |||
;{{sfm|4}}  | |||
;{{  | |||
:[[SFM/Scripting_with_Python|Scripting/Rigging]]  | :[[SFM/Scripting_with_Python|Scripting/Rigging]]  | ||
|}  | |||
==  | == See also ==  | ||
* [[VScript Fundamentals]]  | |||
*[[List of Script Libraries]]  | |||
*[[Entity Scripts]]  | |||
*{{ent|logic_script}} (entity)  | |||
*{{ent|script}}, {{ent|script_execute}} (console command)  | |||
==  | == External Links ==  | ||
*[  | * [https://vscripts.lavashik.dev An interactive VScript Book for Beginners]  | ||
[[Category:VScript]]  | |||
[[Category:Technical]]  | [[Category:Technical]]  | ||
[[Category:Scripting]]  | [[Category:Scripting]]  | ||
Latest revision as of 05:22, 31 October 2025
VScript, introduced since 
 Left 4 Dead 2 and later backported to 
 Team Fortress 2 (and other games on its branch), is a virtual machine for scripting that acts as an abstract binding layer between the 
 Source and 
 Source 2 engine and external scripts. According to the 
 Alien Swarm - SDK, the following scripting languages are supported or could be in the near future:
Implementations
Squirrel 
 | 
Lua 
 | 
Python 
 | 
See also
- VScript Fundamentals
 - List of Script Libraries
 - Entity Scripts
 - logic_script (entity)
 - script, script_execute (console command)