Your First Left 4 Dead Map

From Valve Developer Community
< Zh
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
English (en)Português do Brasil (pt-br)Русский (ru)中文 (zh)中文(臺灣) (zh-tw)Translate (Translate)

(注意:这个教程的zh-cn版大部分内容是通过zh-tw版转码而成的,对于语言上的冲突请谅解。) 这个教程会教大家制作一个基本的Left 4 Dead(en)地图。教程会教大家如何使用一些在必需Left 4 Dead(en)地图上必要的Entity(en) , 例如Director,生成可用的武器和生成丧尸等等。还解释一些地图制作者常犯的错。

这个教程对象并不是入门级的地图制作者,所以教程所用的技巧可能看不懂,建议先看Basic level construction(en)


Tut title.png
本教程地图的布局。

这个教程会教大家制作一个一共包含两个章地图的战役,但永远玩不完,没有结局。听起来很搞笑,不是吗?这个教程目标不是完整的战役,但会教大家如何制作一个基作的基本的L4D地图。
首先,制作一个可玩的L4D地图需要以下的东西:

  • A director (导演)
  • 生还者开始地点
  • 两道安全门
  • 武器,弹药和药包
  • 救出死去同伴的密室
  • 转换地图
  • 雾的控制器 (粒子效果需要)


以下教程会根据右面那张图的布局。 还有的是Hammer并没有中文版,所以一些功能上的字眼仍然使用英文。

生还者开始地点

首先在上图最左边(区域红色1)里面增加一个Entity名叫info_player_start。之后,增加另外两个Entity,info_directorenv_fog_controller,这两个Entity放在那里都可以。为了方便,建议都放到区域1。 之后确保env_fog_controller的「Properties」内,「Fog Enable」是「Yes」的。

在这里,我们可以新增加以下补给的Entity:

  • 四个药包,weapon_first_aid_kit_spawn
  • 两支枪; weapon_smg_spawnweapon_pumpshotgun_spawn
  • 弹药 weapon_ammo_spawn

开始地点需要一道安全门,新增一个Entity叫prop_door_rotating_checkpoint。在「Properties」里,更改名称(Name)为「checkpoint_exit」,「Spawn Position」设定成「Closed」,「world model」设成「models/props_doors/checkpoint_door_01.mdl」和确定「Flag」内的「Starts Open」没有被选取。还有确保安全门上「EXIT」的标志是向内的。

生还者开始地点大致上完成,最后增加一个Entity叫info_landmark,并命名为「landmark_a」,之后会解释为什么。

救出死去同伴的密室

之后我们会制作两个小密室(上图区域2),救出死去同伴。在第一个小密室里,大家只需要增加四个Entity,包括三个info_survivor_rescue和一个prop_door_rotating。在第二个小密室里,同样做法。 我们需要一道阔54个单位,高104个单位的门,所以prop_door_rotating里的「world model」设成「models/props_doors/doormain01.mdl」。

安全室和转换地图

现在我们制作一个可以转换到下一个地图的安全室。安全室(区域3)门口位新增一个一道门prop_door_rotating_checkpoint,这里与之前的安全门有少许不相同,打开它的「Properties」,并把它命名为「checkpoint_entrance」,「world model」设成「models/props_doors/checkpoint_door_02.mdl」,亦都确保「Flag」内的「Starts Open」是选取了的。还有安全门上「小屋图示」是向外的。

我们要转换地图需要增加info_landmarktrigger_changelevel。首先我们在安全室的中间位置增加info_landmark,之后将其命名为「landmark_2」。现在我们在安全室内建立一个大型的方块(Brush),方块的大小要盖著整个安全室,不可有空位,最低限度需要贴著墙边,穿过墙都不要紧。之后开启trigger_changelevel的「Properties」,「landmark name」设成「landmark_b」和「Next map」设成「1st_l4dmap_b」。

制作路线(Nav)

要令电脑玩家懂得在你的地图上走动,无论是生还者或感染者,你都需要为你的地图制作一个路线图(mapname.nav 档案)。制作一个基本的路线图,你需要编译你的地图,并进入游戏,成功载入你的地图。当地图完全载入,你的准星要描著地上,开启指令控制台(按~键),输入以下指令:

sv_cheats 1
nav_edit 1
nav_mark_walkable
nav_generate

当你选入了nav_generate,地图会自动运算路线图。如果你运气好的话,当运算完毕时你不会再看见错误信息「NAV ERRORS - Map is unplayable!」,因为nav_generate亦都会为你的路线图设定属性(Attribute)。

用「select_with_attribute A」指令以看到一些属性变化。选取了的区域(淡黄高亮)是所「Marked」的属性。例子,现在我们想找CHECKPOINT的位置,使用「select_with_attribute CHECKPOINT」指令,选取了的区域(淡黄高亮)就是CHECKPOINT位置。

选入「nav_edit 1」指令,之后选入以下指令:

select_with_attribute DOOR
有门的地方会被选取。
select_with_attribute CHECKPOINT
安全室会被选取。
select_with_attribute RESCUE_CLOSET
救同伴的密室会被选取。
select_with_attribute ESCAPE_ROUTE
有很多区域会被选取,由生还者玩家开始地点到安全室。
using select_with_attribute DOOR
using select_with_attribute CHECKPOINT
using select_with_attribute RESCUE_CLOSET

NAV Marking

在这个情况,「nav_generate」所生成的路线图是十分完美的,所有相关的属性都已经为我们设定好了。但是有时候运气不是太好,需要手动设定一些属性。你要用指令「mark A」,A是你想设定的属于。

例如,「nav_generate」不能自动设定安全室的属地,你需要以下指令:

sv_cheats 1
nav_edit 1

现在到安全室,准星向著安全室的地上,打开控制台,选入:

  •  mark CHECKPOINT

有时候安全室内有多个区域需要设定成CHECKPOINT,我们可以用指令:

  •  nav_gui
the nav mesh now with both checkpoints marked

方便选取多个区域。选取后,同样做法,在控制台,选入「mark CHECKPOINT」。

如果你设定错误,可以用以下指令:

  • nav_clear_attribute A
    • 你想移除某区域内属性A (eg: nav_clear_attribute CHECKPOINT)

或者你想移除整个地图的属性,可用以下指令:

  • wipe_attributes

当你完成了设定属性后,切记储存,指令是「nav_save」。之后你需要用指令「nav_analyze 」分析一次你的地图。

感染者出现在你的地图

现在你的路线图已经完成,你需要选入以下指令才会有丧尸生成:

director_stop
director_start

制作第二章地图

如果你已经明白如何制作你第一个地图,第二个图基本上没有难度。

附加事项

还有很多武器可以使用,你不一定只用SMG或Pump-shotgun:

  • weapon_rifle_spawn
  • weapon_autoshotgun_spawn
  • weapon_hunting_rifle_spawn

相关资料