Zh/Developer console: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
m (Robot: Automated text replacement (-\{\|\r +{| class=standard-table))
m (Multipage removal)
 
(20 intermediate revisions by 13 users not shown)
Line 1: Line 1:
== 概述 ==
{{LanguageBar|title = 开发者控制台}}
[[Image:Developer-console.jpg|right]]
开发者控制台允许您在测试 Source 的地图或是 MOD 的时候输入命令来进行一些控制.


输入 <code>[[help]]</code> 将会提供些许帮助.
[[File:Console.gif|right|Console output for Episode Two]]


输入 <code>[[find]] <字符串></code> 来搜寻 [[ConCommand|控制台命令]] 或是 [[ConVar|控制台变量]] 的相关内容 (例如: 输入 <code>find npc</code> 将会出现一份 [[NPC Debugging Command|NPC 调试指令]] 的列表,比如 [[npc_go]] 和 [[npc_create]].
'''控制台''' 是一个用来配置和修改游戏的[[Wikipedia:Command-line interface|命令行界面]]工具. 事实上任何东西都可以通过控制台来修改, 并且有许多都是 有必要的''.


== 简介 ==
== 启用控制台 ==
开发者控制台是游戏开发者调试代码的重要工具,也是玩家定制他们游戏的一种途径. 控制台是基于文本的 执行命令或是在运行时改变全局设定的 一个 输入输出 (I/O) 接口.


== 调出控制台 ==
控制台在默认情况下是无法启动的.激活它,需要开启游戏并在 ''设置 > 键盘 > 高级选项''. 这将会出现两个选项, 其中一个就是 "启用控制台". 一旦激活, 就可以通过 {{key|Tab}}上面的那个键, 也就是人民群众喜闻乐见的 "反单引号." {{key|`}}
使用下面的方法调出控制台:


# 运行游戏或 MOD .
{{note|如果你的键盘上没有这个按键. 在游戏开始时,使用 <code>-console</code>启动游戏,然后输入<code>bind 按键 toggleconsole</code> (以代替原本的按键开启控制台).}}
# 在主菜单选 ''选项''.
# 切换到 ''键盘'' 标签.
# 点击 ''进级...'' 按钮.
# 勾选 ''允许开发者控制台(~)''.
# 点击 ''应用''.


此后, 控制台将可以使用在标准 US 键盘左上角的 <ESC> 键 下面的 <'''~'''> 键 来打开与关闭了.
== 提交 ==


{{note|<'''~'''键> 在一些键盘上或许会不起作用, 这种情况下,您必须右键点击游戏, 在启动参数中添加 <code>-console</code> . 当游戏运行的时候, 控制台就会被打开了, 输入 <code>bind <您要使用的按键> toggleconsole</code>
底部灰色的输入框是用来输入命令的. 它支持两种输入格式: 命令和变量. 命令是一种的代码, 但是特殊变量指令 ("cvars") 需要赋值才能被控制台接受. 当你设置一个特殊变量指令时你应该这样做 :
就可以使用您自定的按键开关控制台了. 例如:  
<code>bind t toggleconsole</code>


您也可以通过打开游戏或 MOD 下的 ''cfg/config.cfg'' 文件,改变以下的参数:
mat_wireframe 1
<code>bind "<您要使用的按键>" "toggleconsole"</code>
德国式的键盘: 用 '''1''' 左边的 '''^''' 按键来开启控制台, 执行 <code>bind "\" "toggleconsole"</code>}}


当游戏的可执行文件以 <code>-dev</code> 或 <code>-console</code> 参数启动时,控制台也会开启. (开发者应始终使用 <code>-dev</code> 参数来启动游戏.)
当你输入结束时,敲击{{key|Return}}或者{{key|Enter}}来提交. 之后你将会在控制台窗口的最前端看到控制台返回你的信息 <code>]</code>.


如果 Source 引擎以附加的调试器启动, 控制台的输出的内容将会在调试器输出窗口中出现.
一些小提示:


<code>-condebug</code> 参数启动 HL 将会记录下所有的控制台记录到游戏目录下的文本文件 <code>console.log</code>.
* 使用空格键来分隔多个值. 如果一个值包含了字符, 请用双引号来区分这些字符. (例如<code>say "Hello everyone on the server"</code>.)
* 控制台有时会自动识别出你将要输入的命令(在输入框的下方弹出你将可能输入的指令). 通过{{key|Up}}/{{key|Down}}键来翻阅这些指令并通过 {{key|Tab}}来选择这些指令.
* 只有"archived" 这个指令会在游戏结束后进行. 使用{{L|autoexec}}如果你想要在游戏开始自动运行一些指令.
* 一些命令是服务器指令, 一些是客户端命令.在多人游戏中,你只能使用客户端命令.
* 有许多命令都带有前缀.其中最常见的就是<code>cl</code> ("客户端命令")和<code>sv</code> ("服务器命令").在服务器上你有权限执行客户端命令(如果你不是服主),但你没有权利执行服务器命令,在服务器上只有服主能够执行服务器命令


== 输入命令 ==
== 实用指令 ==
在底部的文本框中输入命令. 当输入了新的命令, 将在按下 <回车> 键 或是 按下 ''确定'' 按钮的时候被执行.


一个命令有它独一无二的名称和一系列的参数,各个参数之间使用 <空格> 键分开.
; <code>find <关键字></code>
: 这个经常使用到的指令<code>find</code>是用来搜索带关键字的指令的.十分有用
; <code>find_ent <关键字></code>
: 和find命令一样,只不过这个是用来搜索带有关键字的地图.
; <code>help <指令名></code>
: 简单的对所输入的指令名的功能进行介绍.
;<code>sv_cheats <{{L|bool}}></code>
:有许多特殊变量指令将会影响游戏性, 在多人游戏中这些指令将被视为作弊行为. 提交<code>sv_cheats 1</code>指令用来接触这些指令的限制. {{note|使用这个指令的服务器即使受到{{L|Valve Anti-Cheat|VAC}}的保护也不会因作弊指令而被ban.}}
;<code>developer <0-2></code>
:开发者模式将会提供更多的控制台命令,允许作弊和让控制台自动启动, 并且使得指令变得更加的有用和不受限制. 如果是使用<code>2</code>模式,最后输出的几行将会显示在屏幕上.
;<code>con_log <文件名></code>
;<code>condump</code>
:如果你想把控制台显示的内容保存成一个文件以便于以后使用,那么请使用这个命令吧. <code>con_log</code>是用来读取由<code>condump</code>保存的命令文件{{tip|控制台只能显示不超过241条的文件.也可以使用<code>con_log</code>来保存然后再继续操作.}}
{{note|这个命令在不同的source版本表现的也不同,在半条命2中,这两个命令无法被识别!在CS:GO中<code>con_log</code>这个命令正确写法是<code>con_logfile<文件名></code>}}
(中文译者注)


{{note| <code>]</code> 是提示,不是输入的内容.}}
<!-- not convinced that this is useful == Command prefixes ==


语法: <code>命令 <参数1> [<参数2>]</code>. 例子:
Commands traditionally come with prefixes that go some way to categorising them. Common ones include:


<pre>
=== Clientside ===
]bind mouse1 +attack
]map dm_lockdown
</pre>


如果一条命令的参数包含 <空格> , 它必须在双引号内:
;<code>cl_</code>
:Generic clientside
;<code>demo_</code>
:{{L|Demo}} recording and playback
;<code>r_</code>
:Generic rendering configuration
;<code>mat_</code>
:{{L|Material}} configuration
;<code>hud_</code>
:In-game user interface
;<code>net_</code>
:{{LCategory|Networking}} configuration (a few are serverside)


<pre>
=== Serverside ===
]bind h "say hello world"
]name "Gordon Freeman"
</pre>


控制台会记忆您最后执行的命令,您可以使用 <上> (找到您刚刚执行的命令) 和 <下> (找到您一开始在控制台执行的命令) 按键. 通过按下 <tab> 键, 命令会从合适的选单中自动完成. 一些命令 (例如 <code>map</code>, <code>load</code> etc) 的第一个参数也拥有自动完成.
;sv_
:Generic serverside
;g_
:Generic singleplayer configuration
;mp_
:Generic multiplayer configuration
;ent_
:Direct entity control
;npc_
:Direct NPC control
;phys_
:Physics adjustments
;sk_
:Difficulty ("skill")
-->


== 命令与变量 ==
== 查看更多 ==
控制台可输入的内容有两种:控制台命令 和 控制台变量.
* {{L|Developer Console Control}} - for programmers
 
* {{L|Console Command List}} - partial list of console commands and variables
''控制台命令'' 通常传递参数到一些程序函数并且执行, 但是他们自身不记忆这些变量.
* {{LCategory|Console commands}} - list of written articles for console commands
 
* {{LCategory|Console variables}} - list of written articles for console variables
''控制台变量'' 用最后保存的参数来当作全局设定. 控制台变量只能有一个参数, 可以是数字或字符串; 这是由游戏代码来决定这些值的类型. 许多控制台变量被用作触发器, 0 表示 关, 1 表示 开 (例如 <code>cl_showfps</code>). 查看控制台变量的值只要输入名字,不输入参数即可.
{{ACategory|Source_SDK_FAQ}}
 
{{ACategory|Modding}}
大多数的 控制台命令 与 控制台变量拥有一个前缀来区分他们所属的子系统, 但是并非全都如此, 特别是那些 Half-Life 1 中使用的命令, 旧的名称被保留下来.
{{ACategory|Dedicated Server}}
 
常用的前缀:
{| class=standard-table
| <code>ai_</code> || 单人游戏 AI
|-
| <code>bot_</code> || 机器人
|-
| <code>cc_</code> || 隐藏字幕
|-
| <code>cl_</code> || 多人游戏客户端
|-
| <code>demo_</code> || demo 回放
|-
| <code>disp_</code> || 地形置换地图 (terrain displacement maps)
|-
| <code>dsp_</code> || 音效 DSP 设定
|-
| <code>ent_</code> || 实体控制/调试
|-
| <code>fire_</code> || 射击实体事件 (firing entity events)
|-
| <code>fog_</code> || 雾
|-
| <code>g_</code> || 单人游戏
|-
| <code>hltv_</code> || Half-Life TV
|-
| <code>host_</code> || 主机 (host) 系统
|-
| <code>hud_</code> || 客户端 HUD
|-
| <code>joy_</code> || 手柄输入
|-
| <code>log_</code> || 日志
|-
| <code>m_</code> || 鼠标输入
|-
| <code>mat_</code> || 材质系统
|-
| <code>mp_</code> || 多人游戏 (服务端)
|-
| <code>nav_</code> || 导航图 (navigation graphs)
|-
| <code>net_</code> || 引擎网络部分
|-
| <code>npc_</code> || 单人游戏的 NPC
|-
| <code>phys_</code> || 物理系统
|-
| <code>r_</code> || video renderer
|-
| <code>rcon_</code> || 远程控制
|-
| <code>sk_</code> || 玩家技能/难度
|-
| <code>snd_</code> || 音效系统
|-
| <code>sv_</code> || 服务器设置 (引擎)
|-
| <code>v_</code> || 客户端视图 (client view)
|-
| <code>vgui_</code> || VGUI
|-
| <code>voice_</code> || 玩家语音(游戏中)
|-
| <code>vprof_</code> || code profiler
|-
| <code>wc_</code> || WorldCraft/Hammer 帮助
|}
 
如果您忘记了控制台命令或控制台变量的完整名称, 使用 <code>find <字符串></code> 可以找到所有包含此 字符串 的命令.
 
<code>help <命令></code> 将会给出此 命令 的帮助信息 (如果命令存在的话).
 
== 在控制台输入作弊码==
如果您想要在控制台输入 [[impulse| impulse 101]] 这样的作弊码,请确认您已经输入了 [[sv_cheats| sv_cheats 1]]. 只有这样,才允许输入作弊码. 关闭作弊功能只要输入 [[sv_cheats| sv_cheats 0]].
 
== 顺便看看 ==
* [[Console Command List|控制台命令列表]] - 一份控制台命令和控制台变量的完整列表.
* [[:Category:Console Commands|控制台命令]] - 一些关于控制台命令的东东.
* [[:Category:Console Variables|控制台变量]] - 一些关于控制台变量的东东.
 
{{otherlang:zh-cn}}
{{otherlang:en|Developer Console}}
{{otherlang:zh-cn:es|Developer Console:es}},
{{otherlang:zh-cn:jp|Developer Console:jp}},
{{otherlang:zh-cn:pl|Developer Console:pl}},
{{otherlang:zh-cn:ru|Developer Console:ru}},
{{otherlang:zh-cn:zh-tw|Developer Console:zh-tw}}
 
[[Category:Level Design:zh-cn|关卡设计]]
[[Category:Programming:zh-cn|程序]]

Latest revision as of 06:12, 12 July 2024

English (en)Deutsch (de)Español (es)Français (fr)Italiano (it)日本語 (ja)Polski (pl)Português do Brasil (pt-br)Русский (ru)中文 (zh)中文(臺灣) (zh-tw)Translate (Translate)
Console output for Episode Two

控制台 是一个用来配置和修改游戏的命令行界面工具. 事实上任何东西都可以通过控制台来修改, 并且有许多都是 有必要的.

启用控制台

控制台在默认情况下是无法启动的.激活它,需要开启游戏并在 设置 > 键盘 > 高级选项. 这将会出现两个选项, 其中一个就是 "启用控制台". 一旦激活, 就可以通过 Tab 上面的那个键, 也就是人民群众喜闻乐见的 "反单引号." `

Note.png注意:如果你的键盘上没有这个按键. 在游戏开始时,使用 -console启动游戏,然后输入bind 按键 toggleconsole (以代替原本的按键开启控制台).

提交

底部灰色的输入框是用来输入命令的. 它支持两种输入格式: 命令和变量. 命令是一种的代码, 但是特殊变量指令 ("cvars") 需要赋值才能被控制台接受. 当你设置一个特殊变量指令时你应该这样做 :

mat_wireframe 1

当你输入结束时,敲击Return或者 Enter来提交. 之后你将会在控制台窗口的最前端看到控制台返回你的信息 ].

一些小提示:

  • 使用空格键来分隔多个值. 如果一个值包含了字符, 请用双引号来区分这些字符. (例如say "Hello everyone on the server".)
  • 控制台有时会自动识别出你将要输入的命令(在输入框的下方弹出你将可能输入的指令). 通过/键来翻阅这些指令并通过 Tab 来选择这些指令.
  • 只有"archived" 这个指令会在游戏结束后进行. 使用autoexec(en)如果你想要在游戏开始自动运行一些指令.
  • 一些命令是服务器指令, 一些是客户端命令.在多人游戏中,你只能使用客户端命令.
  • 有许多命令都带有前缀.其中最常见的就是cl ("客户端命令")和sv ("服务器命令").在服务器上你有权限执行客户端命令(如果你不是服主),但你没有权利执行服务器命令,在服务器上只有服主能够执行服务器命令

实用指令

find <关键字>
这个经常使用到的指令find是用来搜索带关键字的指令的.十分有用
find_ent <关键字>
和find命令一样,只不过这个是用来搜索带有关键字的地图.
help <指令名>
简单的对所输入的指令名的功能进行介绍.
sv_cheats <bool(en)>
有许多特殊变量指令将会影响游戏性, 在多人游戏中这些指令将被视为作弊行为. 提交sv_cheats 1指令用来接触这些指令的限制.
Note.png注意:使用这个指令的服务器即使受到VAC(en)的保护也不会因作弊指令而被ban.
developer <0-2>
开发者模式将会提供更多的控制台命令,允许作弊和让控制台自动启动, 并且使得指令变得更加的有用和不受限制. 如果是使用2模式,最后输出的几行将会显示在屏幕上.
con_log <文件名>
condump
如果你想把控制台显示的内容保存成一个文件以便于以后使用,那么请使用这个命令吧. con_log是用来读取由condump保存的命令文件
Tip.png提示:控制台只能显示不超过241条的文件.也可以使用con_log来保存然后再继续操作.
Note.png注意:这个命令在不同的source版本表现的也不同,在半条命2中,这两个命令无法被识别!在CS:GO中con_log这个命令正确写法是con_logfile<文件名>

(中文译者注)


查看更多