nyuuzyou/wikis huggingface dataset:
Zh/Hammer Manual Configuration

==先看这个！==
如果在没有设置正确游戏配置的情况下启动 Hammer 编辑器，则在安装 Source SDK 后，Hammer 编辑器不会自动进行配置。你可以遵循下列步骤以手动配置。在以此来修复损坏的配置之前，强烈建议你首先尝试按照中列出的步骤修复配置。
==添加一个新游戏配置==
# 启动 Hammer。
# First Time Setup 对话框可能会显示。如果显示，点击 No 按钮：
#: 
# 如果 First Time Setup 窗口显示，现在应该打开 Configure Hammer 对话框。否则，点击 Tools 菜单中的 Options，然后点击 Game Configurations 选项卡。
#: 
# 点击 Configuration 下拉列表右边的 Edit 按钮，打开 Edit Game Configurations 对话框：
#: 
# 按下 Add 按钮。这将打开 Add a game 对话框：
#: 
# 输入新配置的名称，通常是游戏或 mod 的名称。点击 OK 确认您的选择并关闭对话框。
# 点击 Edit Game Configurations 对话框中的 Close 按钮。
==设置游戏目录和基础参数==
# 您现在应该回到 Configure Hammer 对话框，在 Configuration 下拉列表中选择你的配置：
#: 
# 点击 Game Data 文件列表右侧的 Add。Open 对话框会显示：
#: 
# 为你的游戏或 mod 选择合适的 .FGD 文件：
#* 对于 Counter-Strike: Source 配置，点击 cstrike.fgd 然后点击 Open 按钮。
#* 对于 Half-Life 2 配置，点击 halflife2.fgd 然后点击 Open 按钮。
#* 对于 Half-Life 2 Deathmatch 配置，点击 hl2mp.fgd 然后点击 Open 按钮。
#* 对于 Team Fortress 2 配置，点击 tf.fgd 然后点击 Open 按钮。
# 现在，您将返回 Configure Hammer 对话框，并填写以下字段：
#: 
# 在 Default texture scale 输入 0.25。在 Cordon texture 输入tools\toolsskybox。
# 在 Game Executable Directory 下方，点击 Browse 并选择游戏可执行文件（例如 hl2.exe）所在的文件夹。
#: 例如，Counter-Strike 的目录可能是：
#:: $SteamUserDir\Counter-Strike Source
# 在 Game Directory 下方，输入包含gameinfo.txt的文件夹的路径。
#: 例如，一个 Half-Life 2 配置的游戏目录可能是：
#:: $SteamUserDir\Half-Life 2\hl2
#: 对于位于 sourcemods 文件夹的 mod，游戏目录的形式为：
#:: C:\Program Files (x86)\Steam\steamapps\sourcemods\mod
# 在 Hammer Map Directory 下方，你应该输入要保存 .vmf 地图源文件的文件夹。
#* Counter-Strike 示例:
#: C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\cstrike\mapsrc
#* Half-Life 2 示例:
#: C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\hl2\mapsrc
#* Half-Life 2 Deathmatch 示例:
#: C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\hl2mp\mapsrc
== 设置生成程序 ==
# 点击 Build Programs 标签页：
#: 
# 在 Game Executable 中，输入用于启动游戏的 .exe 文件路径。
#* 例如，对于一个 Counter-Strike 配置，你的 Game Executable 应该是：
#: $SteamUserDir\counter-strike source\hl2.exe
#* 对于 Half-Life 2 配置， your Game Executable 应该是：
#: $SteamUserDir\half-life 2\hl2.exe
#* 对于 Half-Life 2 Deathmatch 配置， your Game Executable 应该是：
#: $SteamUserDir\half-life 2 deathmatch\hl2.exe
# 在 BSP executable 中，输入vbsp.exe的位置:
#: EXEDIR\bin\vbsp.exe</code>
#:: 是先前输入到 Game Executable Directory 字段中的值。
# 在 VIS executable 中，输入vvis.exe的位置:
#: EXEDIR\bin\vvis.exe</code>
#:: 是先前输入到 Game Executable Directory 字段中的值。
# 在 RAD executable 中，输入vrad.exe的位置:
#: EXEDIR\bin\vrad.exe</code>
#:: 是先前输入到 Game Executable Directory 字段中的值。
# 在 Place compiled maps in this directory before running the game 中，输入游戏目录(Game Directory)，并在其末尾添加：
#* Counter-Strike 的示例:
#: $SteamUserDir\counter-strike source\cstrike\maps
#* Half-Life 2 的示例:
#: $SteamUserDir\half-life 2\hl2\maps
#* Half-Life 2 Deathmatch 的示例:
#: $SteamUserDir\half-life 2 deathmatch\hl2mp\maps
#* MOD 的示例:
#: C:\Program Files (x86)\Steam\steamapps\sourcemods\MODDIR\maps
#:: MODDIR 是你的mod游戏目录的名称。
# 点击 OK。Hammer 现在已经完成配置，可以使用。
Zh/Hazard Course

Hazard Course 是 中旨在教玩家如何玩游戏的一个章节，也是“训练关卡”。本章后来在 版本上进行了扩展，增加了一个过场，在这个过场中，一位黑山基地的科学家解释了戈登在训练课程中可能受到的潜在伤害的风险，并引入了额外的房间，教玩家使用游戏机版本中的锁定功能。
== 介绍 ==
:"你好！欢迎来到黑山基地（港台译：黑色高地）危险应变课程，在此你将接受使用危险环境工作服的训练。我是你的影像助理，让我们先穿上你的工作服。你可以看到他悬挂在前方。"
==地图==
本章 由以下内容组成（PC 版本）。
*
*
*
*
*
*
==游戏截图==
File:t0a0_intro.png|开始危险课程，影像助理在等待。
=== 扩展版本 ===
File:HL_PS2_Hazard_Course_intro_screenshot.png|一位黑山基地的科学家解释了戈登在训练课程中可能受到的潜在伤害的风险。
Zh/Hazard Team Compile Tool

thumb | 450px | HTCT performing a sequential compile on a group of maps. 
Hazard Team Compile Tool (HTCT)是一个由 dky.tehkingd.u 大佬编写的地图工具，作为一种新的解决方案，它可以轻松地依次编译从到的大组关卡（同时它对于编译单个文件也同样有用）。
HTCT最初是作为黑山起源危险课程开发团队（现在称为PSR Digital）使用的内部工具。与其作为内部软件，开发团队决定与社区分享并免费提供。
HTCT的一些显著特点是。
* 它的存在是为了使序列编译更加快速、灵活并让其变的极其容易。
* 改变不同的编译设置就像从下拉菜单中选择一个不同的预设一样简单。HTCT带有许多编译预设，但也支持自定义预设。
* 支持使用Steam主文件夹以外的Steam库文件夹。
* 支持 VMFII 。
已知支持的SDK版本包括2007年、2009年、2013年的多人游戏(MP)和单人游戏(SP)、《半条命2》和《黑山起源》。
HTCT的最新版本是v0.6.0 BETA.
== 外部链接 ==
*HTCT v0.6.0 BETA download link 
* HTCT v0.5.0 Download @ TheRaZZeRApp
Zh/Hint brush

Hint 平面用于在编译时拆分，因此是优化 地图编译阶段结果的一种方式。
它们通常被称为 Hint ，因为它们以与普通世界固体相同的方式放置在地图中。Hint 平面由覆盖有 tools/toolshint 纹理的固体的一个边定义。可以通过为固体的多个边添加纹理或使用多个固体来定义多个 Hint 平面。固体的其他不充当 Hint 平面的一侧必须用 tools/toolsskip 覆盖；编译器将忽略这些面。
Hint 会自动绑定到其自己的自动可见组，因此你可以轻松隐藏它们。
== 为什么以及什么时候切分可见性分支区域 ==
有时，某些叶子（即“可见性分支区域”）形状比其他形状更受欢迎，仅仅是因为这种形状使这些叶子看到更少的其他叶子。每当看不到叶子时，就不会绘制叶子的内容，从而加快渲染速度。
下面说明了叶片切割的重要性，同时提供了提示有用的示例。
第一个示例与 SDK 示例地图几乎相同。这是一个单人房间的侧视图，玩家和管道被一堵墙隔开：
当玩家处于两个 player_start 中的任何一个时，引擎必须考虑是否应该绘制墙壁右侧的固体（管道）。发生这种情况是因为 vbsp.exe 没有采取最有效的方式将我们的关卡划分叶子：
因为叶子很高，一直到天花板，所以左边的叶子（和玩家一起）可以用管道直接“看到”右边的叶子。因此，引擎将绘制叶子和内容物（管道）。很遗憾，因为从玩家的角度看不到这些管道（它们在中间的墙后面）。我们可以使用 Hint 来引导叶子制作过程。
白线是带有工具 tools/toolshint 纹理的画笔的一面。它迫使 vbsp 将我们的地图分成三片叶子。在这种情况下，不能再有一条从玩家所在的叶子到管道所在的叶子的直线。这就是 Hint 的本质。
有时有点高，导致玩家在城市中看到很多东西，因为他们所在的叶子可以看到房屋（如上例所示）。这也是一个很好的情况，我们可以使用 Hint 来阻挡可见性。
== 角落 Hint ==
thumb|200px|right|caption|如果没有 Hint，当站在对面的角落时，这条走廊的任何角落都会被渲染。
这是一个典型角落的俯视图。有两个玩家（绿色盒子），两端的圆柱代表了很多引擎要绘制的东西。在这种情况下，Hint 的目标是避免在不必要的情况下渲染对象，例如，当玩家在远离对象的拐角处时。
有人可能会认为 vbsp 会确保每个玩家不会看到属于另一个玩家的对象。这是错误的。它将这个空间分成两片叶子，沿着棕色或粉红色的线切割叶子（取决于 vbsp 首先切割哪个固体面）。
无论哪种方式，两个角落的叶子彼此直接可见，因此当站在相对的角落时，每个角落的内容将始终渲染。
只需在角落放置一个 Hint，将我们的关卡分成三片叶子（总共三片而不是两片），但要确保一个玩家的东西不会从另一个玩家的角度渲染，就可以大大改善这种情况。
红色和棕色叶子之间没有直接的视线，因此避免了不必要的渲染。但是，如果其中一个玩家进入绿色的叶子，他们将看到自己和另一个玩家的东西都被渲染。你无法用 Hint 来阻止这种情况。阻止这种情况的唯一方法是更改关卡布局或使用其他方法，如中所述的方法。
== 更多示例 ==
frame|caption|right|使用 Hint 的各种方法。
以下是何时以及如何使用 Hint 的几个示例。在所有情况下，目标都是将绿色玩家彼此隐藏起来。上面的三个工作正常。左边的那个说明，即使它的一个 Hint 固体跨越角落也无关紧要，只要它的角度 > 180°，两个玩家就不会“看到”对方的叶子，因为他们的叶子之间没有一条直线连接。左下角的示例显示了当角度小于 180° 时可能会发生何种情况。我们可以很容易地从叶子到叶子画一条直线，导致非功能性 Hint（Hint 没有达到它的效果）。
当走廊的拐角是 180° 时，如中间顶部图片所示，两个 Hint 就足够了。事实上，他们甚至可以更接近玩家，但这会降低他们的效率（更多的东西将在“拐角处”绘制。在中间底部的示例中，Hint 的高度已降低，vbsp 被迫切割顶部的 visleaf，因为 visleaf 不能是。无论 vbsp 如何切割这个角落，Hint 总是会降低工作效率并创建额外的叶子（vvis 的更多计算）。在示例中，左侧玩家可以看到叶子 1 和 2（与上面的面相同），但右侧玩家将看到所有三个编号的叶子（这比顶部示例更多）。
右边的两张图片告诉你，你应该让事情尽可能简单。如果一个 Hint 就足够了，如上例所示，则首选。而且，显然，如果不需要，则不应使用 Hint，如下图所示。如图所示，vbsp 无法创建使两个玩家都能看到对方的叶子，因此这里不需要使用 Hint 来隐藏玩家（当然，可以使用 Hint 来隐藏走廊的某些部分）。在同一示例中，中间墙永远不应该是(detail brushes)。细节几何图形不会创建可见性分支区域，并且 vvis 不会考虑这些几何图形。它会认为两个玩家都会看到对方，这不是我们想要的。vbsp 甚至可能会执行这个操作，所以这里的两个玩家都在同一片叶子里。
总之，由于 Hint 在游玩地图期间没有直接的渲染成本，因此如果使用得当，它们是加快地图速度和控制可见性的主要方法。
== 用于简化的 Hint ==
最后，Hint 可用于简化地图。有时，vbsp 会将一个关卡切割成比必要的更多的叶子。这会增加编译时间。Hint 可用于抵消这种情况。例如，可以在门口放置 Hint，以防止门口切割它们连接的房间。或者，如果你收到某个叶子的错误，指出某个叶子正在穿过太多其他叶子，则可以使用 Hint 将该叶子切成多个叶子，从而穿过较少数量的叶子。
== 另请参阅 ==
* 
* 
* %compilehint，用于创建自定义 Hint 纹理。
* 
== 示例 ==
* sourcesdk_content\hl2\mapsrc\sdk_hints.vmf - Source SDK 中包含的示例地图。
Zh/How to Develop a Map That Works

本教程会提供一些大体的关卡设计意见，基本上都是有关于以及其Mod的地图构架。
== 计划 ==
不要一开始就使用！正确的做法应该是先用纸笔构建一个计划。如果你直接开始制作地图，那想改变地图的整体构架就不是那么容易了。
要制作的地图，可以注意一下以下问题：
* 大多数现实场景都包括巨大开放且重复的场景，制作一张地图时则要避免这种情况发生。
* 两队在游戏中第一次相遇的地方被称作相遇点，小心地布置地图，并注意玩家行走所耗费的时间，这些都是成就一张像de_dust2一样的好地图所必备的要素。
* 爆破区，防御点和狙击点的布置。仔细想想两队会以什么样的方式接近一个区域？爆破区应该离相遇点多近？
* 注意优化，好好考虑一台电脑该如何以最高性能来运行一张地图，像足球场一样大的地图会耗费大量机能去渲染，相对封闭扭曲的地对电脑的要求会更低，但会降低一定的游戏性。
== 简单的布局 ==
仔细观察一下其它地图，例如de_dust2，de_cbble或者其他官方地图，它们都无一不采用了“田字”的布局。几乎所有成功的地图都是这样的，只是有些地图的部分区域会分布在不同的高度。只要遵循这一布局，那么你的地图有很大几率会成为一张游戏性与竞技性兼备的成功地图。你可能也已经注意到一些像fy_iceworld一样的'娱乐'地图也采用了这种田字设计。如果你要做的是人质拯救地图，田字布局也是适用的。仔细观察一下cs_italy，这张地图有三条主要通道（长廊，中路，公寓），三条路都由一条主要的大道连接，这无疑又是一个田字布局的例子。
布局是影响你的地图成功与否的决定性因素，一张只有一条通往爆破区或人质区的路线的地图是非常无趣的，游戏体验自然也大打折扣。试着增加更多的可用路线并套用“田字”设计，这样一来游戏性便会大大增加。不过要记住，千万不要死板地把地图做成一个四方的盒子，应该加入一些曲折的小道和互相上下交错的道路，不然这样一张地图不会比一条直道更有趣到哪里去。我们希望你能听取我们的建议，但不要忘了在此之上自由发挥，制作出拥有全新的地图。这篇文档所给出的建议都只是在教授你构成一张高效高游戏性的基本法则，但千万不要被其所限制。
== 构建 ==
Valve自己在制作地图时通常都会在贴上贴图之前先构建“橙图”来测试地图游戏性。先专注于地图构造，再开始注意美工细节。只需先在地图上放置简单，巨大的笔刷固体并贴上dev贴图（在贴图浏览器里输入"dev"）。如果准备制作的是一张反恐精英的地图，最好放上几个重生点实体，购买区和爆破区。不要一开始就放置梯子，因为梯子作为游戏中少有的特殊移动装置，其对游戏平衡性带来的影响很难掌控，对新手来说尤甚，这也是为什么你很少看到官方地图里有大量的梯子。如果你想连接高低平台，先试试看斜坡。
* 每一阶段的地图构造都要考虑到优化。
* 在Hammer地图编辑器的选项中打开。
* 为了地图的干净与整洁，以及优化，不要重叠笔刷固体。
我们并不是在建议你应该立刻开始优化地图（例如在地图中加入hint brush ，等等），但你应该在制作地图时考虑这些要素，这样能使你在制作地图时更有效率。
尽早开始测试地图，这是为了确保相遇点会在最适合它的地方以及检查主要区域的优化
== 平衡性 ==
要测试地图平衡性，最好的办法就是在你的地图上放置20个BOT并让它们在地图上进行至少1小时的游戏，并观察它们的行为，如果测试结果显示在某些区域一方总是比另一方有优势，那这就意味着你需要好好的考虑这个区域的平衡性了。
当你觉得地图的平衡性已经没有问题了，那就是时候开始往你的地图加入贴图以及模型了。
== 小技巧 ==
; 目标
: 一个有着明确游戏目标的关卡能让玩家感觉到他们正在游玩的地图已经被很好地完成了，这能让玩家明确的觉得当前有些事情可做而不是迷失在空旷原野中。
; 互动
: 在关卡中加入物理及情感的互动，不要只是一味的增加门，火车和按钮，要更多的顾及关卡给人的感受，玩家在观察一个场景时应该要能猜到是什么导致了目前状况，并给出足够的暗示让玩家清楚接下来将要发生什么，让玩家感觉到他们是在一个活生生的场景中，视线所及之处充满故事，并与接下来剧情有直接或者间接的联系。
; 特点
: 光影，构造以及气氛都是一张地图的特点。地图的特点应和关卡的目标和互动有关联。
; 知难
: 有一件事总是把大多数关卡排除在"完美关卡"之外，那就是引擎和技术的限制。在创作关卡时，确保持续观察关卡的性能数据，不要在中途大幅度的改变地图的大小。
; 夸张
: 就算效果非常的逼真，最好也不要再制图时完全参考现实；夸张一些特定的地图要素能提高关卡对玩家的吸引力。现实中的大多数拥有奇怪的形状和位置的物体会让人感觉非常唐突，但在游戏世界中，这些物体会很难被与其它物体区分开来，有时夸张它们的形状和位置能够很好的凸显它们的存在。
== 参见 ==
* 单人模式制图技巧 - 更多关于单人模式的小技巧。
* - 一些帮助制图者们制作地图的简短训练。
* 是什么造就一张好地图？ - 一些给初学者们的建议。
== 外部链接 ==
*www.johnsto.co.uk - 一些由de_dust的制作者撰写的文章，能够帮助你开始学习关卡创作。
Zh/INFRA

是一款由Loiste Interactive开发的单人冒险游戏，使用起源引擎制作。以虚构的波罗的海城市史达堡为背景，玩家必须解决各种机电难题，并到访数十个具有独特游戏机制的区域，同时躲避衰败的城市基础设施的危害。
游戏以章节的形式发布，后两章作为可下载内容免费提供。最终章节于2017年9月27日发布。
== 特性 ==
改进光影贴图
: 基于传送门2的增强现在可以一次显示八个实体。
提高引擎限制
: 在一个关卡中可以使用更多的固体和实体，允许关卡做的更大，包含更多细节。
Zh/Id Tech 2

是为制作的引擎，后来又为进行了修改。它被用作和引擎的基础。
id Tech 2由以下两个“分支”组成:
* 引擎，为开发，并被使用
* 引擎，为开发，并被使用
== 参见 ==
* , id Tech 2的继承者，用于开发 .
* , 用于开发
Zh/Impulse

Impulse是一种同时作用于用户端与服务器端的 ），可在不更改用户端的网络管理等的情况下使用。
命令格式： [b]impulse 数字[/b] ，如 impulse 101 
与诸如cl_cmdrate或其他可能影响网络稳定性的控制台命令不同，Impulse命令只有在用户端发出之后才会被服务器接收并予以反馈，保证了数据通畅。
如果你的延迟较高，Impulse命令发出后，服务器需要更长时间才能接收并反馈给其他玩家，这是由于等网络优化设定让低延迟玩家的行走轨迹，在高延迟玩家的用户端看起来快于实际，即提前对低延迟玩家的操作进行预测，以免出现“打空气”的情况。但Impulse命令不受延迟补偿的影响，你的延迟越高，其他玩家越需要更长时间才能看到你发起的Impulse命令的反馈。
Impulse命令多用于开发和测试用途，且大多情况下需要开启作弊，详见开发教程有关::ImpulseCommands()、CBasePlayer::CheatImpulseCommands() 、 CHL2_Player::CheatImpulseCommands()的部分。
== Impulse ==
=== 通用指令 ===
控制台输入impulse加空格再加下方的数字，可用于大多Source引擎的游戏。
数字 	注意 	相关注释
50 	非作弊指令 	等同于《半条命2》当中默认的键盘C键，用于呼叫过来与玩家集合。
81 	 	获得武器，用于测试环境反射（详见）。
100 	非作弊指令 	默认为F键，开关手电筒，可能需要已经配备了（防护衣）。
101 	 	血量、武器、弹药全满。
102 	 	在玩家头顶生成一个有物理碰撞效果的头骨模型，对应models\Gibs\AGIBS.mdl。
103 	 	将玩家准星指向的NPC的当前AI状态输出至控制台，须开启。
106 	 	将玩家准星指向的实体的分组、（命名）、（对应的模型位置）一起输出至控制台。
107 	 	将准星指向的固体()所用的贴图名称输出到控制台，但建议使用 mat_crosshair ，后者可识别凹凸不平的置换表层()。
108 	 	将准星指向的NPC开启调试模式，用意不明。
195, 196, 197	不明 	按控制台指示，这三个命令分别显示距离玩家最近的空中、大型、人类NPC的AI节点(node)，实际不管用。
200 	 	收起正在使用的武器，实际是的一个动画，不影响开枪，部分武器没有收枪动画所以会直接消失。
201 	非作弊指令 	默认为T键，在准星处喷漆，仅多人模式可用。
202 	已无用 	将准星指向的表面喷满番茄酱，现版本Source引擎取消了该指令。
202 	非作弊指令 	播放外号为player jingle的音频，输出方式同喷漆，首先使用命令cl_soundfile 指向一个占用空间小于128Kb的wav文件，输入cl_customsounds 1然后加入服务器，即可使用Impulse 202发出声音。但这个命令只能用于Source SDK（第三方MOD）环境，游戏原作当中无用。
203 	 	移除准星指向的实体，用法同。
===仅用于《半条命2》系列游戏===
数字 	注意 	相关注释
50 	非作弊指令 	等同于《半条命2》当中默认的键盘C键，用于呼叫过来与玩家集合。
51 	 	刷出会给随机装备的补给箱（详见）。
52 	 	测距用，将当前玩家、准星指向处的XYZ轴坐标，以及3D直线、2D平面距离输出到控制台。
82 	 	刷出配备了高斯枪的。
83 	 	刷出汽艇，没有武器。
Zh/Info ambient mob

info_ambient_mob 是求生之路2中的一个点实体。 它是一个一般的环境尸潮 开始/结束(谨慎使用!)。
==Keyvalues（键值）==
==Inputs（输入）==
==Outputs（输出）==
==在官方地图中的使用例子==
以下地图使用了info_ambient_mob，但没有为它命名。
; c5m2_park
# Located in a secluded area behind the building right after exiting the safe room. It is the area furthest from the bar that has a dynamic pathway in c5m1_waterfront.
# An area of concrete fences unreachable, between the gazebo and the narrow pathway leading to the queuing/quarantine area.
# Facing in the direction of the escape route, way behind the quarantine/queuing area before the gauntlet event. Behind concrete barriers and fences by the weapon spawns along the highway path.
# Behind concrete barriers left of the stairs leading to the park entrance.
# In narrow alleyway from the previous map, right of the building when entering the safe room in c5m1_waterfront.
# In flow towards park, it is in the park to the far left where it is unreachable to survivors. It is square space consisting of walls made out of bush props.
# Right by the park bushes (number 6, above), but unreachable and surrounded by concrete walls.
==参见==
*
*
Zh/Info director

它是臭名昭著的 AI 导演，必须存在于每个求生之路和地图中才能正常游戏。
导演几乎完全自动化，仅在设计时存在于其他设计师放置的实体需要与其进行通信的少数情况下，例如在战役开场动画开始时强迫幸存者到他们各自的 。
可以输出导演的愤怒等级，让关卡设计师可以根据玩家的表现来调整条件。
== 强制至幸存者位置 ==
如果幸存者设置了幸存者名称，导演可以强制所有幸存者站在 处。
这用于战役开始时，以防止幸存者在地图下方生成，或在结局中将幸存者传送出地图以暗示他们在逃离载具内。
为此，请转到 info_director 输出并添加以下输出：
	OnGameplayStart	!self	ForceSurvivorPositions 	<none>	0.00	No
	OnGameplayStart	!self	ReleaseSurvivorPositions	<none>	0.20	No
=== 注意事项 ===
* 使用 控制台命令重新启动地图将导致导演忽略forcesurvivorpositions输入。
: 如果你在使用changelevel重新编译后重新启动地图并且你需要测试你的开场动画，请在之后使用kill控制台命令使任务失败，这将导致地图以重新启动的方式允许 info_director 使用forcesurvivorpositions输入，这也将允许你的相机运行。
* 不能触发forcesurvivorpositions除非地图是从游戏菜单中作为战役新加载的，或者在任务失败后重新启动。
: 为了解决这个问题，让导演使用ongamestart输入对自己调用forcesurvivorpositions和releasesurvivorpositions。当你的战役准备好发布时，如果你仍然想这样做，你可以在最终编译之前安全地将其改回使用 logic_auto，因为玩家将从游戏菜单加载你的战役。
== 键值 ==
== 输入 ==
=== 原始输入===
; PanicEvent
: 当地图发生某些你认为重要的事情时，应该让导演知道。
; PanicEventControlled <>
: 类似于恐慌事件，但允许通过波的数量对强度进行一些控制。早期地图的标准值为 1，后期地图为 2。
: 
; ForceSurvivorPositions
: 让每个幸存者站在一个 info_survivor_position。
: 
; ReleaseSurvivorPositions
: 让幸存者再次自由行动。
: 
; FireConceptToAny <>
: 向任何能够说出它的幸存者触发一个演讲概念。允许由地图实体触发幸存者对话（例如，带有参数 hospital04_path4 的毫不留情的电梯）
; StartIntro
: 开场动画开始时触发。玩家在此(输出)激活时免疫伤害。不会产生丧尸或特殊感染者。
; FinishIntro
: 开场动画结束时触发。玩家现在会受到伤害。鉴于玩家不再站在标记为 PLAYER_START 和/或 CHECKPOINT 的导航方块中，丧尸和特殊感染者可以生成。
; EnableTankFrustration
: 可用于启用Tank玩家在太长时间没有伤害幸存者时得到的超时(Tank 可以气死)。
; DisableTankFrustration
: 可用于禁用Tank玩家在太长时间没有伤害幸存者时得到的超时(Tank 不能气死)。
=== 额外输入===
以下是仅在 L4D2 中可用的额外输入。
; BeginScript <>
; EndScript
: 开始/结束一个。"BeginScript" 将自动结束任何正在运行的脚本，以启动另一个脚本。
; ScriptedPanicEvent
: 运行一个脚本化的恐慌事件，类似于大结局的阶段事件。
; ForcePanicEvent
: 触发恐慌事件，无论发生什么。
; EndCustomScriptedStage
: 结束脚本化的结局阶段。
; IncrementTeamScore <>
: 增加一个团队的分数。(2=survivors, 3=infected)
; CreateNewJournal <>
: 创建一个新日志。
; WriteToJournal <>
: 将任务写入到 I/O 日志。
; ExecuteJournal <>
: 执行指定日志中的所有任务
; RefreshInitialSpawnPositions
: 
== 输出 ==
=== 原始输出===
; OnGameplayStart
: 当地图加载后，所有玩家加入并开始游戏时触发。
; OnPanicEventFinished
: 当恐慌事件完成时触发。
=== 额外输出===
以下是仅在 L4D2 中可用的附加输出。他们专注于新的清道夫模式和 vscripts。
; OnCustomPanicStageFinished
: 当自定义恐慌事件或自定义结局的每个阶段结束时触发。依赖于 vscripts。
; OnTeamScored
: 当一个团队在清道夫加油口中放置清道夫物品时触发。
; OnScavengeRoundStart
: 当清道夫回合开始时触发。
; OnScavengeOvertimeStart
: 计时器时间到，游戏进入超时赛时触发。
; OnScavengeOvertimeCancel
: 时间被添加到计时器，结束超时赛。
; OnScavengeTimerExpired
: 时间到了，比赛没有进入超时赛。
; OnScavengeIntensityChanged <>
: 当紧张等级被更改时触发。 1 = 最高强度，随着数字变大而降低。
; OnUserDefinedScriptEvent1-4
: 从 Squirrel 触发的通用用户定义事件 (UserDefinedEvent1()-UserDefinedEvent4())
== 另请参阅 ==
* 
* 
* 
* 
* 
*
Zh/Info player start

它指示玩家将生成的位置和朝向方向。如果没有至少一个生成实体，大多数模组通常会在 (0, 0, 0) () 生成玩家。
== 键值 ==
== 标志 ==
== 另见 ==
* , , 
* , 
* , 
* 
* 
* 
*
Zh/Info survivor position

它定义了特定幸存者可以移动或锁定的点位/解锁点位由 通过info_director的输入/输出. 这对于创建使用镜头介绍场景是有用的, 因为它可以让你保证每一个幸存者不仅会站在特定的地方，还可以通过你使用 来让幸存者玩家的视角转到此实体,不考虑每个幸存者的身高差异.这对于为战役的第一张地图创建专业的介绍场景镜头非常重要.
== 键值 ==
== 输入 ==
== 输出 ==
== 另请参阅 ==
* 
* 
*
Zh/Info zombie spawn

}它用于手动生成丧尸。
一般来说，建议将僵尸生成留给 AI 导演，但它可能会有用处，例如在《牺牲》中的火车车厢中生成 Tank。
==键值==
:*0: No 否
:*1: Yes 是
==输入==
==输出==
==另见==
* - 产生普通、特殊和boss感染者的替代实体
*
Zh/Inputs and Outputs

输入（Inputs）和输出（Outputs）（统称为"I/O"）是指里的之间的通讯。实体拥有两种通讯方法：发送一个"输出"给其他实体，或者从其他实体接收一个"输入"。当一个实体被Kill（移除）的时候，实体可以发送一个"输出"给其他实体的"输入"，使其改变颜色。相同的"输出"也可以用于触发另一个实体的刷出（spawning）"输入"。"输出"通过一个"连接"来匹配"输入"，它控制了哪些额外的数据被传送到接收者，在接收"输出"之前要延迟多久，并且"输出"是否允许稍后再次发送。"输出"可以连接到任何"输入"，反之亦然。这将允许实体间进行复杂，强大的互动。
考虑一下实体。它可以配置为当达到时间限制时去"激活"OnTimer"输出"，"触发" （或叫"调用"）一个上的ShowSprite"输入"。当定时器达到了时间限制时，动画会出现。通过配置连接属性，你也可以让"输出"延迟2秒后才触发，或者让其只能触发一次。
== 输入 ==
输入（Inputs）是让一个实体改变其工作的命令。他们由输出"触发"（或叫"调用"） - 它们不能直接操作。
你可以查看一个”实体能接收的"输入"事件”的列表，这个列表里的项出现在里的"输入（Inputs）标签页里"。单击"标记（mark）"按钮的话，将会显示出接收这个"输入"的实体。
== 输出 ==
输出（Outputs）是当一个实体的状态改变时激活的事件。举个例子，一个达到限定时间时会有一个"输出"，按下一个时也会有一个"输出"，关闭一个时同样也会有一个"输出"。
"输出"事件是在里的"输出"标签页（Outputs tab）里创建的。这个接口提供了一个已经从实体释放出来的"输出"的列表，配置区域为一个（或多个）当前已选择的，按钮用来创建新的和删除旧的。最后，点击左下方标有"标记（mark）"的按钮，将会显示出当前"输出"的目标实体。
"输出"的配置区域是：
; "输出"名字
: 决定什么事件能激活这个输出。例如，当一个玩家进入一个实体，那么会激活一个OnTrigger输出。
; 目标实体
: 实体的名为或的会接收"输入"。接受作为搜索通配符的*字符。
:* 一个粗体的名字意思是目标名字（targetname）指向多个实体。
:* 一个红色的名字意思是目标名字（targetname）没有指向任何目标。
; "输入"名字
: 目标实体上的"输入"会被触发。这也是上下文相关的。举个例子，如果发送一个"输出"给一个门实体，可用的"输入"将会是"关闭（Close）或打开（Open）"。
; 参数
: 你可以带参数将数据传送给目标实体。一个参数可以是任何东西：用多大的音量播放一个，另一个实体的，或者是。这一切都取决于接受什么样的"输入"。如果什么都不接受的话，这个区域将会是灰色的。
: 一些"输出"，如的OutValue，自己生成参数。要使用一个已生成的参数，只需要让那个区域的值为<none>。
; 时间延迟
: 在激活"输出"事件之前要等待多少秒。
; 只激活一次
: 如果勾选这个，在激活"输出"后，该"输出"会被删除。
== 设置一个简单的触发器 ==
这是一个如何使用"输入"和"输出"做一个简单的触发器的例子，当玩家进入一个指定的区域时播放声音。
打开一个地图，然后添加一个实体（在名字（Name）区域里，键入"ambient_1"）。打开它的物体属性（Object Properties），选择一个要播放的声音文件，之后在Flags标签页，勾上"（一开始无声）Start Silent"。选择"tools/toolstrigger"贴图，然后用这个贴图创建一个方块固体。在这个固体上右击，然后选择""命令，然后选择成实体。打开输出标签页，然后点击添加（Add）...按钮。
设置"我的输出名（My output named）"为"OnStartTouch"。这样的话，在游戏里当玩家开始接触到这个固体时，就会产生一个"输出"（从而触发目标）。
使用下拉箭头设置"目标实体名（Targets entities named）"为"ambient_1"。这会让触发器输出的目标指向你先前放置好的ambient_generic。
设置"通过这个"输入"（Via this input）"为"PlaySound"。这会选择目标ambient_generic的动作列表里的PlaySound动作，让其开始播放声音。
点击应用（Apply）按钮来保存你对触发器的更改，然后关闭它。现在我们已经设置了触发器，所以一旦玩家接触到它，它会发送一个命令给ambient_generic，让其开始播放声音。
如果你打开ambient_generic的属性，你可以看到触发器的"输出"是如何自动转换成ambient_generic的"输入"的。
如果你想编译和测试你的新触发器，请确保你已经拥有了地图所需的东西（玩家出生点，光照等等），并且已经分配了一个声音效果给ambient_generic。
== 调试 ==
Source提供了各种调试工具，用来调试那些工作不正常的I/O连接。
其中最重要的是物体的属性对话框。无效的输入输出会红色高亮显示在实体的"输入"或"输出"列表，对话框下方的I/O图标也会发生相应的变化。无效的"输出"也会显示在里()。在每次编译前用这个来检查问题是个不错的主意。
抛开Hammer不说，游戏里有很多命令和变量可以在运行地图过程中帮助你发现错误。
; developer <0-2>
: 报告所有实体的I/O到控制台，如果你在一个上玩的话，需要启用（下面所有的命令都需要它）。如果你在developer 2模式下，控制台显示的最后一组信息会显示在你的屏幕的左上角。
; ent_messages_draw <>
: 显示的东西跟开发者（developer）模式一样，除了代替控制台出现的东西外，它还会显示在3D世界里的实体位置上。
; ent_fire <或> <input> <parameter>
: 这个"非常"有用的命令允许你在任何时间手动激活任何实体上的"输入"。如果你想提前解锁一个门，你可以输入ent_fire my_door unlock，如果你懒得用ent_fire my_door open，那么试试这个吧。
: 在Hammer里的"输出目标（output target）区域里"，ent_fire支持类名和通配符。像ent_fire npc_* ignite是可以使用的！ 
; ent_pause
: 这个命令暂停除玩家外的所有实体；再次提交这个命令来解除暂停。它用来和ent_step搭配使用。
; ent_step <步骤编号（number of steps）>
: 当和ent_pause一起使用时，这个命令让实体在再次暂停之前执行一个特定次数的I/O步骤（默认是1）。
== 参见 ==
* 
* 
* 
* 
*
Zh/Installing and Debugging the Source Code

== Source SDK 2013 ==
见 
== 安装 ==
# 启动Source SDK选择 Create a Mod. 见 获得更多细节.
# 
# 完成！可以先选择来开始你的Mod制作。
在Linux上编译, 见 . 见 GitHub来获得最新代码
== 调试 ==
调试 是一个人仔细检查程序内部工作的过程。它可以找到崩溃和其他错误的原因。
=== Windows ===
# 确保你是在 Debug 状态下工作，而并非是 Release.
# 在解决方案浏览器 (Microsoft Visual C++，也可以是Visual Studio),右击可用的项目 (加粗的) 并选择 Properties. 在Server或者Client上工作都没关系，但最好选择Client(HL2).
# 在弹出的窗口中的左栏中选择 Debugging
# 路径必须定位到使用的 SDK 版本. 例如 Source SDK 2013，单人模式模组的设置应该如下： 
 Command: C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Singleplayer\hl2.exe
 Command Arguments: -allowdebug -dev -sw -condebug -console -toconsole -game "C:\My_Mod\source-sdk-2013\sp\game\mod_hl2" +map my_map
 Working Directory: C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Singleplayer\
# 在调试前你必须解包所有的游戏资源到你的模组文件夹或者SDK里 (不低于 2006 版). 不然会白屏, 粉色控制台或者别的BUG! 这很重要. 你需要着色器 (白屏bug) ，从 Source SDK Base\vpks里获取，然后是 resources\ to Source SDK Base\hl2\ (修复目录字段) 最后是 Source SDK Base\platform (粉色控制台), 不要忘记t expressions\, 否则NPC不会动他们的嘴唇，以及别的东西 像是模型，材质之类，不要尝试使用不同的起源引擎模型除了来自你的SDK的，不然会有BUG
你任何时间都可以按下F5来调试. 
=== Linux ===
（译者：没用过Linux，偷懒了 :D）
# Use the environment variable CFG=debug when running the command you normally use to generate the makefiles with the script. (Run again with CFG=release to go back to producing release binaries.) 
# Make and Install
# Open a terminal window and cd to the location of the executable you are running
# Perform gdb srcds_linux (or whatever the name is)
# Perform run <parameters> to start the program
* On a crash ("segfault"), do bt ("backtrace") to see the callstack.
* To break into the debugger, press ; to continue afterwards perform cont.
* To set a breakpoint, do break <function>. See help breakpoint for more details.
* To print an expression, do print <expr>.
Category:Programming
Category:Modding
Zh/Integer

一个整型是一个，用于存储整数，或者换句话说，一个没有小数点的数字。它的声明如下：
 int someIntegerName;
标准整数也被称为32位整数。整数的替代类型包括short，它是一个16位整数，占用一半的内存，具有一半的值范围，以及long，一个64位整数，具有双倍的值范围和双倍的内存使用量，或者有时是
另外，整数、short和long可以声明为unsigned，这个标识符消除了变量存储负值的能力，并且将其正值的容量加倍。因此，如果你知道你不会需要任何负值，一个unsigned short将具有与int一样好的值范围，并且内存使用量减半。
以下都是有效的：
 int normalInteger;
 unsigned int positiveInteger;
 short shortInteger;
 unsigned short positiveShort;
 long longInteger;
 unsigned long positiveLong;
记住，如果你想存储一个始终为负值的值，只需使用一个无符号类型，然后在它前面加上负号！
 unsigned short health = 100;
 unsigned short attackEffect = 13;
 unsigned short recoveredHealth = 5;
 short netChange = recoveredHealth - attackEffect;
 health += netChange;
== 另见 ==
* s
== 外部链接 ==
* 整数 - 关于这个主题的维基百科文章。
Zh/J.A.C.K.

（通常称为 ）是一个用于具有 架构的游戏的地图编辑器。Jack 主要基于 ，通过添加许多在 、 等中找到的灵感，改进了来自 的体验。
支持 、、 和 ，以及许多其他在其引擎上运行的游戏和模组，如 、 和 。
Jack 在其网站上免费提供。也有付费版本，在 上也提供，包含一些错误修复和额外功能。
== 功能 ==
=== 一般功能 ===
* 跨平台编辑（Windows 和 Linux）
* 大内存寻址（64 位）
* 可通过插件进行扩展
* 支持各种游戏格式和资源
* 可定制配色方案
* 实时纹理效果（透明、动画、滚动）
* 改进的贴花渲染（半条命）
* 嵌入式着色器编辑器（Quake III）
* 支持大型地图（最大 262144 x 262144 单位）
* 每个对象有多个 VisGroups
* 与游戏配置绑定的纹理
* 按需加载资源
* 动态天空渲染
* 支持来自 Quake III 引擎的曲面（补丁
===2D 视图功能===
* 可调整偏移、比例、亮度和过滤的背景图像
* 可在三维视图中拖动时进行选择
===3D 视图功能===
* 拖动对象时现在可以进行选择了
* 显示模型和精灵图的源头
* 用户摄像机的放置、移动、删除、保存和加载
=== 实体编辑功能 ===
* 智能模式改进，可预览分配的键值
* 支持 Hexen II
* VMF 格式导入和导出（仍在测试）
* 非平面面的三角测量
* 带有版本号的增量保存
* 改进的实体报告与隐藏实体管理
* 高级修补纹理功能
===其他功能===
* 纹理浏览器中的标签
* 隐藏触发器和未知实体的功能
* 在顶点操作过程中锁定纹理轴
* 在状态栏中显示选择中心
* 子菜单的撕离模式
* 在 Quake 3 着色器中支持变形顶点自动喷射和自动喷射 2
* 更多微小改进
===附加功能（旧版本）===
* 在编辑器内编译地图（无阻塞）
* 在 3D 视图中自动选择
* 改进了网格捕捉功能
* 在复制/粘贴和克隆操作过程中保留内部连接
* 模型查看器集成
* 扩展了实体描述的 FGD 格式
* 自动保存功能
* 更新检查
* 多语言支持（英语、俄语、乌克兰语、白俄罗斯语、波兰语）
* 在 3D 视图中精确选择模型
* 加载和渲染门户（*.prt）和船体（*.p0-p3）文件
* 为实体分配随机偏航
* 多重纹理拟合
* 通过缩放替换纹理
* 创建实体的上下文菜单
更多详情，请参阅更新日志。
== 小知识 ==
* 被用于制作 中新增的四张死亡竞赛地图中的三张｝ 25周年更新。其中 和 是使用免费版本（1.1.1064）制作的，而 则是使用 Steam 版本（1.1.2800）制作的。
== 支持 ==
附带了以下游戏的，这些游戏已经过更新，可以利用更新的功能：
* 
** 
** 
** 
* 
** 
** 
** 
* 
** 
** 
编译器也包含在内（除了 Steam 版上的 以外），但已过时；请参阅上文的说明。
有关其他支持的游戏，请参阅和。
== 外部链接 ==
* 主页
* 网站
* 下载页面
* 
* HLFX Topic 阿尔法版本.
== 参考资料 == 
# HLFX Topic 首次宣布的主题 (Volatile Hammer Editor).
# J.A.C.K. 功能列表 官方网站.
Zh/JBMod

__NOTOC__
 
	 
 是最早发布的模组。它是在 发布后不久开发的，于 2004 年 12 月 1 日至 9 日之间。该模组是 的前身，与它非常相似。它的主要功能包括回归的“物理操纵器”（也称为“物理枪”）和“粘性发射器”（或“粘性炸弹发射器”），后者已从 的最终版本中移除， 以及更多。
== 外部链接 ==
* 网站
* ModDB 页面，其中包含“Gay Bee Mod”
* YouTube 页面
Zh/Keyvalue

键值(Keyvalue)是用于修改游戏代码中的变量的指令。
== Hammer 和键值 ==
每种类型的实体都有许多可以从对话框更改的键值。key在列的左侧被选中，它的value在右侧被调整。
== 另请参阅 ==
* (编程的)