Zh/VScript: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
No edit summary
(Update from the EN Ver. / 同步更新)
 
(27 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title = VScript}}
|title=VScript
|noborder=true
|en=VScript
|ru=VScript:ru
}}


'''VScript''' is a virtual machine for scripting that acts as an abstract binding layer between the Source engine and external scripts. According to the [[Alien Swarm SDK]], the following scripting languages are, or could be supported in the near future:
本页面内容最后由[[User:115steam|115steam]]翻译,基于先前[[User:Yakumo_koishi|Ellent]]和[//steamcommunity.com/id/utagawashii/ Dazai Nerau]的版本参照英文原页面进行了更新. 欢迎任何人补充新内容或者修改其中的错误。
最后修改时间(截止至本次编辑):2025.2.24
----
__NOTOC__
'''VScript''',在{{l4d2|4}}中首次引入,在后来的更新中被移植回了{{tf2|4}}(包括 [[TF2 branch|此游戏衍生的分支]]),是一种用于脚本编程的虚拟机,它在{{source|4}}引擎和{{source2|4}}和外部脚本之间充当一个抽象的绑定层。根据{{astools|4.1}}我们可以推知,以下的脚本语言已经或者在不久的将来能够得到支持:


* [[Squirrel]]
* [http://en.wikipedia.org/wiki/Lua_%28programming_language%29 Lua]
* [http://en.wikipedia.org/wiki/GameMonkey_Script Gamemonkey]
* [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python]


Script files are placed and executed in <code>scripts/vscripts/</code> inside the game folder.
* [[Squirrel]] {{todo|参考翻译:松鼠脚本}}
* [[Wikipedia:Lua (programming language)|Lua]]
* [[Wikipedia:GameMonkey Script|Gamemonkey]]
* [[Wikipedia:Python (programming language)|Python]]


==Implementations==
脚本文件放置于游戏目录内的 <code>scripts/vscripts/</code> 文件夹中。


===[[Squirrel]]===
要了解如何使用 VScript,请参阅: {{L|VScript Fundamentals|VScript 基本原理}}{{zh-cn}} 。
;{{game link|Left 4 Dead 2}}
:[[L4D2 Vscripts|Scripting]]
:[[L4D2_Director_Scripts|Director Scripts]]
:[[L4D2 Vscript Examples|Script Examples]]
:[[List of L4D2 Script Functions|List of Script Functions]]


;{{game link|Nuclear Dawn}}
:[[List of ND Script Functions|List of Script Functions]]
;{{game link|Alien Swarm}}


;{{game link|Portal 2}}
==实现==
:[[List of Portal 2 Script Functions|List of Script Functions]]
{|
|- style=vertical-align:top
|style=padding-right:2em|
==={{L|Squirrel}} {{sq}}===


;{{game link|Counter-Strike: Global Offensive}}
{{src13mp|4|nt=sdkshort|addtext={{nbsp}}(2025)}} ({{tf2}} {{css}} {{dods}} {{hl2dm}} {{hldms}})
:[[List_of_Counter-Strike:_Global_Offensive_Script_Functions|List of Script Functions]]
:所有这些游戏均运行于 {{tf2}} 引擎分支,继承了非游戏专属功能,但未添加额外游戏专属功能。
:[[CSGO_Vscript_Examples|Script Examples]]
:[[Source SDK Base 2013/Scripting/VScript Examples|脚本范例]]


;{{game link|Contagion}}
{{tf2|4}}
:[[List of Contagion Script Functions|List of Script Functions]]
::[[Team Fortress 2/Scripting/Script Functions|脚本API列表]]
::[[Team Fortress 2/Scripting/VScript Examples|脚本范例]]
::[[Counter-Strike: Source/Scripting/Game Events|游戏事件示例]]


;{{game link|Alien Swarm: Reactive Drop}}
:{{css|4}}
:[[List of Reactive Drop Script Functions|List of Script Functions]]
::[[Counter-Strike: Source/Scripting/VScript Examples|脚本范例]]
::[[Counter-Strike: Source/Scripting/Game Events|游戏事件示例]]


;{{game link|Titanfall}}
:{{dods|4}}
::[[Day of Defeat: Source/Scripting/Game Events|游戏事件示例]]


===Lua===
:{{hl2dm|4}}
;{{game link|Portal 2}} (Client/UI only)
::[[Half-Life 2: Deathmatch/Scripting/Game Events|游戏事件示例]]


;{{game link|Dota 2}}
{{l4d2|4}}
:[[Dota_2_Workshop_Tools/Scripting|Scripting]]
:{{L|L4D2 Vscripts|脚本介绍}}{{zh-cn}}
:[[Dota_2_Workshop_Tools/Scripting/API|Scripting API]]
:{{L|L4D2_Director_Scripts|导演脚本}}{{zh-cn}}
:{{L|L4D2 Vscript Examples|脚本范例}}
:{{L|Left 4 Dead 2/Script Functions|脚本API列表}}


;[[Destinations]]
{{as|4}}
:[[Destinations/Scripting|Scripting]]
:[[Destinations/Scripting/API|Scripting API]]


;General Source 2
{{portal2|4}}
:[[Source 2 Animation System VScript API]]
:{{L|List of Portal 2 Script Functions|脚本API列表}}
 
{{P2ce|4}}
:Vscript相关文档位于其专用页面 [https://wiki.stratasource.org/p2ce/vscript/overview Vscript API Reference]
{{sfm|4}}
:{{tf2}} 的仅存在于 TF2 的 SFM 版本中。没有 TF2 或 SFM 特定的 API。不可用。
 
{{csgo|4}}
:{{L|List of CS:GO Script Functions|脚本API列表}}
:{{L|Listening to game events in CS:GO|侦听游戏事件}}
:{{L|CS:GO VScript Examples|脚本范例}}
 
{{con|4}}
:{{L|List of Contagion Script Functions|脚本API列表}}
 
{{nd|4}}
:{{L|List of ND Script Functions|脚本API列表}}
 
{{Titanfall|4}}
 
{{asrd|4}}
:{{L|List of Reactive Drop Script Functions|脚本API列表}}
 
{{mapbase|4}} (自定义版本)
<!--
    之所以说是“自定义版本”,这是因为Mapbase的实现方法和其他游戏截然不同,其本身是在常规客户端/服务端基础上实现,而非使用专门的引擎组件
    因此,Mapbase的Vscript和其他游戏有着一定差异,例如无法使用其中的调试工具
-->
:[[Mapbase/Scripting|脚本编写]]
:[[Mapbase/Scripting/Script_Functions|脚本API列表]]
 
{{jbep3|4}}
:[[List of Jabroni Brawl: Episode 3 Script Functions|脚本API列表]]
|style=padding-right:2em|
===Lua {{lua}}===
{{portal2|4}} '''(仅限于客户端/用户界面)'''
 
{{dota2|4}}
:{{L|Dota_2_Workshop_Tools/Scripting|脚本介绍}}
:{{L|Dota_2_Workshop_Tools/Scripting/API|脚本 API}}
 
{{gmod|4}}
:[https://wiki.facepunch.com/gmod/Beginner_Tutorial_Intro 官方教程]
 
{{svrh|4}}
:{{L|SteamVR/Environments/Scripting|脚本介绍}}
:{{L|SteamVR/Environments/Scripting/API|脚本 API}}
:{{L|SteamVR/Environments/Scripting/Custom Tool Creation|脚本化工具创建}}
:{{L|SteamVR/Environments/Scripting/Flashlight Tool Tutorial|脚本化闪光灯工具教程}}
 
{{hla|4}}
:{{L|Half-Life:_Alyx_Workshop_Tools/Lua_Scripting|脚本介绍}}
:{{L|Half-Life_Alyx_Scripting_API|脚本 API}}
 
;General {{source2|4}}
:{{L|Source 2 Animation System VScript API}}
{{jbep3|4}}
:[[List of Jabroni Brawl: Episode 3 Script Functions|脚本API列表]]
|


===Python===
===Python===
;{{game link|Source Filmmaker}}
;{{Tf2|4}}
:[[SFM/Scripting_with_Python|Scripting/Rigging]]
 
==Scripting Fundamentals==
''Main article [[Vscript_Fundamentals| Vscript Fundamentals]]''


;{{sfm|4}}
:{{L|SFM/Scripting_with_Python|脚本/操控}}
|}


==See also==
==推荐阅读==
*[[Entity_Scripts|Entity Scripts]]
*{{L|Entity_Scripts|实体脚本}}{{zh-cn}}
*[[Logic_script|logic_script]]
*{{L|Logic_script|logic_script}}
*{{ent|script}}, {{ent|script_execute}} (控制台命令)


[[Category:Technical]]
{{ACategory|VScript}}
[[Category:Scripting]]
{{ACategory|Technical}}
{{ACategory|Scripting}}

Latest revision as of 22:11, 23 February 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

本页面内容最后由115steam翻译,基于先前EllentDazai Nerau的版本参照英文原页面进行了更新. 欢迎任何人补充新内容或者修改其中的错误。 最后修改时间(截止至本次编辑):2025.2.24


VScript,在求生之路2 求生之路2中首次引入,在后来的更新中被移植回了军团要塞2 军团要塞2(包括 此游戏衍生的分支),是一种用于脚本编程的虚拟机,它在起源 起源引擎和起源2 起源2和外部脚本之间充当一个抽象的绑定层。根据Alien Swarm - SDK Alien Swarm - SDK我们可以推知,以下的脚本语言已经或者在不久的将来能够得到支持:


脚本文件放置于游戏目录内的 scripts/vscripts/ 文件夹中。

要了解如何使用 VScript,请参阅: VScript 基本原理(en)简体中文


实现

Squirrel(en) Squirrel

起源2013 多人分支 SDK Base 2013 - MP (2025) (军团要塞2 反恐精英:起源 胜利之日:起源 半衰期2:死亡竞赛 半衰期死亡竞赛:起源)

所有这些游戏均运行于 军团要塞2 引擎分支,继承了非游戏专属功能,但未添加额外游戏专属功能。
脚本范例

军团要塞2 军团要塞2

脚本API列表
脚本范例
游戏事件示例
反恐精英:起源 反恐精英:起源
脚本范例
游戏事件示例
胜利之日:起源 胜利之日:起源
游戏事件示例
半衰期2:死亡竞赛 半衰期2:死亡竞赛
游戏事件示例

求生之路2 求生之路2

脚本介绍(en)简体中文
导演脚本(en)简体中文
脚本范例(en)
脚本API列表(en)

异形丛生 异形丛生

传送门2 传送门2

脚本API列表(en)

传送门 2:社区特供版 传送门 2:社区特供版

Vscript相关文档位于其专用页面 Vscript API Reference

起源电影制作器 起源电影制作器

军团要塞2 的仅存在于 TF2 的 SFM 版本中。没有 TF2 或 SFM 特定的 API。不可用。

反恐精英:全球攻势 反恐精英:全球攻势

脚本API列表(en)
侦听游戏事件(en)
脚本范例(en)

Contagion Contagion

脚本API列表(en)

Nuclear Dawn Nuclear Dawn

脚本API列表(en)

Titanfall Titanfall

Alien Swarm: Reactive Drop Alien Swarm: Reactive Drop

脚本API列表(en)

Mapbase Mapbase (自定义版本)

脚本编写
脚本API列表

Jabroni Brawl: Episode 3 Jabroni Brawl: Episode 3

脚本API列表

Lua Lua

传送门2 传送门2 (仅限于客户端/用户界面)

Dota 2 Dota 2

脚本介绍(en)
脚本 API(en)

Garry's Mod Garry's Mod

官方教程

SteamVR Home SteamVR Home

脚本介绍(en)
脚本 API(en)
脚本化工具创建(en)
脚本化闪光灯工具教程(en)

半衰期:爱莉克斯 半衰期:爱莉克斯

脚本介绍(en)
脚本 API(en)
General 起源2 起源2
Source 2 Animation System VScript API(en)

Jabroni Brawl: Episode 3 Jabroni Brawl: Episode 3

脚本API列表

Python

军团要塞2 军团要塞2
起源电影制作器 起源电影制作器
脚本/操控(en)

推荐阅读