Difference between revisions of "Scripting/zh-hans"

From Team Fortress Wiki
Jump to: navigation, search
(值得注意的脚本)
m (Auto: fixExternalToInternalLinks (Review RC#2912869))
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:脚本}}
 
{{DISPLAYTITLE:脚本}}
{{trans}}
+
'''脚本'''编写是通过利用配置文件(configuration files,文件扩展名{{code|.cfg}}) 对按键绑定进行改动与新增,将一系列复杂的行为以及控制台指令统筹到一个指定的别名下的行为。与作弊不同,脚本实质是在利用《军团要塞2》这款游戏的内置功能,并不会被Valve反作弊系统侦测到。脚本的利用十分广泛,小到将一条指令绑定到一个按键上,大到一条涉及自我指涉循环与互相嵌套重定义的指定别名的指令。如果一项功能能够靠脚本的创建来实现,那么它必然也能在无脚本参与的情况下完成,而脚本的意义就在于在紧张的实战中能够更为便捷地实现这些功能。
脚本,是使用配置文件来把[[console/zh-hans|控制台]]的指令码绑定到键位或把数个指令绑定成一个新的别名
 
  
脚本所涵盖的范围可以从绑定键位到使用别名来自动重复指令。甚至可以使用脚本来创建千变万化的行为。
+
== 脚本指令 ==
 +
以下是除了脚本编写外没有实际用处的的命令列表; 它们不会直接影响实际游玩。
  
==脚本的文件==
+
=== 绑定(Bind)===
 +
最简单的命令是绑定命令。它会使得按下某个键便能执行一项动作,无论该动作是设置,命令还是脚本。
  
军团要塞2会自动读取以下几个游戏文件来实行脚本:
+
<pre>bind [KEY] [COMMAND]</pre>
 +
可以选择在按键和/或命令的两边加上引号。 但是,当值和命令之间有空格时,命令必须带有引号,以便控制台可以将其解释为一个命令。 示例:bind mouse1 "say texthere"(将某一段文本绑定到鼠标左键上),由于两个短语之间存在距离,"say texthere"两端需要加上引号。
  
* config.cfg - 这是默认的配置文件,当你在选项里面做出更改时,便会将设定储存在此文件。编辑此文件没有风险,但在启动游戏时会影响到修改过的按键配置。每次启动游戏时会在其他设置读取之前优先读取。
+
<pre>bind [KEY] "[COMMAND 1];[COMMAND 2];[COMMAND 3]"</pre>
** config_default.cfg - 这份文件包含了一组基本的按键配置,如果config.cfg不存在时就会被执行作为备份。
+
在按键部分两端添加引号不是必须的,但是在命令的两端则必须加上,因为如果引号不存在,控制台将无法解释连续的命令。
* autoexec.cfg - 这是储存玩家设定的配置文件,你可以把脚本或指令储存在此文件。当config.cfg和autoexec.cfg都有相同的指令时,游戏会以autoexec.cfg为准
 
  
* <class>.cfg - 每个兵种都有一个配置文件,你可以将绑定键位的指令储存在这些文件。当你选择了相应的兵种后,相应文件的指令便会执行。需要注意的是,若在文件中使用了开关类型的指令时作用会被保留,直到执行反向指令为止。
+
''注意:'' 下面这条指令 <pre>say "Example Text"</pre> 是正确的, 但是下面这条 <pre>bind <KEY> "say "Example Text""</pre> 则不是。这是因为后者中的引号将导致指令无法被解释,而且引号内的引号是不必要的,因为命令会在每个分号处自动停止。
  
==编辑脚本文件==
+
绑定有两种形式:
若在 Windows 系统,脚本文件能在下列文件夹找到:<br/>
+
<pre>bind e "voicemenu 0 0"</pre>
<code><Steam Folder>/SteamApps/common/team fortress 2/tf/cfg</code><br/>
+
这项绑定将允许玩家通过按下{{key|E}}键来呼叫医生。
若在 Mac 系统,脚本文件能在下列文件夹找到:<br/>
 
<code>~/Library/Application Support/Steam/SteamApps/common/team fortress 2/tf/cfg</code><br/>
 
若在 Linux 系统,脚本文件能在下列文件夹找到:<br />
 
<code>~/.local/share/Steam/SteamApps/common/Team\ Fortress\ 2/tf/cfg</code><br />
 
Since the SteamPipe update, code can also be placed in
 
<code>.../team fortress 2/tf/custom/yourfoldernamehere/cfg</code>
 
  
==命令==
+
<pre>bind w +forward</pre>
下面是一个命令列表,它没有使用脚本,它们不直接影响游戏的玩法。
+
这项绑定将允许玩家通过按住{{key|W}}键来往前走动。
这是一个命令的规则:
 
  
* 无论是绑定或别名,你都要按照以下格式来编写:
+
=== 切换(Toggle) ===
 +
这项指令将允许一项设置在两个或更多个值之间进行切换。
  
:'''命令 <argument1> <argument2>'''
+
<pre>toggle sv_cheats 0 1</pre>
  
:* 目前有三种命令可供选择:
+
=== 绑定切换(Bindtoggle) ===
 +
功能和绑定相同,只是绑定到一个按键上。
  
::* bind - 用于将指令绑定到键位
+
<pre>bindtoggle o sv_cheats 0 1</pre>
::* alias - 可以将多个指令绑定成别名来一次性执行
+
注意:若无预设值,绑定和绑定切换会使用默认值0与1。
::* exec - 可以让客户端加载其他配置文件
 
  
:* <argument1> 可以是键位的名称或创建别名的名称
+
=== 增量变量(Incrementvar) ===
 +
允许变量以预设值多次地增加或减少。
  
:* <argument2> 可以是被绑定的指令或别名的指令
+
<pre>bind MWHEELUP "incrementvar fov_desired 75 90 1"
 +
bind MWHEELDOWN "incrementvar fov_desired 75 90 -1"</pre>
  
*要一次执行多条指令,你必须将所以指令用引号括住,例如:
+
上面这组指令可使滚轮上滚时抬升[[field of view/zh-hans|视场角]],在滚轮下滚时降低视场角。
 +
''注意:'' 值增加到上限或是减少到下限时,该值都会出现回绕。 在上面这组示例中,一旦视场角超出最大值90,它将降到最小值75,反之亦然。
  
:'''alias "spraynpray" "+attack; wait 500; -attack"'''
+
=== 别名(Alias) ===
:'''bind "mouse3" "spraynpray"
+
将多个指令指定到一个别名下可以只用一个指令就将它们全部统筹起来。当一系列指令需要被反复使用时,别名指定是最为有用的高效速记法。
  
:*按mouse3后,开始执行别名spraynpray,然后别名spraynpray会让你的武器进行攻击,接着等待500帧,最后停止射击。
+
''注意:'' 别名名称不能包含空格,但可包含下划线,数字和符号。别名名称区分大小写。
  
===绑定(bind)===
+
<pre>alias Call_For_Medic "Voicemenu 0 0"
最简单的命令是 bind 指令,能够影响按键执行的动作,该动作可以是个设定、指令或脚本。
+
bind "e" "Call_For_Medic"</pre>
 +
上面这项脚本示例与单纯地将呼叫医生的指令绑定在{{key|E}}键上的效果相同。
  
<code>bind [KEY] [COMMAND]</code><br />
+
''注意:'' 在别名前添加+号(正向指令)并按下相应绑定键执行后,其后的-号别名(负向指令)会随后被执行。 下例:
可以加上双引号在按键名称或指令的左右。<br />
 
  
<code>bind [KEY] "[COMMAND 1]; [COMMAND 2]; [COMMAND 3]"</code><br />
+
<pre>alias "+Diagonal" "+moveleft; +back"
可以加上双引号在按键名,但一定要用双引号包住多项指令。
+
alias "-Diagonal" "-moveleft; -back"
 +
bind "z" "+Diagonal"</pre>
 +
在上面的脚本中,+Diagonal别名指定给了其后的+moveleft与+back,分别表示(按下相应绑定键后)向左移动和向后移动;而下一行的-Diagonal别名则指定给了-moveleft与-back,分别表示(松开相应绑定键后)停止向左移动和停止向后移动。那么这样一来,按下 {{key|Z}} 键就会使得玩家以对角线方向向左后方移动。
  
 +
而要注意的是,下面的写法就是一个错误的示例。
 +
<pre>bind "z" "+moveleft; +back"</pre>
 +
虽然说用上面这条脚本按下{{key|Z}}键还是有朝左后方移动的效果的,但是这样一来系统将无法执行-号别名,也就是说一旦按下{{key|Z}}键,玩家将一直向左后方移动,无法在松开按键时停下来。
  
绑定有两种形式:<br />
+
===执行(Exec)===
<code>bind "e" "Voicemenu 0 0"</code><br />
+
使用该指令可以指定执行某一特定的配置文件。这意味着一个特殊而复杂的脚本可以专门写在一个通用配置文件之外的新配置文件里,从而在安装和编辑方面免除干扰其他脚本的麻烦。
此綁定是當玩家按下 {{key|E}} 鍵後會觸發“Medic!”的語音指令。
+
 
 +
<pre>exec autoexec.cfg</pre>
 +
上面这个脚本就是在指定执行autoexec.cfg文件。
 +
 
 +
=== 回显(Echo) ===
 +
回显指令的作用是用“Echo 信息内容”的格式来输出提示信息。如下例:
 +
 
 +
<pre>echo Scripting is; echo very useful</pre>
 +
输出结果就是 <code>Scripting is</code> (脚本)和 <code>very useful</code> (很有用),这一句话的两部分将以''分立的两行''输出并显示出来。单词之间的空格和双引号内的空格都将被回显, 如下例:
 +
 
 +
<pre>echo " Scripting is very useful.  "</pre>
 +
在Scripting is very useful.这句话的后面跟了3个空格字符,它们也会被显示出来。
 +
''注意:'' 双引号无法被系统识别为文本的一部分,因此无法显示。但是单引号可以。
 +
 
 +
===等待(Wait) ===
 +
等待指令可被用来阻塞当前进程的执行,直至指定的子进程执行结束后,才继续执行。使用等待指令可以在脚本在多进程执行模式下,起到一些特殊控制的作用。等待指令可以被赋予特定时间来决定等待的持续时长,而赋予的进程号代表的是刻(tick),因此,实际等待时间与服务器的刷新率(tickrate)有关。如果wait后面不带任何的进程号,那么等待指令会阻塞当前进程的执行,直至当前进程的所有子进程都执行结束后,才继续执行。
  
<code>bind "w" "+forward"</code><br />
+
:'''警告: 等待指令在部分服务器被禁用。这会导致某些脚本失效,并且(在极少数的情况下)让游戏崩溃。'''
此绑定是当玩家按住不放 {{key|W}} 键后能够让玩家前进。
 
  
===切换(Toggle)===
+
<pre>echo Why did the chicken cross the road?;wait 66;echo To get to the other side!</pre>
这项脚本可以设置两个或两个以上值的指令进行切换。
+
上面这条脚本会把Why did the chicken cross the road?(为什么小鸡们在过马路?)这句话回显完毕后,先等待66刻,再显示它的答句To get to the other side!(为了到另一边去!)
<code>toggle "sv_cheats" 0 1</code>
 
  
===绑定切换(Bindtoggle)===
+
== 启动选项 ==
功能和 toggle 相同,只是绑定到一个按键上。
+
为了改善或改变游戏体验,可以使用以下启动选项。 要使用它们,请在Steam库中右键单击Team Fortress 2,然后选择“属性”。 然后,在“通用”选项卡的“启动选项”框内键入所需的指令(请注意,所有启动选项在指令之前均包含“-”,请记住须将其包括在内):
<code>bindtoggle o "sv_cheats" 0 1</code>
 
  
注意:若无设定数值,toggle 和 bindtoggle 则会默认数值为 0 与 1 。
+
=== 分辨率 ===
 +
启动选项: -w # -h #
  
===递增值(Incrementvar)===
+
描述:分别决定了游戏分辨率的宽度与高度。
可以设置一个数值以反复执行增加或减少值。
 
  
<code>bind MWHEELUP "incrementvar fov_desired 75 90 1"<br />
+
=== 高优先级别 ===
bind MWHEELDOWN "incrementvar fov_desired 75 90 -1"</code><br />
+
启动选项: -high
此示例能让玩家向上滚动鼠标滚轮时增加[[field of view/zh-hans|视野]],向下滚动则减少。<br />
 
''注:'' Incrementvar 指令如果让数值超出或变得过小时会重复循环。在此示例中,如果视野超过 90 则会下降到 75 ,反之亦然
 
  
===别名(Alias)===
+
描述:令CPU提高TF2任务进程的优先级别。
Alias 可以将多项指令以一个名称代替,成为一个有效用的简写名称。当一系列的指令需要被重复执行时会非常有用。<br />
 
''注:'' Alias 名称不能包含空格。可以包含下底线、数字或符号。 Alias 会区分大小写。<br />
 
  
<code>alias Call_For_Medic "Voicemenu 0 0"<br />
+
[[File:Warning red.png|25px]] 警告:使用高优先级模式会极大消耗CPU性能。
bind "e" "Call_For_Medic"</code><br />
 
此脚本是一个简单的绑定,功能是当玩家按下 {{key|E}} 后会触发“Medic!”语音指令。<br />
 
  
<code>alias "+Diagonal" "+moveleft; +back"<br />
+
=== 鼠标加速 ===
alias "-Diagonal" "-moveleft; -back"<br />
+
启动选项1: -noforcemaccel
bind "z" "+Diagonal"</code><br />
 
此脚本可以让玩家斜向移动,按下 {{key|Z}} 玩家会往左后方斜着走。
 
  
'''警告:下列写法不会有作用'''<br />
+
启动选项2: -noforcemspd
<code>bind "z" "+moveleft; +back"</code><br />
 
虽然按 {{key|Z}} 可以让玩家往左边及后方移动,但游戏引擎不会反转 +back 指令,导致放开 {{key|Z}} 后玩家不会停止向后移动。
 
  
===执行(Exec)===
+
描述:两个启动选项同时使用以彻底关闭鼠标加速而使用原生输入。
此指令可以执行其他的文件档。意味着复杂的脚本可以存在其他文件档里,以免弄乱一般的文件。
 
  
<code>exec autoexec.cfg</code><br />
+
=== 开场动画 ===
此巨集将会读取 autoexec.cfg 文件内的巨集。
+
启动选项: -novid
  
===回应(Echo)===
+
描述:跳过Valve游戏的“Valve先生”开场动画以加快进入游戏的速度。
此指令会将文字显示到控制台上,对于调试非常有用。
 
  
<code>echo Scripting is; echo very useful.</code><br />
+
=== DirectX等级 ===
如果将分号(;)加在文字之间则会显示 <code>Scripting isvery useful.</code> 。
+
启动选项: -dxlevel #
或将文字用双引号包住,如下例
 
  
<code>echo " Scripting is very useful.  "</code><br />
+
描述:井字号#替换为80, 81, 90, 95或100以决定所用的DirectX。仅初次启动时需要添加,而后可以去除。
则会将多余的空格显示出来,因为它包含在双引号内。
 
  
''注:'' 双引号是无法显示的符号,因为它的用途会被曲解。
+
=== 窗口化 ===
 +
启动选项1: -windowed 或是 -sw
  
===等待(Wait)===
+
启动选项2: -noborder
此指令可使游戏等待所设定的 FPS 数值后才执行下一个指令。<br />
 
''注:'' 这项指令对应的实际时间取决于服务器的处理速率。<br />
 
'''警告: Wait 指令在部分服务器禁用。这会导致某些脚本失效,并且(在极少数的情况下)让游戏当机。请看 [[#Wait-testing|Wait Testing]] 避免这种情况发生。'''
 
  
<code>echo Why did the chicken cross the road?; wait 66; echo To get to the other side!</code><br />
+
描述:两个启动选项一齐使用以使游戏以无边框窗口模式运行。
This script will wait 66 frames (1 second on most servers) before printing the punchline.
 
  
==军团要塞2的键盘名称==
+
== 按键名称 ==
鼠标移上按键即可看到按键名称。
+
将光标移动到下图的按键上并悬浮以查看按键的脚本名称。按键名称为非事件敏感型。
<code>
 
 
{|
 
{|
! width="45%" <!-- Main keyboard -->|
+
! width="45%" <!-- Main Keyboard -->|
! width="4%" <!-- Spacing -->|
+
! width="03%" <!-- Spacing       -->|
! width="20%" <!-- Special keys -->|
+
! width="25%" <!-- Special Keys  -->|
! width="1%" <!-- Spacing -->|
+
! width="01%" <!-- Spacing       -->|
! width="25%" <!-- Keypad 1 -->|
+
! width="25%" <!-- Keypad 1     -->|
! width="5%" <!-- Keypad 2 -->|
+
! width="05%" <!-- Keypad 2     -->|
 
|-
 
|-
 
|
 
|
Line 154: Line 151:
 
{{tooltip|{{key|F12}}|F12}}
 
{{tooltip|{{key|F12}}|F12}}
  
{{tooltip|{{key|`}}|`}}
+
{{tooltip|{{key|` &nbsp;}}|`}}
 
{{tooltip|{{key|1}}|1}}
 
{{tooltip|{{key|1}}|1}}
 
{{tooltip|{{key|2}}|2}}
 
{{tooltip|{{key|2}}|2}}
Line 167: Line 164:
 
{{tooltip|{{key|-}}|-}}
 
{{tooltip|{{key|-}}|-}}
 
{{tooltip|{{key|{{=}}}}|{{=}}}}
 
{{tooltip|{{key|{{=}}}}|{{=}}}}
{{tooltip|{{key|Delete}}|BACKSPACE}}
+
{{tooltip|{{key|← Backspace}}|BACKSPACE}}
  
 
{{tooltip|{{key|TAB}}|TAB}}
 
{{tooltip|{{key|TAB}}|TAB}}
Line 182: Line 179:
 
{{tooltip|{{key|[}}|[}}
 
{{tooltip|{{key|[}}|[}}
 
{{tooltip|{{key|]}}|]}}
 
{{tooltip|{{key|]}}|]}}
{{tooltip|{{key|\}}|\}}
+
{{tooltip|{{key|\ &nbsp; &nbsp; &nbsp;}}|\}}
  
 
{{tooltip|{{key|⇪ Caps}}|CAPSLOCK}}  
 
{{tooltip|{{key|⇪ Caps}}|CAPSLOCK}}  
Line 195: Line 192:
 
{{tooltip|{{key|L}}|L}}
 
{{tooltip|{{key|L}}|L}}
 
{{tooltip|{{key|;}}|SEMICOLON}}
 
{{tooltip|{{key|;}}|SEMICOLON}}
{{tooltip|{{key|'}}|'}}
+
{{tooltip|{{key|' &nbsp;}}|'}}
{{tooltip|{{key|&nbsp; &nbsp; }}|ENTER}}
+
{{tooltip|{{key|Enter ↵}}|ENTER}}
  
{{tooltip|{{key|Shift}}|SHIFT}}
+
{{tooltip|{{key|Shift &nbsp; &nbsp;}}|SHIFT}}
 
{{tooltip|{{key|Z}}|Z}}
 
{{tooltip|{{key|Z}}|Z}}
 
{{tooltip|{{key|X}}|X}}
 
{{tooltip|{{key|X}}|X}}
Line 206: Line 203:
 
{{tooltip|{{key|N}}|N}}
 
{{tooltip|{{key|N}}|N}}
 
{{tooltip|{{key|M}}|M}}
 
{{tooltip|{{key|M}}|M}}
{{tooltip|{{key|,}}|,}}
+
{{tooltip|{{key|, &nbsp;}}|,}}
{{tooltip|{{key|.}}|.}}
+
{{tooltip|{{key|. &nbsp;}}|.}}
{{tooltip|{{key|/}}|/}}
+
{{tooltip|{{key|/ &nbsp;}}|/}}
{{tooltip|{{key|Shift}}|RSHIFT}}
+
{{tooltip|{{key|Shift &nbsp; &nbsp; &nbsp; &nbsp;}}|RSHIFT}}
  
{{tooltip|{{key|Ctrl}}|CTRL}}
+
{{tooltip|{{key|Ctrl &nbsp;}}|CTRL}}
 
{{tooltip|{{key|⊞}}|LWIN}}
 
{{tooltip|{{key|⊞}}|LWIN}}
 
{{tooltip|{{key|Alt}}|ALT}}
 
{{tooltip|{{key|Alt}}|ALT}}
{{tooltip|{{key| &nbsp; &nbsp; &nbsp; Spacebar &nbsp; &nbsp; &nbsp; }}|SPACE}}
+
{{tooltip|{{key|&nbsp; &nbsp; &nbsp; Spacebar &nbsp; &nbsp; &nbsp;}}|SPACE}}
 
{{tooltip|{{key|⊞}}|RWIN}}
 
{{tooltip|{{key|⊞}}|RWIN}}
 +
{{tooltip|{{key|Alt}}|RALT}}
 
{{tooltip|{{key|Menu}}|Cannot be bound}}
 
{{tooltip|{{key|Menu}}|Cannot be bound}}
{{tooltip|{{key|Ctrl}}|RCTRL}}
+
{{tooltip|{{key|Ctrl &nbsp; &nbsp;}}|RCTRL}}
  
 
|<!-- Spacing -->
 
|<!-- Spacing -->
 
|
 
|
 
{{tooltip|{{key|PrtScn}}|Cannot be bound}}
 
{{tooltip|{{key|PrtScn}}|Cannot be bound}}
{{tooltip|{{key|ScrLk}}|SCROLLOCK}}
+
{{tooltip|{{key|ScrLk}}|SCROLLLOCK}}
 
{{tooltip|{{key|Pause}}|NUMLOCK}}
 
{{tooltip|{{key|Pause}}|NUMLOCK}}
  
{{tooltip|{{key|Insert}}|INS}}
+
{{tooltip|{{key|Insert &nbsp;}}|INS}}
 
{{tooltip|{{key|Home}}|HOME}}
 
{{tooltip|{{key|Home}}|HOME}}
 
{{tooltip|{{key|PgUp}}|PGUP}}
 
{{tooltip|{{key|PgUp}}|PGUP}}
  
 
{{tooltip|{{key|Delete}}|DEL}}
 
{{tooltip|{{key|Delete}}|DEL}}
{{tooltip|{{key|End}}|END}}
+
{{tooltip|{{key|&nbsp; End &nbsp;}}|END}}
 
{{tooltip|{{key|PgDn}}|PGDN}}
 
{{tooltip|{{key|PgDn}}|PGDN}}
  
  
&nbsp; &nbsp; &nbsp; &nbsp; {{tooltip|{{key|&uarr;}}|UPARROW}}
+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{{tooltip|{{key|&uarr;}}|UPARROW}}
  
&nbsp; &nbsp; {{tooltip|{{key|&larr;}}|LEFTARROW}}
+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {{tooltip|{{key|&larr;}}|LEFTARROW}}
 
{{tooltip|{{key|&darr;}}|DOWNARROW}}
 
{{tooltip|{{key|&darr;}}|DOWNARROW}}
 
{{tooltip|{{key|&rarr;}}|RIGHTARROW}}
 
{{tooltip|{{key|&rarr;}}|RIGHTARROW}}
Line 246: Line 244:
  
 
{|
 
{|
! align="left"| 鼠标按键
+
! align="left"| 鼠标键
! 按键名称
+
! 绑定名称
 
|-
 
|-
| 滚轮上滑
+
| Scroll Up
 
| MWHEELUP
 
| MWHEELUP
 
|-
 
|-
| 滚轮下滑
+
| Scroll Down
 
| MWHEELDOWN
 
| MWHEELDOWN
 
|-
 
|-
| 左键
+
| Left Click
 
| MOUSE1
 
| MOUSE1
 
|-
 
|-
| 右键
+
| Right Click
 
| MOUSE2
 
| MOUSE2
 
|-
 
|-
| 点击滚轮
+
| Wheel Click
 
| MOUSE3
 
| MOUSE3
 
|-
 
|-
| 左侧键(下一页)
+
| Left Button Click (forward)
 
| MOUSE4
 
| MOUSE4
 
|-
 
|-
| 右侧键(上一页)
+
| Right Button Click (back)
 
| MOUSE5
 
| MOUSE5
 
|}
 
|}
 
</code>
 
 
==使用的指令==
 
{{Main|vdc:List_of_TF2_console_commands_and_variables|l1=TF2 指令及值数列表(英)}}
 
 
===Spy快速伪装===
 
 
这些脚本可以让玩家按下一个键后即伪装而不用开启伪装菜单
 
 
伪装命令使用以下命令:
 
 
'''disguise <class_number> <team_number>
 
 
<class_number>是代表兵种的编号;<team_number>是代表团队的编号
 
 
====伪装编号参数====
 
 
*1 <class_number>
 
*:1: 侦察兵
 
*:2: 狙击手
 
*:3: 士兵
 
*:4: 爆破手
 
*:5: 医生
 
*:6: 重机枪手
 
*:7: 火焰兵
 
*:8: 间谍
 
*:9: 工程师
 
 
*2 <team_number>
 
*:1: 蓝队
 
*:2: 红队
 
*:-1: 敵隊
 
*:-2: 同隊
 
 
===Engineer快速建造===
 
类似[[Spy/zh-hans|Spy]]的快速伪装,这可以让[[Engineer/zh-hans|Engineer]]不必开启建造菜单即能建造。
 
 
建筑指令使用以下命令
 
 
'''build <building_number><br>
 
'''destroy <building number>
 
 
<building_number>是建筑的编号
 
 
====建筑编号参数====
 
*Number: Building/Destroying
 
*:0: 补给器
 
*:1: 传送装置入口
 
*:2: 步哨枪/迷你步哨枪
 
*:3: 传送装置出口
 
 
以下是快速建造脚本的例子:
 
 
  '''alias sentry "destroy 2; build 2"<br>
 
  '''alias Dispenser "destroy 0; build 0"<br>
 
  '''alias entrance "destroy 1; build 1"<br>
 
  '''alias exit "destroy 3; build 3"<br>
 
  '''bind f1 sentry<br>
 
  '''bind f2 dispenser<br>
 
  '''bind f3 entrance<br>
 
  '''bind f4 exit<br>
 
 
这脚本会在建造前先破坏要建造的建筑,使玩家建造前无需开启破坏菜单。
 
 
===语音指令===
 
 
语音指令可以让你在游戏内发出特定的语音。
 
 
语音指令使用以下语法
 
 
'''voicemenu <menu_number> <phrase_number>
 
 
<menu_number>是编号1到3的语音菜单编号,<phrase_number>则是语音菜单1到7的语音编号
 
 
====语音相关编号====
 
 
*0 <phrase_number>
 
*:0: 医生!
 
*:1: 谢谢!
 
*:2: 冲!冲!冲
 
*:3: 前进!
 
*:4: 向左
 
*:5: 向右
 
*:6: 好的
 
*:7: 不行
 
*1 <phrase_number>
 
*:0: 敌人来袭
 
*:1: 当心间谍!
 
*:2: 前面有步哨!
 
*:3: 这里需要传送装置
 
*:4: 这里需要补给器
 
*:5: 这里需要步哨
 
*:6: 激活 ÜberCharge!
 
*:7: (只有Medic可以使用)ÜberCharge 就緒
 
*2 <phrase_number>
 
*:0: 救命!
 
*:1: 战争嘶吼
 
*:2: 欢呼
 
*:3: 嘲弄
 
*:4: 高兴
 
*:5: 失望
 
*:6: 打得漂亮
 
*:7: 干得好
 
 
 
===雜項===
 
*<code>clear</code> 清除控制台的所有信息。
 
*<code>alias</code> 列出所有目前定义的别名。
 
*<code>fov_desired (75-90)</code> 设置[[field of view/zh-hans|视野]]距离。
 
*<code>viewmodel_fov </code> 设置武器模型的视野,默认范围为 54~70 之间。
 
*<code>r_drawviewmodel (0/1)</code> 显示(1)或隐藏(0)武器模型。
 
*<code>lastdisguise</code> 使玩家偽裝成上一次偽裝的職業。 <small>(间谍专用)</small>
 
*<code>load_itempreset [0, 1, 2, 3]</code> 更换设定的 [A, B, C, D] 装备栏位。
 
*<code>say "message"</code> 发送公开聊天信息。
 
*<code>say_team "message"</code> 发送团队聊天信息。
 
*<code>+taunt</code> 玩家会进行嘲讽动作。
 
*<code>+use_action_slot_item</code> 玩家会使用动作字段所装备的物品。
 
*<code>volume (0-1)</code> 改变游戏中的音量。
 
 
==高级脚本技巧==
 
===切换===
 
这是可能的绑定一个键切换到另一个命令,否则将是一个按键和保持命令。
 
 
<code>bind w toggle<br />
 
alias toggle "enable"<br />
 
alias enable "alias toggle disable; +forward"<br />
 
alias disable "alias toggle enable; -forward"</code><br />
 
这个脚本将导致一个阿奴见 {{key|W}} 让玩家向前移动 {{key|W}} 再次按键。
 
===组合键===
 
可以创建一个脚本,在按下一个按钮,而另一个被按住将改变第一个按钮的动作。
 
 
<code>bind e call<br />
 
alias call Call_For_Medic<br />
 
alias Call_For_Medic "Voicemenu 0 0"<br />
 
alias Call_For_Ubercharge "Voicemenu 1 6"</code><br />
 
在这一点上,该脚本将意味着每一次 {{key|E}} 按下,玩家需要医生。它也有一个未使用的别名来调用 [[Ubercharge]].<br />
 
<code>bind shift +toggleState<br />
 
alias +toggleState "alias call Call_For_Ubercharge"<br />
 
alias -toggleState "alias call Call_For_Medic</code><br />
 
现在,按下 {{Key|Shift}} 将重定向 <code>call</code> 要求一个无敌的时候。释放 {{Key|Shift}} 将使<code>call</code> 点回到医生的回复。<br />
 
如果 {{Key|Shift|E}} 按下后,玩家将需要一个无敌,而不是一个医生。
 
 
===等待测试===
 
由于 <code>wait</code> 指令是一些巨集不可缺少的部分,利用此指令查看服务器是否能使用等待指令。
 
 
<code>alias waitTester "alias waitTest waitPositive; wait; waitTest"<br />
 
alias wait "alias waitTest waitNegative"<br />
 
alias waitPositive "echo Wait is enabled on this server.; exec waitPositive.cfg"<br />
 
alias waitNegative "echo Wait is DISABLED on this server!; exec waitNegative.cfg"<br />
 
waitTester</code><br />
 
这个脚本依赖于一个事实,即如果等待命令被禁用在服务器上,该名为 <code>wait</code> 可以由用户定义。因此,该脚本将创建一个名为 <code>waitTest</code> 默认情况下 <code>waitPositive</code> ,但如果 <code>wait</code> 是不允许的(并且可以由用户定义),将被重定向到<code>waitNegative</code>.
 
 
===循环===
 
'''警告: 它运行没有等待命令的循环会导致军团要塞2客户端挂。它是高度建议只有在等待测试脚本运行一个循环脚本。'''<br />
 
通常被认为是不好的形式有一个别名,因为虽然循环可以被打破,它不能被重置。因此,循环脚本往往包括两部分的回路等部分,和环的一部分。
 
 
<code>bind g "loopKey"<br />
 
alias loopKey startLoop<br />
 
alias startLoop "alias loopKey stopLoop; +attack; alias redirect loop; loop"<br />
 
alias stopLoop "-attack; alias redirect; alias loopKey startLoop"<br />
 
alias loop "+left; wait 33; +right; wait 33; redirect"<br />
 
alias redirect loop</code><br />
 
 
这个脚本将开始循环一次 {{Key|G}} 按下之后。它开始射击,然后切换玩家的观点来回每 33 帧(在大多数服务器二)。按下 {{Key|G}}会导致下一次循环的循环停止,也停止射击。
 
 
<!--old trans
 
下面解释以上的脚本:
 
 
*第一行建立别名loop,在控制台显示Looping every 150 ticks后,等待150帧后再次执行别名loop
 
*第二行循环别名loop
 
 
 
您还可以创建循环命令的别名,像这样的例子:<br>
 
'''alias "Loop1" "echo Loop 1;wait 150;Loop2"'''<br>
 
'''alias "Loop2" "echo Loop 2;wait 150;Loop1"'''<br>
 
 
别名Loop1执行别名Loop2,别名Loop2执行别名Loop1,如此循环<br>
 
这种方法也可用于取消循环,但不清除循环别名:<br>
 
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br>
 
'''alias "Loop2" "Loop1"'''<br>
 
这将创建一个循环,然后<br>
 
'''alias "Loop2"'''<br>
 
将打破它,清除Loop2别名。<br>
 
 
您可以利用这些按钮按下(通过 + / - 前缀覆盖更早)是这样的:<br>
 
'''alias "Loop2" "Loop1"'''<br>
 
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br>
 
'''alias "+Loop" "alias Loop2 Loop1;Loop2"'''<br>
 
'''alias "-Loop" "alias Loop2"'''<br>
 
'''bind "<Key>" "+Loop"'''<br>
 
解读此脚本:<br>
 
创建别名Loop2执行别名Loop2<br>
 
别名Loop1在控制台显示Loop1字樣,150帧之后执行Loop2<br>
 
创建别名-Loop,-Loop执行命令alias Loop2<br>
 
用-Lopp来清除Loop2,取消了循环。<br>
 
 
<code>bind g "loopKey"<br />
 
alias loopKey startLoop<br />
 
alias startLoop "alias loopKey stopLoop; +attack; alias redirect loop; loop"<br />
 
alias stopLoop "-attack; alias redirect; alias loopKey startLoop"<br />
 
alias loop "+left; wait 33; +right; wait 33; redirect"<br />
 
alias redirect loop</code><br />
 
 
这个脚本将开始循环一次 {{Key|G}} 按下之后。它开始射击,然后切换玩家的观点来回每33帧(在大多数服务器里)。按下 {{Key|G}} 会导致下一次循环的循环停止,也停止射击。
 
-->
 
 
===Medic Radar===
 
這些巨集可以讓[[Medic/zh-hans|Medic]]只要按住一個按鍵,就將自動呼救的上限提升至150%(醫護兵能超量治療的生命上限),讓他可以看到附近所有隊友的位置。
 
<!--
 
这套别名和命令将暂时提高 [[Medic/zh-hans|医生]]的自动呼叫阈值为150%(完全的Overhealed播放器)只要他们抓住重点,让他知道他所有的队友都是由他们的 [[Medic/zh-hans|医生]] 自动呼叫语音中他发现自己独自一人。
 
-->
 
 
  '''alias "autocall_default" "hud_medicautocallersthreshold "75""<br>
 
  '''alias "autocall_all" "hud_medicautocallersthreshold "150""<br>
 
  '''alias "+radar" "autocall_all"<br>
 
  '''alias "-radar" "autocall_default"<br>
 
  '''bind mouse3 "+radar"<br>
 
 
预设的自动呼救值(也就是没有使用这个巨集时的自动呼救值)可以调整为任何你想要的值(在这个例子中是75%),启动巨集的按钮也可以改为任意按键(在这个例子中是mouse3)。
 
 
==值得注意的脚本==
 
有些脚本会破坏游戏的环境和平衡。
 
 
===已被修正的脚本===
 
 
====手枪连射脚本====
 
 
原先,游戏里的手枪只能单发射击,后来有人编写了手枪连射脚本,让玩家一直按着某个键位即可连射手枪。
 
后来Valve为了确保游戏公平性,让玩家即使不使用脚本也可以连续发射手枪。
 
 
====Targe Turn Scripts====
 
 
用键盘改变视角与用鼠标改变视角,是不同的两个动作。[[Chargin' Targe/zh-hans|冲锋盾]]是第一个限制改变视角速度的武器,而Valve虽然对使用该武器时,对鼠标改变视角的速度做出限制,却忘了对键盘指令做出相同限制。<!-- 原先,键盘命令,把你的观点,左,右不处理相同的鼠标命令。 [[Chargin' Targe/zh-hans|冲锋盾]] 这是第一个武器来创建一个限制,你可以把你的观点如何快速,因此,Valve对鼠标的速度限制,但忘记了应用相同的限制,导致在相同的行动的键盘命令。-->有玩家利用这个特性,写了重新改变输出的巨集,让他们可以用正常的速度改变视角。最复杂的例子中,玩家在冲刺时,鼠标的x轴指令被改变为相同结果的键盘指令,在冲刺结束后再将这个改变还原。
 
 
Valve之后对键盘指令做出相同限制,因此这个脚本再也没有作用了。然而,还是可以写出一个脚本,让玩家在冲刺时有超高鼠标灵敏度,在攻击时恢复正常。它也可能很容易在使用游戏手柄的摇杆。
 
 
====蹲跳脚本====
 
原先跳到空中时,蹲下的次数是没有限制的。因此你可以在空中执行一个不断超高速蹲下站起的脚本,让游戏没办法正常判断子弹是否击中你。Valve修正为在空中只能蹲下两次。
 
 
====紧急逃跑拳套====
 
[[紧急逃跑拳套]]在移动的时候,要消耗6的生命值。然而,跳跃保留了这种武器授予的速度加成,并没有要求的武器是积极的。简单的脚本,让玩家可以快速切换到手套,跳,然后切换到。
 
 
{{Patch name|6|27|2012}}: 更新损坏的随着时间的推移,手套运行迫切具有时间延迟的 [[迷你爆击]] 减幅.
 
 
====闲置脚本====
 
大多数服务器寻求防止玩家掉落系统。玩家可以尝试智胜这些系统脚本,模拟基本的运动。
 
 
[http://www.teamfortress.com/post.php?id=11105 一个主动的解决方案,一个空闲的威胁需要玩家接受一个弹出通知,以继续获得下降。
 
 
===目前的脚本===
 
 
====武器视图模型隐藏脚本====
 
有大量的脚本,切换武器的问题取决于选择一类武器槽。球员往往使他们的程序清理屏幕看不见,但使物品像近战武器、PAD、手表,等等,可见这些模型显示重要信息。例如,间谍在很大程度上依赖于他的“决定当他是隐形,隐形被干扰时,当酷似激活。其他类使用的混战动画,以判断他们的攻击时会打。
 
 
====步哨跳脚本====
 
由于工程师更新,工程师们已经能够收拾和携带他们的哨兵枪] ]美国同时引入更新,牧马人允许工程师和他们的哨兵哨兵跳火箭。有了非常快速的投入,它被发现一个球员可以在他们被启动之前,在他们被启动之前,一个球员可以哨兵跳,并成功地收拾他们的哨兵。
 
而一个人可以重复这一壮举,很难。一些玩家做的脚本,可以可靠地执行命令的权利,在正确的速度,使他们能够使一个哨兵跳,同时携带他们的哨兵每次。
 
''日记:'' 火线救兵可以绕过这一必要性,因为它可以在130个金属的范围内挑选建筑物。
 
 
====枪炮工之臂脚本====
 
因为它可以麻烦破坏然后重建在战争最激烈的战斗小哨兵通过PDA,一些玩家有脚本的破坏和重建他们的迷你步哨与一个或两个鼠标按键点击。这样一个剧本是特别有用的利用边境裁决者时,当玩家获得几乎即时获得复仇暴击时。
 
 
====灵敏度和控制脚本====
 
对于一些对于喜欢不同的灵敏度和控制的巨集(例如,改变侦察兵,这就需要高灵敏度去快速转动和操作,对于狙击手,鼓励使用低灵敏度精确瞄准这样一只手无意抽搐的时候不会偏离你的目标太大)。这些脚本改变他们的控制方案和鼠标设置在一个类甚至每一个武器的基础上。
 
 
====充电蓄能脚本====
 
由于计时充电和跳跃可能是困难的,一些玩家可能会使用一个快速的脚本,将两者的动作结合到一个按钮,使充电的冲刺将覆盖最大限度的距离可能。玩家仍然需要挥动他们的武器,但通常要结束的费用。
 
 
====快速范围脚本====
 
许多玩家难以范围和火力后直快速得到爆头。有脚本,将放大和火力只通过点击一个鼠标按钮。不过,这确实需要玩家的目标以外的范围。
 
 
====火箭跳脚本====
 
以火箭跳到最大高度或距离,它需要玩家跳跃、蹲、发射火箭在大致相同的时间。这可以很容易地照本宣科和按下一个按钮,出现。
 
 
====击杀绑定脚本====
 
在某些情况下,有利于一个类能够杀死自己。虽然大多只是相关的竞争性游戏,在公共服务器上有偶尔使用。
 
  
 
== 注意 ==
 
== 注意 ==
* 每个脚本的大小被限制在[[w:mebibyte|1MB(1048576字节)]]内,但可通过在某个脚本的末端[[#Exec|exec(运行)]]另一个脚本来避免这个限制。
+
* 每个脚本的大小只允许在[[w:mebibyte|1MiB(1048576字节)]]内,但可在某个脚本的末端通过 [[#Exec|exec(运行)]]另一个脚本来避开这个限制。
  
 
== 参见 ==
 
== 参见 ==
* [[List of useful console commands/zh-hans|有用的主控台指令]]
+
* [[List of useful console commands/zh-hans|有用的控制台指令列表]]
  
 
==外部链接==
 
==外部链接==
  
*[http://forums.steampowered.com/forums/showthread.php?t=709568 STEAM用户指南 - TF2 脚本教程]。
+
*[[User:Zoolooman/Scripting|TF2 脚本教程]]。
 
*[http://warriornation.net/Forum/showthread.php?t=568008 TF2 scripting tutorial - Warrior Nation Network]。
 
*[http://warriornation.net/Forum/showthread.php?t=568008 TF2 scripting tutorial - Warrior Nation Network]。
 
*[http://www.gamebanana.com/scripts/games/297 FPSBanana.com - TF2 脚本]。
 
*[http://www.gamebanana.com/scripts/games/297 FPSBanana.com - TF2 脚本]。
 
[[Category:Customization/zh-hans]]
 
[[Category:Customization/zh-hans]]

Latest revision as of 15:00, 20 April 2021

脚本编写是通过利用配置文件(configuration files,文件扩展名.cfg) 对按键绑定进行改动与新增,将一系列复杂的行为以及控制台指令统筹到一个指定的别名下的行为。与作弊不同,脚本实质是在利用《军团要塞2》这款游戏的内置功能,并不会被Valve反作弊系统侦测到。脚本的利用十分广泛,小到将一条指令绑定到一个按键上,大到一条涉及自我指涉循环与互相嵌套重定义的指定别名的指令。如果一项功能能够靠脚本的创建来实现,那么它必然也能在无脚本参与的情况下完成,而脚本的意义就在于在紧张的实战中能够更为便捷地实现这些功能。

脚本指令

以下是除了脚本编写外没有实际用处的的命令列表; 它们不会直接影响实际游玩。

绑定(Bind)

最简单的命令是绑定命令。它会使得按下某个键便能执行一项动作,无论该动作是设置,命令还是脚本。

bind [KEY] [COMMAND]

可以选择在按键和/或命令的两边加上引号。 但是,当值和命令之间有空格时,命令必须带有引号,以便控制台可以将其解释为一个命令。 示例:bind mouse1 "say texthere"(将某一段文本绑定到鼠标左键上),由于两个短语之间存在距离,"say texthere"两端需要加上引号。

bind [KEY] "[COMMAND 1];[COMMAND 2];[COMMAND 3]"

在按键部分两端添加引号不是必须的,但是在命令的两端则必须加上,因为如果引号不存在,控制台将无法解释连续的命令。

注意: 下面这条指令

say "Example Text"

是正确的, 但是下面这条

bind <KEY> "say "Example Text""

则不是。这是因为后者中的引号将导致指令无法被解释,而且引号内的引号是不必要的,因为命令会在每个分号处自动停止。

绑定有两种形式:

bind e "voicemenu 0 0"

这项绑定将允许玩家通过按下E键来呼叫医生。

bind w +forward

这项绑定将允许玩家通过按住W键来往前走动。

切换(Toggle)

这项指令将允许一项设置在两个或更多个值之间进行切换。

toggle sv_cheats 0 1

绑定切换(Bindtoggle)

功能和绑定相同,只是绑定到一个按键上。

bindtoggle o sv_cheats 0 1

注意:若无预设值,绑定和绑定切换会使用默认值0与1。

增量变量(Incrementvar)

允许变量以预设值多次地增加或减少。

bind MWHEELUP "incrementvar fov_desired 75 90 1"
bind MWHEELDOWN "incrementvar fov_desired 75 90 -1"

上面这组指令可使滚轮上滚时抬升视场角,在滚轮下滚时降低视场角。 注意: 值增加到上限或是减少到下限时,该值都会出现回绕。 在上面这组示例中,一旦视场角超出最大值90,它将降到最小值75,反之亦然。

别名(Alias)

将多个指令指定到一个别名下可以只用一个指令就将它们全部统筹起来。当一系列指令需要被反复使用时,别名指定是最为有用的高效速记法。

注意: 别名名称不能包含空格,但可包含下划线,数字和符号。别名名称区分大小写。

alias Call_For_Medic "Voicemenu 0 0"
bind "e" "Call_For_Medic"

上面这项脚本示例与单纯地将呼叫医生的指令绑定在E键上的效果相同。

注意: 在别名前添加+号(正向指令)并按下相应绑定键执行后,其后的-号别名(负向指令)会随后被执行。 下例:

alias "+Diagonal" "+moveleft; +back"
alias "-Diagonal" "-moveleft; -back"
bind "z" "+Diagonal"

在上面的脚本中,+Diagonal别名指定给了其后的+moveleft与+back,分别表示(按下相应绑定键后)向左移动和向后移动;而下一行的-Diagonal别名则指定给了-moveleft与-back,分别表示(松开相应绑定键后)停止向左移动和停止向后移动。那么这样一来,按下 Z 键就会使得玩家以对角线方向向左后方移动。

而要注意的是,下面的写法就是一个错误的示例。

bind "z" "+moveleft; +back"

虽然说用上面这条脚本按下Z键还是有朝左后方移动的效果的,但是这样一来系统将无法执行-号别名,也就是说一旦按下Z键,玩家将一直向左后方移动,无法在松开按键时停下来。

执行(Exec)

使用该指令可以指定执行某一特定的配置文件。这意味着一个特殊而复杂的脚本可以专门写在一个通用配置文件之外的新配置文件里,从而在安装和编辑方面免除干扰其他脚本的麻烦。

exec autoexec.cfg

上面这个脚本就是在指定执行autoexec.cfg文件。

回显(Echo)

回显指令的作用是用“Echo 信息内容”的格式来输出提示信息。如下例:

echo Scripting is; echo very useful

输出结果就是 Scripting is (脚本)和 very useful (很有用),这一句话的两部分将以分立的两行输出并显示出来。单词之间的空格和双引号内的空格都将被回显, 如下例:

echo " Scripting is very useful.   "

在Scripting is very useful.这句话的后面跟了3个空格字符,它们也会被显示出来。 注意: 双引号无法被系统识别为文本的一部分,因此无法显示。但是单引号可以。

等待(Wait)

等待指令可被用来阻塞当前进程的执行,直至指定的子进程执行结束后,才继续执行。使用等待指令可以在脚本在多进程执行模式下,起到一些特殊控制的作用。等待指令可以被赋予特定时间来决定等待的持续时长,而赋予的进程号代表的是刻(tick),因此,实际等待时间与服务器的刷新率(tickrate)有关。如果wait后面不带任何的进程号,那么等待指令会阻塞当前进程的执行,直至当前进程的所有子进程都执行结束后,才继续执行。

警告: 等待指令在部分服务器被禁用。这会导致某些脚本失效,并且(在极少数的情况下)让游戏崩溃。
echo Why did the chicken cross the road?;wait 66;echo To get to the other side!

上面这条脚本会把Why did the chicken cross the road?(为什么小鸡们在过马路?)这句话回显完毕后,先等待66刻,再显示它的答句To get to the other side!(为了到另一边去!)

启动选项

为了改善或改变游戏体验,可以使用以下启动选项。 要使用它们,请在Steam库中右键单击Team Fortress 2,然后选择“属性”。 然后,在“通用”选项卡的“启动选项”框内键入所需的指令(请注意,所有启动选项在指令之前均包含“-”,请记住须将其包括在内):

分辨率

启动选项: -w # -h #

描述:分别决定了游戏分辨率的宽度与高度。

高优先级别

启动选项: -high

描述:令CPU提高TF2任务进程的优先级别。

Warning red.png 警告:使用高优先级模式会极大消耗CPU性能。

鼠标加速

启动选项1: -noforcemaccel

启动选项2: -noforcemspd

描述:两个启动选项同时使用以彻底关闭鼠标加速而使用原生输入。

开场动画

启动选项: -novid

描述:跳过Valve游戏的“Valve先生”开场动画以加快进入游戏的速度。

DirectX等级

启动选项: -dxlevel #

描述:井字号#替换为80, 81, 90, 95或100以决定所用的DirectX。仅初次启动时需要添加,而后可以去除。

窗口化

启动选项1: -windowed 或是 -sw

启动选项2: -noborder

描述:两个启动选项一齐使用以使游戏以无边框窗口模式运行。

按键名称

将光标移动到下图的按键上并悬浮以查看按键的脚本名称。按键名称为非事件敏感型。

ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12

`   1 2 3 4 5 6 7 8 9 0 - = ← Backspace

Tab ⇆ Q W E R T Y U I O P [ ] \      

⇪ Caps A S D F G H J K L ; '   Enter ↵

Shift     Z X C V B N M ,   .   /   Shift        

Ctrl   Alt       Spacebar       Alt ≣ Menu Ctrl    

PrtScn ScrLk Pause

Insert   Home PgUp

Delete   End   PgDn


                 

         

Num / * -
7 8 9 +
4 5 6
1 2 3
    0     .
鼠标键 绑定名称
Scroll Up MWHEELUP
Scroll Down MWHEELDOWN
Left Click MOUSE1
Right Click MOUSE2
Wheel Click MOUSE3
Left Button Click (forward) MOUSE4
Right Button Click (back) MOUSE5

注意

参见

外部链接