nyuuzyou/wikis huggingface dataset:
Zh/VMDL

带有 VMDL 扩展名的文件是内容端的文本文件，利用工具能够编译出游戏端的二进制文件(VMDL_C)。
一个模型被存在中后，会写出VMDL文件。当VMDL数据有更新时，或工具检测到变化，便会编译模型。
== 参考文档 ==
* 动画(Animation)
* 附着点(Attachments)
* 击中范围(Hitboxes)
* 内外部引用(Internal External References)
* 细节等级群组(LodGroup)
* 材质群组(MaterialGroups)
* 材质映射(MaterialRemap)
* 网格(Mesh)
* 网格群组(MeshGroup)
* 物理网格(PhysicsMesh)
== 注意事项 ==
* 每个VMDL文件的第一行是定义构架的文本，这并不是文件的唯一ID或是其他任意特性。
* VMDL里的文件路径，是相对于当前游戏的内容目录里。
* 元素引用的名称可以是内部的,也可以引用一个外部文件路径。
* 一个VMDL文件可以在没有提供全部字段的情况下被编译。
这个例子将会编译一个简单的静态道具：
<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CVModel CVModel_0
{
	CVmeshList m_meshList = CVmeshList
	{
		CVmesh[] m_meshList = 
		[
			CVmesh
			{
				string m_meshName = "test"
				string m_meshFile = "models/test/dmx/mesh/test.dmx"
			}
		]
	}	
}
== 大型实例 ==
一个空白VMDL文件如下：
<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CVModel CVModel_0
{
	CVmeshList m_meshList = CVmeshList
	{
		CVmesh[] m_meshList = 
		[
			
		]
	}
	CVphysicsMeshList m_physicsMeshList = CVphysicsMeshList
	{
		CVphysicsMesh[] m_meshList = 
		[
			
		]
	}
	CVmodelInfo* m_pModelInfo = NULL
	CVhitBoxSetListReference[] m_pHitBoxSetLists = 
	[
		
	]
	CVattachmentListReference[] m_pAttachmentLists = 
	[
		
	]
	CVanimGroupReference[] m_pAnimGroups = 
	[
		
	]
	CVNodeMaterialGroupListReference m_pMaterialGroupList = CVNodeMaterialGroupListReference
	{
		NodeMaterialGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVMeshGroupListReference m_pMeshGroupList = CVMeshGroupListReference
	{
		MeshGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVLODGroupListReference m_pLodGroupList = CVLODGroupListReference
	{
		LODGroupList_t* m_pObject = NULL
		string m_sFileName = ""
	}
	CVpropBreakableListReference m_pPropBreakableList = CVpropBreakableListReference
	{
		CVpropBreakableList* m_pObject = NULL
		string m_sFileName = ""
	}
	CVpropDataListReference m_pPropDataList = CVpropDataListReference
	{
		CVpropDataList* m_pObject = NULL
		string m_sFileName = ""
	}
	CVConstraintListReference[] m_pConstraintLists = 
	[
		
	]
	string m_collision = ""
	string m_sMDLFilename = ""
	string[] m_scriptFiles = 
	[
		
	]
	CVMaterialRemapList* m_pMaterialRemapList = NULL
	float m_flFbxScale = 1.000000
}
== 引用链接 ==
*
Zh/VRAD

VRAD是一个工具，它接受已编译的BSP映射并将光照数据嵌入其中。VRAD的静态和预烘焙的光照通过辐射度算法在世界空间内进行反弹计算。
VRAD将进行：
* 生成
* 生成
* 生成每个对象或每个顶点的和的照明
VRAD通常是三种编译器中最慢的，它完全使用CPU的计算单元来算辐射度方程。这是非常恐怖的算力消耗。可以提供些许性能上的优化，但确保你的地图没有。
== 语法 ==
 vrad [选项...] <bsp文件>
例如：
 "Half-Life 2\bin\vrad.exe" -both -StaticPropLighting sdk_trainstation_01
这将在prop_static实体的每个顶点细节处生成并嵌入标准和的光照数据。
==选项==
通过或批处理文件来结合使用。
=== 效果 ===
=== 性能 ===
=== 调试 ===
==光照文件==
光照文件是一种纯文本文件，可用于在编译静态光照时操纵VRAD处理给定的方式。所有光照文件必须具有.rad文件扩展名，并且必须与位于同一文件夹中。
这里有：
#lights.rad，全局文件。
#自动加载的地图光照文件，使用<map name>.rad格式。该文件必须放在与<map name>.vmf相同的文件夹中。
#可以使用-lights参数添加任意数量的其他光照文件。
=== 规则 ===
Lights文件执行这些功能，每行一个规则：
;<material> <red> <green> <blue> <intensity> <hdr_red> <hdr_green> <hdr_blue> <hdr_intensity>
:当应用到表面时，使材质发出指定的光照值（hdr_值是可选的）。纹理比例对最终强度有影响。
;noshadow <材质名称>
:阻止指定材质投射阴影。
;forcetextureshadow <模型路径>.mdl
:使用-TextureShadows运行VRAD时，为模型启用半透明阴影测试。路径相对于模型文件夹。
;ldr:
;hdr:
:制定任何规则的前缀仅适用于LDR或HDR照明。
;hdr:ldr:
:VRAD会始终忽略以这两个标签开始的行（按此顺序）。可用于添加注释或快速禁用某些条目。
==另见==
* 
* 
* 
*
Zh/VRAD (Source 2)

VRAD2 和 VRAD3是将照明数据嵌入地图中的工具。它是 相较于 的升级版本。
在 中，预览和烘焙光照都需要支持光线追踪的 GPU（英伟达 RTX、英特尔 Arc 或 AMD Radeon 6xxx+ 系列）。如果您的 GPU 不符合要求，也可以使用旧版过时的 CPU 光照编译器。
与以往的 VRAD 大不相同的是，Source 2 的 VRAD 使用了全新的光照解决方案。
 的 以及 的 使用了较为古早的光能传输方案，也就是“辐射度”（Radiosity），它的一个重大缺陷就是难以编译出精细光照。而 的 VRAD 则致力于解决这样的问题。
 的 VRAD 对光传输框架进行了彻底的重构，使用了基于随机采样的光线追踪（Ray Tracing）算法，并配合 Intel OIDN 降噪库对光照贴图进行去噪，得到高质量的光照烘焙。
值得注意的是，我们发现在 的 GPU Path Tracing 更新 Vulkan 光线追踪管线前， 的 VRAD 一直在使用 Intel Embree 光线追踪框架，这是一种针对 CPU 的光追实现。
Vulkan GPU 光追和旧版的 CPU 光追编译器有着很大的差异。Vulkan 光追管线利用具有光线追踪加速单元的 GPU 进行加速，得益于 GPU 超高效率的并行计算，Vulkan GPU 光追编译能比 CPU 编译最高快上数百倍。
需要注意的是，由于采样算法的差异，CPU 光追编译不支持 的一些新的光源类型。
== 参见 ==
* - 对应
* - 对应
Zh/VRAD HDR Crash Fix

此修复适用于 VRAD 在使用参数-both开始 光照通道时崩溃的情况。当编译到 LDR 部分是通常无错误地完成，但是，一旦开始 HDR 部分，VRAD 就会崩溃而不会出现错误消息。
== 解决方案 ==
在vrad.exe执行中分割 LDR 和 HDR 通道似乎可以防止发生这种崩溃。这与定义 2 个 VRAD 命令一样简单——一个使用-ldr开关，另一个使用-hdr开关——而不是在 Hammer 的编译配置中使用-both参数。以下内容将详细说明如何在 Hammer 中实现这一点。
感谢 Steam 用户论坛的 Xanthi 为此解决方案提供了重要信息。
== 配置Hammer ==
# 在Hammer中打开 Run Map 对话框（File > Run… 或 ）。
# 如果尚未处于“专家模式”中，请单击对话框左下方的“专家（Expert）”按钮。
# 从配置下拉菜单中选择“HDR Full Compile”。
# 选择第三个项目，其内容应该为$light_exe -both -game $gamedir…
# 在对话框的右侧的标有“参数”的文本框中，将参数-both更改为-ldr。现在其内容应该是-ldr -game $gamedir $path\$file。
# 单击“新建（New）”按钮在配置中创建一个新命令，然后在列表底部选择新建的空白命令。
# 按下“上移（Move up）”按钮两次，将新命令移至刚刚编辑的命令的下面。
# 在标有“Command”的文本框中输入$light_exe或者按“Cmd”按钮，然后在下拉菜单中选择“LIGHT Program”选项。
# 在参数文本框中输入-hdr -game $gamedir $path\$file。
现在，在 Hammer 里有一个修改好的HDR编译配置。你必须在“专家”模式下使用此配置。“正常（Normal）”模式仍然使用-both标志进行HDR编译。
Zh/VScript

本页面内容由Ellent翻译，基于先前Dazai Nerau的版本参照英文原页面进行了更新. 欢迎任何人补充新内容或者修改其中的错误。
最后修改时间（截止至本次编辑）：2024.10.29
----
__NOTOC__
VScript，在中首次引入，在后来的更新中被移植回了，是一种用于脚本编程的虚拟机，它在引擎和和外部脚本之间充当一个抽象的绑定层。根据我们可以推知，以下的脚本语言已经或者在不久的将来能够得到支持：
* Squirrel
* Lua
* Gamemonkey
* Python
脚本文件放置于游戏目录内的 scripts/vscripts/ 文件夹中。
要了解如何使用 VScript，请参阅 。
==实现==
=== ===
:脚本范例
:脚本API列表
:
:
:
:
:
:Vscript相关文档位于其专用页面 Vscript API Reference
: 的仅存在于 TF2 的 SFM 版本中。没有 TF2 或 SFM 特定的 API。不可用。
:
:
:
:
:
:
 (自定义版本) 
:脚本编写
:脚本API列表	
===Lua ===
 (仅限于客户端/用户界面)
:
:
:官方教程
:
:
:
:
:
:
;General 
:
:脚本API列表	
===Python===
;
:
==推荐阅读==
*
*
Zh/VScript Fundamentals

本页面内容由Dazai Nerau译自. 欢迎任何人补充新内容或者修改其中的错误.
这篇文章旨在阐述有关脚本的基本概念以及使用方法.
== 表和脚本域 ==
脚本环境由关联数组或者 表 构成 , 彼此之间互相嵌套. 
脚本被加载时, 它就会被放置在一个被称为它的脚本域的表中, 然后脚本中的任何代码都能够被执行. 执行完代码后，所有的变量、函数以及类都会被保存在脚本域中.
== 脚本句柄 ==
与游戏中的实体进行交互是经由 脚本句柄 得以实现的, 脚本句柄是一种用于引用特定实体的对象. 脚本句柄包含了访问器（accessor）和修改器（mutator）方法以读取和修改实体的属性. 方法的可用性取决于游戏和实体的类型. 请阅读各种游戏的脚本的API参考以了解详情。
所有正处于游戏中的服务器端的实体都可以通过CEntities类的对象Entities来搜寻或者迭代。
== 实体脚本 ==
详阅文章
常见的VScript用法是使用实体脚本来扩充实体的功能.
添加一个脚本到一个服务器端实体的vscripts (实体脚本)键值将使得该脚本作为实体脚本被加载. 该脚本将在实体产生后被自动执行, 并加载到一个脚本域内，该脚本域由唯一标识符+实体名称或种类名组成; _<unique ID>_<entity name>, 并被放在根表中. 如果一个实体没有任何脚本被执行, 可以通过 CBaseEntity::ValidateScriptScope() 方法来手动创建一个脚本域.
可以通过在vscripts 键值中指定多个脚本来加载其他脚本, 或者使用 RunScriptFile 输入. 在同一实体上运行的所有脚本将加载到相同的脚本域, 覆盖任何相同的变量和函数.
Think函数可以被设置于thinkfunction 中或者由 AddThinkToEnt() 函数来添加, 被指定的函数会以0.1秒一次的频率被调用. 函数也可以通过I/O系统的 RunScriptCode function_name(argument, ...)和RunScriptFunction function_name这两个输入来手动调用。
实体脚本有 self (起源1) 或者 thisEntity (起源2)这两个能够引用它自身实体的脚本句柄.
=== 预定义的钩子函数 ===
实体能够从C++端（游戏的底层代码）中调用其脚本域的函数, 我们称之为钩子函数(Hook Functions), 简称钩子.公共实体类被写入了一些预定义的函数调用(predefined function calls)，以在特定事件发生时允许脚本执行代码. 例如, 在一个实体脚本中创建一个名为 Precache() 的函数将在实体生成后立即调用该函数, 以允许脚本预缓存自定义的资源. 这些钩子函数不需要注册,并且只要名字没写错的话就会在合适的时候被调用. 请参阅游戏的API文档以了解每个类可用的钩子函数.
== 交互 ==
=== 触发输出 ===
如果游戏的API支持的话, 脚本可以通过EntFire() 和 DoEntFire() 来对地图上的实体触发输出. 可能还有更多类似的函数, 取决于游戏. (译者注：例如CSGO还有EntFireByHandle()这一函数)
如果函数支持activator 和 caller 的参数, 就可以使用"!self" 或者 "!activator" 关键字将输出发送给实体,而不必知道其targetname,前提是句柄有效.
使用RunScriptCode 输入可以通过I/O系统执行任何VScript代码. 代码将在被调用实体的脚本域中运行.
示范代码:
// 将拥有脚本域的实体的生命值设置成500
DoEntFire( "!self", "SetHealth", "500", 0, self, self )
=== 关联输出 ===
通过CBaseEntity::ConnectOutput(string output, string function)方法, 实体输出可以关联到实体的脚本域中的函数.
在函数被调用期间, 变量 activator 和 caller 会被设置为I/O链中激活实体与调用实体的句柄, 从而可以轻松地找到是哪个玩家触发了某些内容.
示范代码:
// 当玩家使用时,点燃道具
function IgniteSelf()
{
	DoEntFire( "!self", "Ignite", "", 0, self, self )
}
// 关联OnPlayerUse输出与脚本函数.
self.ConnectOutput( "OnPlayerUse", "IgniteSelf" )
=== 输入钩子 ===
当实体接收到了输入, 游戏代码会尝试在接收实体的实体脚本中调用格式为 Input<Name of Input>() 的脚本函数. 如果该函数返回 false, 输入就不会被触发.(译者注：这意味着输入可以被打断)
与关联实体输出的函数一样, activator 和 caller 这两个变量会被设置为激活实体和调用实体.
示范代码:
// 一个门或者按钮的脚本, 监听Unlock输入
// 禁止门被打开, 除非尝试开门5次(进行了5次unlock输入).
UnlockCounter <- 5 // 实体脚本域的本地计数器
// 接收到Unlock输入时调用
function InputUnlock()
{
	UnlockCounter--
	
	if( UnlockCounter <= 0 )
	{
		return true // 允许解锁
	}
	
	return false // 打断输入
}
== 术语表 ==
;Entity handle（实体句柄，也称为EHANDLE）
:一个能够传递C++ 的EHANDLE的不透明的实体引用（类似于指针）. 只能与其他句柄进行比较或传递给期望需要用到它们的API函数, 很少被使用到.
;Script handle（脚本句柄）
:具有C++实体对象的访问器和修改器的实体实例. 在C++代码中表示为HSCRIPT typedef.
;Script scope（脚本域）
:脚本的执行上下文（Execution context）.它是一个包含了VScript的变量，函数和类的表.
== API参考 ==
== 推荐阅读 ==
* 
* 
* 
* 
*
Zh/VVIS

或 Valve Visible Information Set(Valve可见信息集) 是一个工具，用于将编译后的 地图和嵌入的可见性数据结合在一起。VVIS 测试哪些 可以相互可见，哪些不可见。更详细的说明，请参阅 。
VVIS 将：
* 通过 裁剪视平面测试 之间的可见性。
* 如果配置了，强制执行最大的可见性距离。
== 语法 ==
 vvis [选项...] <bsp 文件>
例:
 "Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
这将生成并嵌入一个可见性图表，将门户数据写入到 .\tmp\sdk_trainstation_01.prt. 
==选项==
与 或批处理文件结合使用这些命令：
=== 功能 ===
; -fast
: 只进行一次快速的第一遍。实际上不测试可见性。
; -radius_override <>
: 强制一个最大的可见半径（），而不管是否指定了一个 。
; -nosort
: 不要对门户进行排序(优化)。
; -tmpin
: 从 \tmp\<mapname>中读取门户数据.
; -tmpout
: 在 \tmp\<mapname>中写入门户数据.
=== 常规 ===
; -low
: 以空闲优先级进程运行。
; -threads
: 控制使用的线程数。默认情况下，线程数等于你机器上的处理器数量（对于具有超线程/SMT CPU的机器，则乘以2）。最大线程数为16个。使用，你可以达到32个线程。
; -verbose (-v)
: 打开详细输出。
; -novconfig
: 不要在vproject错误时显示图形UI。
; -mpi
: 使用来分配计算。
; -mpi_pw <>
: 使用密码选择一组特定的 辅助。
; -vproject <string>
; -game <string>
: 覆盖环境变量。
== 控制台输出 ==
VVIS将有关编译过程的各种信息打印到控制台。请注意，旧版本的输出可能有所不同。
; number portalclusters
: 地图中的有效 visleaves 数量（与 聚集在一起的 visleaves 算作一个）。
; number numportals
: 连接上述 visleaves 的门户数量。
; BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
: 粗略的可见性计算，用于从最终计算中轻易地排除看不见的区域。
; PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
: 运行实际的可见性算法，以确定哪些 visleaves 可以相互可见。不与 -fast 一起运行。
; Optimized: number visible clusters (percentage)
: 可视化数据的压缩。
; Total clusters visible: number
: 在计算数据中能够相互看到的 visleaves 的出现总数。
; Average clusters visible: number
: 可能从每个 visleaf 中看到的平均张数。
; Building PAS...
: 计算潜在可听的集合。
; Average clusters audible: number
: 可能从每个 visleaf 中听到的平均张数。
; visdatasize: number compressed from number
: 可见性数据的大小（以字节为单位）。Source 2013 中的最大大小为 16 MB。
== 参见 ==
* 
*
Zh/Valve

__NOTOC__
== 关于 Valve ==
（简称；正式名称为；前身）是游戏软硬件研发公司。 于1996年成立于。该公司的首款游戏 赢得了 50 多项，并在全球最畅销的 PC 游戏杂志《》1999 年 11 月刊、2001 年 10 月刊和 2005 年 4 月刊上被评为 "史上最佳 PC 游戏"。
公司的游戏系列包括：、、、、、。Valve 的产品目录在全球的零售量超过 2000 万套，占 PC 在线游戏市场 80% 以上的份额。
除了制作游戏外，Valve还是领先技术的开发者。如 和 ——著名的数字内容发行平台。
如今，Valve公司由 70 多位业界顶尖的艺术家、程序员和作家组成。在公司二十年的发展历程中，它从“不可能的新进入者”跃升为行业领导者，生产出一系列畅销并广受好评的游戏产品和技术。
== 作品 ==
=== 游戏 ===
{| class="wikitable sortable"	
	
	
	
	
	
	
	
	
	
	
== 商业 ==
*Source Engine
*Steam Publishing (email)
*Steamworks
*Cyber Cafe Program
== 扩展链接 ==
* 官方网站
* 维基百科页面
* 官方YouTube频道
* 官方 X（推特）账号
== 参见 ==
* - Subsidiary of Valve
* 
* 
Category:Valve
Zh/Valve Anti-Cheat

Valve Anti-Cheat（Valve反作弊客户端），通常被简称为VAC，它是一个由制作的高级反作弊系统，广泛使用于和的游戏中。
==简介==
当一名玩家连接到使用了VAC客户端的服务器时（可以依靠有“V”字符的盾牌图标确认服务器是否有安全），VAC将会在其他玩家的程序注入该主机/服务器时自动检查该玩家的内存。如果VAC确认某玩家在使用作弊器，该玩家的Steam账户将会被所有VAC服务器封禁。
VAC反作弊客户端不会检用户修改过的材质和模型等非内存内容。管理员可通过阻断作弊行为。
==使用VAC==
Valve反作弊客户端可以在任何Source引擎的游戏使用; 因此，它支持所有使用Source基础引擎所建设的服务器。
若您是服务器管理员且希望使用VAC，您需要在您的运行参数上加上此命令： -secure。如果您是在Steam上使用Scrds工具，请确认Secure (Valve Anti-Cheat)选项被打开。
Zh/Valve Console

The Dota 2 Workshop Tools 的控制台工作方式像是 起源引擎游戏中控制台的升级版。按下 可以打开控制台(Console)。控制台(Console)打开时，是一个独立于Dota 2 可移动的新窗口。
== 控制台命令 ==
命令(Commands)可以通过控制台中输入命令字段来发送到游戏里。 进入到自定义地图的时候，输入 jointeam good 然后按下 ，这会强制使玩家加入天辉阵营和选择英雄界面。
=== 提示 ===
* - 可循环浏览之前发送过的控制台命令。这些命令只是暂时被保存。
* - 自动补全命令。
* 输入命令的一部分，可以查看有关命令的列表。例如，在开头输入 dota_ 将会显示所有 dota_ 开头的命令。使用方向键可以循环选择这些命令。
* 
== 定制 ==
VConsole可配置许多东西。其中最强大的附加功能是可以让某些信息有自己专门的输出窗口，以便于跟踪。例如，如果你正在制作大量的脚本，则很有必要使所有脚本输出到VConsole的一个专门窗口，以便于跟踪。
; 分开窗口去捕捉不同的控制台输出
# 右键点击信息，然后点击 Open In New Log Viewer
# 利用小窗口的配置按钮，选择不同的窗口显示方式。比如并排模式，同时显示两个窗口并排着，其中一个窗口将只会显示你所选的信息类型。
Zh/Vampire The Masquerade - Bloodlines Level Creation

本条目针对的是 关卡设计. 一般的地图设计请参考 .
__NOTOC__
== 开始 ==
* 
== 普通 ==
* 
== 构成要素 ==
* 
== 附加信息 ==
* 
==References==
* 
* 
* 
* 
* 
* 
* 
== External Links ==
* Planetvampire - Unofficial modding website
* Game Trailer - PC trailer - Powers trailer - Gameplay trailer
* Vampire: The Masquerade - Bloodlines (Wikipedia Article)
* Buy the game
Zh/View Navigation

为了给工作环境提供适当的观察方式，Hammer提供一种三维的相机视角。有两种方法可以控制这种三维视角：你可以用键盘鼠标在你的地图里飞行或手动设置相机。
==键盘/鼠标 飞行==
简单飞行
操作键盘鼠标在你的地图中飞行，从左边的菜单中选择相机工具。你可以操作 W,A,S,D 键，这和你在游戏里的前进后退左右平移等操作差不多。在简单飞行模式，可以用方向键左右转或上下移动。此外，你可以利用鼠标左键或右键点击相机视图的窗口观察四周（按下左键）或者移动相机位置（按下右键）。
鼠标观察模式
* 按下Z键进入鼠标观察模式。它可以在方向键或鼠标控制模式间转换。再次按下Z键则退出此模式并返回之前的鼠标控制方式。
* 在相机视图窗口中按下左键以观察四周，按下右键则是移动相机位置。当你释放空格或鼠标按键后会恢复正常。
如果你还没有创建任何固体，可以把地图中的原点（由红绿蓝三条线组成）作为参考在周围移动。
== 创建相机 ==
要设置相机，先从Hammer窗口左侧的一列图标中点选红色的相机工具。
在二维视图里点击并拖拽鼠标来创建相机（如右图所示）。此时三维视图会转到新相机处，而二维视图的窗口中会显示一个蓝圈带一条线来表示相机。
你可以用鼠标在二维视图里拖拽这个蓝圈改变相机的位置，或是拖拽线条的末端改变其朝向。三维视图则会与相机保持同步。
* 如果你在地图中已放置了多个相机，可以用PageUp与PageDown键在任意已创建的相机间切换。
* 当你保存地图然后再打开时会回到你最后选中的相机。
==在二维视图中移动==
你可以用放大镜工具放大或缩小二维视图。先从工具栏里选择放大镜图标。在二维视图里做击增加放大倍率，右击则减少放大倍率。
其他二维视图中的移动快捷键
* 你的鼠标滚轮可以在所有视图中改变缩放等级：向前是放大，向后则是缩小。
* 按住空格与鼠标左键可以在二维视图中摇摆。
* 1 到 0(零)键可将窗口缩放到预设的缩放等级。
* + 和 - 键分别是放大和缩小。
== 参考 ==
*
Zh/Water

本文是关于关卡设计概念的。有关着色器类型，请参阅 .
==Articles==
*: 在地图上放置水
*: the that draws water on the video card
*: 关于实施像 一样的水的教程
*: 逼真在cs_militia
== 相关实体 ==
*
*
*
*
*
== 纹理 ==
水纹理可以在锤子材质浏览器中通过搜索找到。 water.
== 参见 ==
* 
== 外部链接 ==
*HL2水面速成课程 tutorial 
*HL2的水 不同类型水的图片 
*CSS水面效果比较 反恐精英：起源中可用的水纹理比较视频
*CSGO水面效果比较 反恐精英：全球行动中可用的水纹理比较视频
Category:Hubs
Category:Water
Zh/Water (shader)

它能够创建真实地反射和折射场景的水体，并能在整个地图中流动。 
 
== 特殊行为 == 
; 昂贵和廉价 
: 水体材质分为两类：昂贵和廉价。昂贵水体在实时反射和折射场景，而廉价水体使用并且不会折射。用户可以通过视频选项禁用昂贵水体渲染，因此在整个地图中始终放置实体。 
; 水面上方和水面下方 
: 水体实际上需要两个材质：一个在水面上，一个在水面下。这些材质是独立的，但为了获得正确的效果，必须在大部分区域内关联。 
; 流动贴图 
: 水体可以在任意方向流动。然而，手动创建流动贴图非常复杂，而Valve内部使用的工具尚未公开。 
== 着色器参数 == 
=== 贴图 === 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=== 雾 ===
 
 
 
 
 
=== 反射 ===
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=== 折射 ===
 
 
 
 
 
 
 
=== 流水 ===
; $scroll1 "[<normal X> <normal Y>]" 
; $scroll2 "[<normal X> <normal Y>]" 
: 如果定义了$scroll1并且X值不为零，将绘制两个额外的法线图层，这些图层会合并在一起。第一个层级是原始法线图层的7倍大并旋转45°；第二个是原始法线图层的2倍大并旋转90°。参数指定了额外图层的移动速度和方向。(Valve的材质通常包含第三个数字，但它似乎没有显著效果，最可能已经过时。)
==== 流动贴图 ====
 
 
 
 
 
 
 
 
 
 
 
 
==== 基础纹理流动 ====
 
 
 
 
 
 
 
==== 流动贴图的创作 ====
总体来说，尝试手动创建流动贴图是一个噩梦。手动绘制流动贴图、将其调整到世界中、并绘制泡沫，非常困难。
但是，如果你想尝试，可以从流动贴图的红绿通道读取流动方向。50%灰度意味着没有移动。
使用流动贴图的水纹理的任何面贴图的纹理缩放似乎与流动贴图直接相关。使用较少的水面或平面时，创建自定义流动贴图的过程会更容易（当使用“视为一”功能进行缩放匹配时，选择所有水面也是一种可能的选择）。
; 红色通道 
: X轴 
; 绿色通道 
: Y轴 
; 透明度通道 
: 控制从《Portal 2》起$basetexture的混合。
; 现在有工具可以帮助绘制流动贴图。 
: Flow field editor from algoholic.eu : http://algoholic.eu/another-flow-field-editor-update/ 
: Flowmap generator (paid): http://www.superpositiongames.com/products/flowmap-generator 
: 使用Houdini（UDK）创建流动贴图 : https://www.dropbox.com/s/ii2x077vj64lyhl/Water%20Flow%20For%20UDK.pdf 
=== 其他 ===
 
 
 
 
; WaterLOD proxy 
: 这连接到水的内部参数的 water_lod_control 实体。必须在材质中声明它，以使LOD机制正常工作。
== 另见 == 
* 在Hammer中添加水 
* 创建瀑布材质 
* 制作水墙 
* CSS下的真实反射 
Category:水
Zh/Weapon spawn

它是一个用于任何非近战武器的可配置武器生成器。
== 键值 ==
:
值 	描述
any 	任意一阶或二阶武器
any_pistol 	任意手枪
weapon_pistol 	手枪
weapon_pistol_magnum 	马格南手枪
any_primary 	任何主武器
tier1_any 	任何一阶主武器
tier2_any 	任何二阶主武器
any_smg 	任何一阶冲锋枪
any_rifle 	任何二阶步枪
any_sniper_rifle 	任何二阶狙击步枪
any_shotgun 	任何霰弹枪
tier1_shotgun 	任何一阶霰弹枪
tier2_shotgun 	任何二阶霰弹枪
weapon_smg 	冲锋枪
weapon_smg_silenced 	消音冲锋枪
weapon_pumpshotgun 	泵动式霰弹枪
weapon_shotgun_chrome 	铬管霰弹枪
weapon_autoshotgun 	战术霰弹枪
weapon_shotgun_spas 	战斗霰弹枪
weapon_rifle 	M-16 突击步枪
weapon_rifle_desert 	战斗步枪
weapon_rifle_ak47 	AK-47
weapon_hunting_rifle 	猎枪
weapon_sniper_military	狙击步枪
weapon_smg_mp5 	MP5 冲锋枪
weapon_rifle_sg552 	SG552 突击步枪
weapon_sniper_awp 	AWP 狙击枪
weapon_sniper_scout 	Scout 狙击枪
== 标志 ==
Zh/Worldspawn

它 (或者“the world”) 是存储地图的非交互式部分以及一些全局配置选项的单个实体。它包括：
* (除了被使用的)
* 
* 地图名、、s……
其他的一些注释：
*一个地图中只能存在一个。(由于 Hammer 不允许直接创建 ，因此很难打破此规则。)另外，通过地图属性选择世界后，请勿克隆世界的任何部分。这将复制 实体，导致崩溃。但是，在此之后取消选择和取消选择后的克隆将正常运行。
*环境破坏和自杀通常归咎于世界实体。
*可以通过不为其作用目标实体指定名称来把作用分配给 worldspawn。
== 另请参阅 ==
* 
== 键值 ==
=== 游戏 ===
 
:* 0 : No, keep current
:* 1 : Yes, clear previous levels
== ==
:* 0 : Midnight
:* 1 : Dawn
:* 2 : Morning
:* 3 : Afternoon
:* 4 : Dusk
:* 5 : Evening
:* 0 : Mission Start
:* 1 : Check Point
== ==
== ==
:* underwater_default : Rubbish
:* underwater_ion : Blue Ions
:* underwater_tentacle_water : Tentacle Shit Water
== ==
== Inputs ==
Category:Entities
Zh/Your First Entity

在起源内每一件物体都是 . 甚至连世界，玩家和主菜单也不例外。虽然如此，他们大致都可以分为几个类型：最常见的有"逻辑实体", "模型实体" 和 "固体实体"。
以下文章将教会您如何创建这三种实体. 从逻辑实体开始, 因为这是所有实体的基础.
== ==
先从这个开始。
逻辑实体是最简单的实体，因为它们无需坐标，游戏中不可见，只用来处理实体触发的输入和输出。
在这个教程里，我们将建立一个简单的存放数值的实体，每次被触发时都将增加这个值。直到到达我们设定的一个极限，这个实体就会触发一个。
== ==
实体就如字面上所说的一样：它们有一个外观，可以在地图上走动并与其他物体互动。
在这个教程中我们将创建一个四处飞行的模型实体。
== ==
这些实体是在Hammer里从转换成实体的。它们一般是用作：一块满足条件后就触发输出的空间。它们也可以是世界中移动的部分比如门和平台。
在这个教程中我们将制作一个接触后移动的固体实体。
Zh/Zombie

僵尸曾经是个人类，而现在被一种被称为的生物寄生，它们可以控制被寄生者的身体。作为中最常见的敌人之一，普通僵尸行动缓慢，通常很容易解决，但是有其他的种类可以为战斗提高难度。
大多数僵尸主要依靠近战攻击，但他们也可以向玩家投掷物理物体。特殊的僵尸类型可能会利用其他攻击方式。
如果被重力枪用锋利的物体（如锯片）击中，僵尸的躯干会被一分为二。这可以产生一个爬行的。有时当一个僵尸被杀死时，会从脸上分离出来，像平常一样攻击玩家。
==僵尸种类==
* - 最普通的僵尸，它们移动缓慢，只能近战攻击。
* - 只有上半身的僵尸。将缓慢地向玩家爬行。
* - 一种更快更危险的僵尸。
* - 只有上半身的快速僵尸。
* - 一个背着几只的僵尸，它会把剧毒猎头蟹丢向玩家。
* - 联合军僵尸。因为它们穿着护甲，这种僵尸更难被杀死，并且可能会用手榴弹攻击玩家。
==预设文件==
* - 当玩家靠近时，让装死的僵尸爬起。
* - 与上面相同，但僵尸是坐着的。
==另见==
*
*
Zombie

A zombie is a former human now infested with a parasitic headcrab, who controls the zombie's movements. One of the more common enemies in the Half-Life universe, normal zombies are slow and generally easy to dispatch, though other variants also exist which pose more of a problem in combat.
Most zombies rely primarily on melee attacks, but they can also fling physics objects at the player. Special zombie types may utilize other attacks.
Zombies can be bisected at the torso if hit by the gravity gun with sharp objects such as the saw blade. This can create a crawling zombie torso. Sometimes when a zombie is killed, the headcrab detaches from the face and will continue to attack the player.
==Zombie Variants==
*npc_zombie - The standard zombie, slow-moving and reliant on melee attacks.
*npc_zombie_torso - A zombie consisting only of the upper half of the body. Will crawl slowly towards the player.
*npc_fastzombie - A much faster and more dangerous variant of the zombie.
*npc_fastzombie_torso - The torso of a fast zombie. Will crawl towards the player
*npc_poisonzombie - A hunched-over zombie carrying several poison headcrabs, which it will fling at the player.
*npc_zombine - A Combine zombie. This zombie is harder to kill, due to its body armor, and may attack the player with grenades.
==Prefabs==
*npc_zombie_prone - A seemingly dead zombie rises when approached by the player
*npc_zombie_slump - The same as npc_zombie_prone, but with the zombie starting in a slumped position
==See also==
*Mapping with Zombies
*AI Learning: Zombie
Category:Hubs
Zombie Edition

== Overview ==
 is a mod based on the concept of the original Half-Life, but in this mod you play as a headcrab or, what is more interesting, as a zombie. Zombies can mutate to change their characteristics into three types and every type will have at least six upgrades including using new weapons and abilities. For further information please check this mod's Official Page.
== Features ==
* Play as one of the characters you've never played before - a zombie!
* Roleplaying system with three zombie classes and 18 possible mutations
* Zombify people and crawl in the shadows as a headcrab
* New weapons (claws, barnacles, headcrabs, babycrabs)
* New abilities available through mutations
* No healthkits, you gain health (and experience) by eating corpses
* New Super-HD models
* Different kinds of zombies, including a new type with hand grenades and fast zombies
== Media ==
===Art===
Image:Ico.png|Mod Icon
Image:Zwp0.jpg|Wallpaper 1
Image:iCrab.jpg|Wallpaper 2
Image:Zwp1280.jpg|Wallpaper 3
Image:Mod_headerZEd.jpg|Steam header
Image:Mod_smCapsuleZEd.jpg|Steam capsule
===Screenshots===
Image:Scr1.jpg
Image:Scr2.jpg
Image:Scr3.jpg
Image:Scr4.jpg
Image:Scr5.jpg
Image:Scr6.jpg
Image:Scr7.jpg
Image:Scr8.jpg
Image:Scr9.jpg
Image:Scr10.jpg
Image:Scr11.jpg
Image:Scr12.jpg
Image:Scr13.jpg
Image:Scr14.jpg
Image:Scr15.jpg
Image:Scr16.jpg
Image:Scr17.jpg
Image:Scr18.jpg
Image:Scr19.jpg
Image:Scr20.jpg
Image:Scr21.jpg
Image:Scr22.jpg
Image:Scr23.jpg
Image:Scr24.jpg
Image:Scr2005.jpg
Image:Scr26.jpg
Image:Scr27.jpg
Image:Scr28.jpg
Image:Scr29.jpg
===Videos===
*
*
*
*
== History ==
*Released Nov 21, 2008.
*Version 1.1 released Jun 21, 2010.
== Team ==
* biomech — maps, models
* GeNNaD_ich — maps
* Scrama — maps, code
* Shooter__Andy — project leader, code, maps, models, sounds, art
* Stazz — trailers
* Xopyc — models
== External links ==
*Official Page
*Tutorial
*
Zombie Master

== Overview ==
Zombie Master (or ZM for short) is a multiplayer Half-Life 2 modification centered around a zombie-apocalypse, which throws all but one player in the shoes of human survivors. Pitched against a relentless tide of rotting flesh, they must scavenge for weaponry and equipment just to stay alive. But that one player, chosen randomly at the beginning of the round, is not bound by mortal restraints.
To speak his name is to invite the wrath of hell - but most call him the Zombie Master. He is nigh omnipotent. His invisible hand controls the legions of undead like puppets on strings; slowly closing the net on the humans while they run to and fro like rats in a maze.
== History ==
Zombie Master was started in late July 2005. The first public release was on the 15th of April 2007, and the mod was updated regularly until the last release by the original team on the 4th of January 2009.
The project's code was open-sourced on the 13th of June 2009. At the time of writing there are several teams/people from the community working on patches and updates to the mod (the progress of which can be followed at the ZM forums).
== External links ==
* Zombie Master - the official website.
* ZM forum for the released source
*
Category:Open source mods and games
Zombie Panic

== Overview ==
 Zombies are coming for the last remaining humans, and the humans must fight them off as best they can. All players but one join the Survivors team, which is the humans. The remaining player joins the Zombie team. The catch is that everytime a zombie is killed, he simply respawns and continues to play. If a human is killed, he respawns as a Zombie on the Zombie team. Of course, there is a little more to it than that....
== Team ==
*(Note that this reflects the original team. The team has since changed for Zombie Panic! Source.)
;Modification Leader
:Twilight
;Playtesting Leads
:Kezei - Primary
:Supernubb
;Programmer
:Rhone
;Mapping
:Hi - Lead
:Kezei
;Sounds
:3pidemiC
;Modeling
:Wnn
:Talon
== External links ==
* Official website
* 
* 
Category:Multiplayer Mods
Category:Zombie Panic! Team games
Zombie Panic! Source: ZPH

=Setting up a map for hardcore mode=
Creating a hardcore map is the same process as creating a ZPS map, the only exception is that you need to prefix your map with "zph_" instead of "zps_".
Also keep in mind that your map should be adapted to the ZPH game mode, you have to take in account the reduced damage of survivors, multiple zombie carriers, 100% infection rate, 5 minutes for the survivors to stay alive to win and so forth.
Category:Zombie Panic! Source
Zombie Panic! Source: ZPO

Zombie Panic! Source Level Creation
==ZPO Necessary Entities==
First, name your map with the prefix "zpo_". This tells the game which game mode to operate in. In this case, the game will require a trigger to complete the round in favor of either Zombie team or Survivor team.
You will need several ZP:S specific entities to make an objective (zpo) map work properly:
 game_win_human
 game_win_zombie (optional)
 info_objective_list
You will need to set up an output from the final entity that triggers the end of game, which should look like this:
 <output>; game_win_human; end game
It is good practice to use the info objective list entity for any descriptive text which will be displayed in the upper left hand corner of the HUD for all players. If you need more customized HUD text, you will have to use game text. 
==See also==
Basic Objective Tutorial
--Ratboy601 02:20, 16 March 2012 (PDT)
Category:Zombie Panic! Source