本教程分为新手、初级、中级、高级四个章节,依次由浅至深第进,简要地概括了CS地图中物体的制作,适合初学者阅读,也适合广大CS地图爱好者借鉴。本教程的内容来自不同的教程。我只是把些整合起来而已,方便大家查阅,免得到处查找。

制作左右不停地来回移动的物体

首先,path_corner是个点实体,你去找固体实体是没有的。如果点实体也没有的话请重下一个最新版FGD!

首先将Func train的其他属性设置好(详细设置方法可以参考X-Man天书)

之后设置开始路径点 为 Path1 (Path1可随意取名)

新建一个点实体 Path_corner 名字为 Path1 放在Func train的中心(开始路径点决定Func train的位置,必须在中心!),下一个路径点填 Path2

再新建一个Path_corner 名字为 Path2 放在Func train的另一边 ,下一个路径点填 Path1

这样就形成了一个闭合路径,会来回移动的

不过这样下一局可能会有未知的Bug,用Tracktrain可以避免这个情况

制作按按钮可以开关的灯

首先做一个灯的点实体“light”。“名称”这里给它起一个名字,注意不支持中文,数字和字母都可以。比如叫“deng”,灯做好了,下面做个开关灯的按钮。做一个固体,大小和形状像一个开关的按钮的样子就行。贴上按钮的纹理(这个纹理可以是一种普通的纹理,也可以是那种是按钮样子的纹理)然后转化为固体实体 “func_button”

”目标“这里就是刚才的那个灯。那个灯的名称是“deng”,引发前延时”这里写“0”这个数值吧。如果这里数字填比如“10”就是按了按钮要延迟等上10秒才会开、关灯的。填“0”就是按了按钮马上会开关灯。“复位前延时”这里这里默认的数字是“3”改成写“1”吧。“1”就是比如灯现在灭了,你要等到灯灭后1秒才可以再打开灯。如果写9就是灯灭了后要等上9秒才可以再打开灯。如果是“-1”就是灯灭了后再也打不开了,点“标记”,“不移动”这里打钩,不打钩的话一按按钮,按钮会动来动去用着不爽。下面的“冒火花”这里打上钩按钮这里会时不时喷出一些火花来,像坏了的按钮一样。当然在实际游戏中才能显示冒火花的。好了,这样就全部做完了。如果想一个按钮控制多个灯,那么就做多个灯,这些灯的“名称”都填一样的。你也可以用按钮控制太阳光线,按按钮后太阳光线就亮或灭了,方法同这个灯的做法一样。只是点实体是用太阳的实体。

制作汽车

第一种做法

首先自己用固体拼出一个汽车的摸样,在其中间做一个小正方体,贴上origin纹理,然后把它们(肯定是很多块吧?)一起转换成func_vehicle固体实体,给它起个名字(必须!)。在顶视图(x/y)中将该汽车的车头拉向你的右边(同样必须!)。然后是重点了!咳咳,CS引擎中关于汽车有它的设置方法。首先你必须让你的车头朝右以让引擎知道哪里是车头哪里是车尾,然后呢?在地图地面上建立2个path_track实体,取名mike1和mike2(随便取名),把mike1放到你希望车子出现的地方,在他里面的键值:“下一个路径点”里添上mike2。然后把名为mike2的path_track实体根据你的需要放在一个地方,再在你的func_vehicle实体的“开始的路径点”里填上mike1,这时车子的定位情况是:游戏里,无论上回合他的位置如何,在下回合,他将永远出现在mike1所在的地方,车头永远指向mike2。

好,车做好了,那么怎么开车呢?这就还得用到固体实体func_vehiclecontrols。做一个这个固体实体(大小自定),其目标就设置为你做的汽车的名字。将它放在车上,它的范围就是在游戏中你能控制车的范围。一般不用把它做得太大。注意:这个固体实体会和汽车一起移动,由于人在车上所以才能一直开车。如果你把它放在车外想搞个遥控车是不可能的!

其实这个实体不应该笼统地叫成汽车。所有可操控的移动物体,如飞机、轮船都可以用这个实体做,不过受引擎的限制无法升降。

第二种做法

首先,建立一个象车的固体,然后转换为func_door固体实体(你没听错),接着开始设置了,速度一般填260以上,不然人就能追上车了……引发前延时:看个人喜好,一般为0.露出的尺寸:决定了车车能跑多远,量一下地图的距离再填吧(ps:汽车会穿过除了func_push……呃记不清了.的所有实体,除非乘坐者碰到它)注意:必须要勾选按e键引发

可以调整实体角度让它斜者跑。但是会出bug。只建议新手使用。

制作机枪

首先说明,这里的机枪不是B51,而是架在地上的那种。首先还是自己做个机枪的摸样,在中间放个origin纹理的固体,然后转换成func_tank,取名字,顶视图中拉向右边。然后设置其属性,“目标”一栏不再是让它引发什么实体,而是选择机枪扫射的声音。做一个ambient_generic(播放声音的点实体),声音文件名自己选好,名字要取,就让机枪的目标栏填它的名字。其它的像上下左右转动距离、偏差的自己随便填。如果要让玩家控制、使用该机枪则在标记栏的“玩家控制”打上勾,并在机枪旁边放一个固体实体func_tankcontrols,其作用是作为一个隐形按钮,玩家对着它按E就可以控制机枪了。要让电脑操作该机枪就勾“电脑控制”,还要设置好最大最小搜寻范围。

进阶:即使是电脑控制机枪,机枪的名字一栏仍然有效哦!不过效果变了:即使是起了名字,一回合开始电脑机枪还是会攻击它看到的所有玩家。但是如果用一个什么东西引发了它(比如一个func_breakable设置被打烂时引发),它就嗝屁了!!!此技巧用来做BOSS图效果甚好,安放在普通的地图中也可以给玩家们造成小麻烦!^_^

制作玩家一碰就开的侧拉门

做这种门除了做门,一般还要再做门旁边的墙体。还有门上面的墙体。墙体用固体拼成就行了。门呢,先做个门形状的固体,再找个像门的纹理贴上。

把门转成固体实体“func_door”。里面的参数一般默认即可。其中“关闭前延时”这里是开门后多长时间再自动关门。如果想开门时有声音或门夹住人时玩家丢血,那么研究下这个固体实体设置下即可。下面说最关键的,如果想让门往左边开,那就先切换到“2D顶部视图”,注意了,是“2D顶视图”,然后把最右上角的那个黑圆的方向朝向左就行了。向右开,就朝向右。如果想让门朝上开,即朝天上开,实体角度这里就写上英文“Up”即可。(可能要区分大小写的)让门朝下开,即朝地面的方向,实体角度这里就写上”Down”

上面所说的实体角度”Up” “Down”同样适用于武器等实体。

制作玩家按按钮才可以开的侧拉门

给上边的侧拉门起个名字比如叫“123”,再做按钮:建立一固体,再找一个像按钮的纹理贴上,当然也可以是贴其他的普通纹理。再转化为固体实体:“func_button”。参数如下:目标这里写 123 (也就是刚才的门的名称)“标记”那里的“不移动”建议打上勾吧,不然一按按钮,按钮就动来动去的。其他参数一般默认即可或者根据自己需要调整参数。

狙击镜准星显示

用game_text实体在屏幕中央显示英文的“ . ”,你就会发现屏幕中央出现了一个小点,可以用在练狙图上当辅助准星用。

如果要一直显示,那可以把game_text实体的淡入淡出时间设为0,保持时间设为1。建立trigger_auto实体,目标m1,引发方式为开。再建立multiple_manager实体,名称m1,点优化模式,加入键值text1变量1,加入键值m1变量1,勾上多线程。再建立game_text实体,名称text1,淡入淡出时间设为0,保持时间设为1,频道可以选频道4,勾上对所有玩家,其它自己设置。

防止地图被改名

新建一个env_shooter实体,然后在喷射的模型栏里填maps/xxx.bsp
其中xxx是你的地图名
如果地图被改名,就会出现
Fatal Error
Mod_NumForName:maps/xxx.bsp not found
除此之外不会对地图效果有任何影响.

制作从外面可以打破,但从里面怎么也打不破的墙

在CS_OFFICE中有一块玻璃是”单相破的”既从外面可以打破,但从里面即使用AWP也打不破的, 这是怎么做的??? 建2个固体并排紧*放在一起,一个转化为实体func_breakable,取名为:mike(呵呵,随便什么名,我是 举个例子),并设置其他相关参数(这个不用教了吧,呵呵),选中在标记栏里的“只能引发”;另一个同 样转化为转化为实体func_breakable,不用取名,在“破碎后引发的实体”项目里填上实体名称:mike(呵 呵,就是前面那个实体的名称)并设置其他相关参数,切记不可选中“只能引发”。

开局双方自动得武器

新建实体player_weaponstrip,名称game_playerspawn
新建实体multi_manager,名称game_playerspawn,点优化模式,加入键值giveall,变量0.05,勾上多线程
game_player_equip,名称giveall,勾上只能引发,武器自己选
这样不管上回合结束时你手里拿的是什么武器,都会在开局重生的时候手里拿上指定的武器.

注意:玩家重生点的地上最好不要有任何武器装备,不然可能出错,放稍远一点就没问题了,只要不让玩家一掉到地上就捡到地上的武器就行;这个方法会使双方都得到相同的武器,如果要要双方武器不同,那就只能用其它方法了.

每一段时间自动得子弹

建立点实体multiple_manager,名称game_playerjoin,勾上多线程,加入键值get变量0
建立点实体multiple_manager,名称get,勾上多线程,加入键值get变量10,键值get2变量10
建立点实体game_player_equip,名称get2,勾上只能引发,把你想加的子弹勾上(注意不要勾上枪,不然会出错)
好了,现在玩家每10秒就会加一次子弹了。
每一段时间自动得武器
建立点实体multiple_manager,名称game_playerjoin,勾上多线程,加入键值getgun变量0
建立点实体multiple_manager,名称getgun,勾上多线程,加入键值getgun变量30,键值out变量29.95,键值getgun2变量30
建立点实体
建立点实体player_weaponstrip,名称out
建立点实体game_player_equip,名称getgun2,勾上只能引发,把你想得到的武器装备都勾上

玩家无法捡武器的方法

弄一个大方块包住整个地图(注意上面与天空sky之间要留有一定的空间,或者最好在天空的下面紧贴天空的地方弄一层透明的func_wall),转换为trigger_push,方向向上,推力大于等于800,再把那个不与玩家碰撞的选项选上是
这样掉在外面的武器就没人可以捡到了,僵尸图的制作中可以用到。
按开关得武器
放一个func_button,目标weapon,其它自己设置
建立一个点实体multiple_manager,名称weapon,勾上多线程,加入键值out变量0,加入键值weapon2变量0.05
建立一个点实体player_weaponstrip,名称out
建立一个点实体game_player_equip,名称weapon2,勾上只能引发,武器自己设置

按开关加血

放一个func_button,目标jia,其它自己设置
建立一个点实体game_player_hurt,名称jia,引发者受到的伤害填-50
不过血最多100

#武器攻击开关加血

放一个func_button,目标jia,通过武器攻击引发选是,其它自己设置
建立一个点实体game_player_hurt,名称jia,引发者受到的伤害填-50
不过血最多100

用func_train制作电梯

第1步:打开你的WC或VHE,新建一个地图。

第2步:建造一个固体。并转换为func_train实体。

第3步:设置。给他一个名称(就写a吧)然后,开始路径点写上a1。

第4步:建立路径点path_track。将它命名为a1,“下一个路径点”写a2。放在func_train的下方。在标记选项卡的 【禁用】 打钩。再建立个路径点path_track。将它命名为a2,“下一个路径点”写a1。在标记选项卡的 【禁用】 打钩。第5步:建立一个固体,转换为func_button实体,目标填上a,在 标记 选项卡中的 【不移动】 打钩。好了试试吧!进入游戏后按“E”键,OK。

制作从高空中掉落时尖叫的效果

首先,建造一个固体,转换为trigger_multiple。。这个是反复触发类的实体。目标填A(随便什么名字)。然后建造点实体ambient_generic,名称填A。声音文件名:选择一些尖叫的声音!标识勾选“不循环播放”,其他的自己设置。把2者放在一起,就可以!注意要放在适当的位置!

制作可推动的箱子

  1. 做一个箱子样子的固体
  2. 转换成固体实体: func_pushable
    参数设置:
    摩擦: 10 (数字越小越容易推动)
    但是这种箱子在下一回合不能恢复到它原始的位置。
    注意,如果推动到玩家下回合出生的地点,玩家会被箱子卡住出不来。

制作可以打灭的灯

建造一个固体,用来当灯泡用啊!!转换为func_breakable。破碎时引发的实体:填上你希望被引发的light的名称。再建造一个点实体light。【当然,需要把light填一个名称】这样,当该实体破碎时,你的灯也就灭

一种墙,从里面可以看见外面,从外面看不到里面。

  1. 建立一个固体,在你需要透明的那一面用名为:“ {BLUE ”或“ {INVISIBLE ”的纹理贴图
  2. 把该固体转化为实体func_wall,在渲染模式里选择:固体,透明度里填上255。 万事大吉,呵呵,隔墙暴头神功已成。

如何制作像摩天轮那种旋转物体。

  1. 如果你想做一个转动的物体,就先用固体做出它的形状,比如做一个转动的椅子。我们等会要把它做成像摩天轮的每一个小椅子那样让它慢慢的转到很高的天上然后再转到地上来,一圈一圈的重复围绕中心转。
  2. 如果摩天轮看作是一个地球的话,他是围绕地球的最中心–地核,按照经纬线的经线转动的。
  3. 再创建一个固体,可以很小一些,大了没用,还增大地图体积,所以可以小一些。贴上纹理:“ORIGIN” 。这个纹理是绿色的,样子是一个绿色的人脸。这个固体贴上这个纹理后他就是作为地球的轴心–地核了,椅子就是围绕着这个轴心转。
  4. 把第一步做好的椅子和贴上“ ORIGIN”纹理的固体一起转化成固体实体func_rotating。

例如,我做的一个转动的椅子“属性”是这样设置的:

  • 渲染模式:固体
  • 透明度255
  • 旋转速度9 数值越大越快 9的速度跟实际的摩天轮速度基本一样,
  • 旋转阻力是默认 写0的话 他自始至终都转 有阻力的话他会停下来 我测试了下发现是0也会停止。
  • 伤害力0 是人碰着他不会被伤害。
  • 我测试发现你在椅子里蹲着或蹲跳阻碍它转动会失血 所以不要蹲。
  • “标记”那里
  • “开始打开”打勾 就是一进入游戏后就开始转。
  • Y轴打勾我测试发现貌似就是围绕着地球的经线转而不是X轴 类似地球的纬线转。
  • 2D顶部视图下,实体角度是就是转的方向。默认是顺时针 貌似。