个人简介
worldcraft入门必读
以下是CS制作里最常用到的距离参数。单位是Valve Hammer Editor里的1。
Valve Hammer Editor中1个单位等于1英寸即2.54厘米
玩家最远跳跃距离:255
玩家最大跳跃高度:42.5
玩家跳下不受伤的最大高度:275
玩家能直接穿过的两固体间的最小缝隙:36
玩家能直接走过的台阶最大高度:16
标准栏杆高度:32
齐胸高的箱子:48
一个典型的门的高度: 128
玩家蹲下的高度:48
玩家身高:72
玩家身体的宽度厚度: 42
人物出生点离地面最小距离4
墙高160
门高96宽64
以下是地图制作实体属性列表
env,是英文“environmental”的缩写,中文为环境的意思。顾名思义,这类实体是和地图环境有关的。所有这类实体都是点实体。(除了env_bubbles实体是固体实体)
func,是英文“Function”的缩写,中文为功能的意思。顾名思义,这类实体是让我们模仿现实生活中的某种物体的功能或实现某种游戏设计意图的实体。该类实体全部是固体实体。
ambient_generic 声音
armoury_entity 装备/武器设置
cycler 加入模型(固体,不能穿过)
cycler_sprite 加入图标/模型(无形,可以穿过)
cycler_wreckage 加入图标(可以有动画的图标,高级)
env_beam 控制实体之间的连接点
env_beverage 哈哈,饮料的模型,有可口可乐等等
env_blood 显示血的实体
env_explosion 爆炸伤害
env_funnel 中间点,类似info_traget
env_global 地图中的状态
env_glow 光晕
env_laser 极光
env_message 讯息显示
env_render 用来修改目标的渲染等等
env_shake 地震
env_shooter 放出碎片(可以用模型代替)
env_sound 音效
env_spark 火花
env_sprite 加入图标
game_counter 引发目标实体
game_counter_set 用来改变game_counter目标的实体
game_end 停止目标实体
game_player_equip 开始时玩家的装备/武器(因为大家没玩过1.6,所以不加上新东东)
game_player_hurt 一定的范例扣血
game_player_team 确定队伍(一定要配合其他实体)
game_score 目标队伍得分(配合game_player_team)
game_team_master 用来清除game_player_team/game_score
game_team_set 引发game_player_team/game_score
game_text 信息题示,分未选队前/後显示,中途显示和回合开始显示
hostage_entity 人质
info_bomb_target 炸弹目标
info_compile_parameters 额外的编译,如果用普遍的编译加上了这个比专业的更强
info_hostage_rescue 人质的逃走位置
info_lights_rad 红灯
info_map_parameters 地图特性(武器和c4设置)
info_null 目标实体,类似info_traget
info_player_deathmatch 匪徒出生点
info_player_start 警察出生点
info_target 目标
info_teleport_destination 传送後的出现点
info_vip_start vip出生点
infodecal 贴图
light 普通灯光
light_environment 太阳灯光
light_spot 放射灯光
multi_manager 多目标管理
multisource 多实体管理
path_corner 自动用路径点
path_track 汽车用路径点
player_weaponstrip 购买范围
trigger_auto 自动引发清除目标实体
trigger_camera 摄影机
trigger_changetarget 转移目标
trigger_relay 引发清除目标实体
****on_target 目标按钮控制
env_bubbles 水泡
func_bomb_target 炸弹目标
func_breakable 可破坏的物件
func_****on 按钮控制(控制****on_target)
func_buyzone 购买区
func_conveyor 推动区(走上去自动行的)
func_door 电动门
func_door_rotating 门
func_escapezone 逃走区(不是vip的)
func_friction 摩擦力
func_guntarget 机枪的目标
func_hostage_rescue 人质逃走区
func_illusionary 可穿过,有透明度的物件
func_ladder 爬梯
func_mortar_field 移动玩家方向
func_pendulum 令物件摆动产生伤害
--------------------------------------------------------------------------------
2 worldcraft入门必读
func_plat 上下移动
func_platrot 转动
func_pushable 可以推动的物件
func_rot_****on 令目标转动(func_platrot)
func_rotating 不停的旋转
func_tank 机枪(可以移动方向的物件)
func_tankcontrols 控制机枪
func_tankmortar 机枪实体(可以移动方向的物件)和func_tank一样(子弹的分别)
func_tankrocket 机枪实体(可以移动方向的物件)和func_tank一样(子弹的分别)
func_trackautochange 转移控制另外的机枪
func_trackchange 转移汽车点
func_tracktrain 火车移动点
func_train 火车
func_traincontrols 控制火车
func_vehicle 自行控制的汽车
func_vehiclecontrols 控制汽车
func_vip_safetyzone vip逃走区
func_wall 樯(用作其他用途)
func_wall_toggle 樯(可控制出现或隐藏)
func_water 水
game_zone_player 玩家的出现区(这样不会出现夹死人的情况,不过变了不定的出生点)
momentary_door 电动门(比之前的更有用)
momentary_rot_****on 门(比之前的更有用)
trigger_counter 目标引发(如func_wall_toggle)
trigger_gravity 那一区的重力
trigger_hurt 那一区会扣血
trigger_multiple 那一区会引发目标(实体)
trigger_once 那一区会引发目标(实体),单一引发
trigger_push 推动力,可作成风阻的效果
trigger_teleport 传送点(配合info_teleport_destination)
地图做好了还不能玩,必须得编译成BSP格式。。
编译是CS地图制作里一项高深的学问。。。偶也8能精通。。所以先列举1先常见的问题及解决方法。。。大家原谅哈。。
游戏载入地图时显示:“文字Map not found on server”这个问题产生的原因很多,大家请一一对照:
· 你是否对你的地图进行了编译,地图是必须经过编译,成为.bsp文件才能玩的。· 如果你已经编译了,你的地图编译是否成功呢?到你编译地图的目录寻找打开名为“地图名.log”的文件。这是一个记录编译信息的文件,看看是否有编译错误的提示。
· 如果没有错误,你是否忘了把你的地图从编译目录拷贝到...cstrike/maps目录里面呢?
· 有时候这个问题产生的原因还在于:你定义了错误的天空套图的名称,或· 把有天空纹理的固体转化为了实体,但是编译通过了。或
· 你使用了非cs的fgd文件。或
· 你是调用的是wc或其他编译程序编译后直接测试地图的功能,由于设置的原因,导致这个问题。我希望大家通过一般的游戏方式进行地图测试。即:自己建立游戏,而不是通过软件进入游戏。
· 你的地图名是否有空格。比如,“my map.bsp”是会导致这个问题的。地图名是不允许有空格的。“mymap.bsp”才可以。
· 是否你做地图的时候忘了警察或是土匪的实体呢?注意:只有警察或只有土匪的地图有时会导致这个问题的。2.地图在编译时出现:“Entity 10, Brush 0: outside world(+/-4096)...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0: outside world(+/-4096): (-9000, -64, 216)-(9000,23,283)大概的意思是说有东西超出了地图的最大边界。出现这样的错误一般有2种情况:
· 你的地图里面存在非法结构的固体。如果错误提示的坐标里有9000或-9000的数字或超过的话就是这个情况了,比如上面例子里的坐标数据“(-9000, -64, 216)-(9000,23,283)”很明显,这个错误就是指非法固体的原因了。解决办法:我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。一般而言,该物体是需要你删除重做的。
--------------------------------------------------------------------------------
3 worldcraft入门必读
· 如果错误坐标里没有9000或-9000的数字或超过的话,那就是这种情况了,即你的地图里真的有东西超过了地图的最大的范围。cs的地图是有最大范围的,是+/-4096。也就是wc软件里网格覆盖的范围。网格达不到的范围就不是地图的允许的范围了。而你的错误,就是有物体在网格的外面了。解决办法同上。补充:有的朋友或许很疑惑,打开地图,找到了问题物体,看他明明在网格的界限里面啊?呵呵。不要惊奇,这是很正常的,这个解释的话就要涉及到rmf格式文件和map格式文件的区别了,这个问题我以后会专门撰文给大家解释的。你现在所要做的是,收起你的疑惑,把问题固体删掉重做!!呵呵。有兴趣的朋友可以打开你的map格式的文件看看,是不是真的有东西在边界外面,而在同样的rmf格式的文件里,这个物体却是在边界里面的。
文字地图在编译时出现:“Entity 10, Brush 0, Side 4: plane with no normal...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0, Side 4: plane with no normal大概的意思是地图里有不正常的固体或固体实体存在,一般这个都是由于由于顶点编辑造成的。大家知道,3个顶点可以定义一个面,那么3个点在一条直线或在同一位置呢?呵呵,就不能定义一个面了,这个,也就是产生这个问题的根本原因了!大家了解原理即可,不必深究。
· 我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。一般而言,该物体是需要你删除重做的。
地图在编译时出现:“Entity 0, Brush 12: mixed face contents...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0: mixed face contents Texture ROCK_X1 and SKY这是说明你的地图里有纹理混用的情况存在,cs对纹理是有讲究的,大家可以到纹理的相关目录去了解相关的知识。在同一个固体上,一般情况是不允许不同类型的纹理混用的,比如把液体纹理和固体纹理混用在一个固体的表面等等。这个错误提示就是告诉你,你犯了纹理混用的毛病了。
· 我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。然后把该固体的纹理类型统一,用相关工具把不是一种类型的纹理换成一种类型的纹理。
· 一点小补充:这个问题和编译工具也有关系,比如说:zhlt2.42就不允许天空纹理和固体纹理混用,但是zhlt2.53就可以通过编译。所以,大家升级编译程序也是必要的。
· 如果你是用wc或vhe直接编译的朋友,进入“工具-选项”菜单,打开你的软件的设置框,切换到“编译程序”标签。看最下面的“存放编译后地图的目录”,你设置了什么路径啊?呵呵,你的地图就在你设置的文件夹里面,去找吧!还找不到,我靠!那是因为你的资源管理器设置了隐藏文件后缀名的关系!!所以你只见到了地图名字,没见到地图的后缀(.bsp)· 如果你用“x-man超级地图编译器”的,那么,你把编译要用的.map文件放在那里他就在哪里了。好好找吧!!还找不到,我靠!那是因为你的资源管理器设置了隐藏文件后缀名的关系!!所以你只见到了地图名字,没见到地图的后缀(.bsp)
--------------------------------------------------------------------------------
4 worldcraft入门必读
.地图在编译时出现:“Warning: === LEAK in hull 0 ===...”这样的错误提示。例如编译报告出现下面这样的提示: Warning: === LEAK in hull 0 ===Entity info_player_start @ ( -96,-192,-128)Error: A LEAK is a hole in the map, where the inside of it is exposed to the(unwanted) outside region. The entity listed in the error is just a helpfulindication of where the beginning of the leak pointfile starts, so thebeginning of the line can be quickly found and traced to until reaching theoutside. Unless this entity is accidentally on the outside of the map, itprobably should not be deleted. Some complex rotating o**ects entities needtheir origins outside the map. To deal with these, just enclose the originbrush with a solid world brushLeak pointfile generated这个错误是平时碰到频率比较高的错误,是说你的地图里存在裂缝,也就是说你的地图不是一个密闭的空间,所以编译终止了。产生原因有很多,一般是由于:你的地图的确有裂缝,或者是你的地图没有裂缝但你不小心把某些实体放到了地图外面。这个问题解决的办法无非就是把你的裂缝找出来补好,很多地方也有专门的文章,我把我认为最好的办法告诉大家。至于其他的办法,我以后会专门抽时间写一篇详细的文章的。· 到你的编译目录看看吧!!里面有2个和你地图同名的文件,一个是.pts文件一个是.lin文件。你随便查看其中的一个文件(pts或lin随便你喜欢)确认他们的文件大小。如果文件长度是0:说明你的地图没有裂缝,只是实体没有放好。看上面的例子:“Entity info_player_start @ ( -96,-192,-128)”,你必须确认这个点实体(例子里就是坐标是: -96,-192,-128的 info_player_start实体)没有在你的地图以外或放到了固体体里面。如果有,请放放好再编译吧。 · 如果文件长度不是0:说明你的地图确实有裂缝,到wc的菜单:“地图-载入pts文件”。呵呵,是不是你的视图里有一条很乱的红线啊,不要急,是乱了
*如何设置不能买枪且拿小刀的地图
首先在地图的任何地方创建一 个点实体 game_player_equip然后设置 小刀 选项为“是”这样就变成了一开局什么都没有 只有一把小刀.一样的 如果你想一开始就发给玩家别的东西 可以在别的选项选"是"
关于不能买东西的问题 本人知道的有2种方法:
第1种是 把 func_buyzone 实体放在地图的地皮里 这样player到不了购买的区域就不能买了 简单法(这种方法我喜欢用 因为一开局跳出的“yor are CT /T you could't buy somthing " 太麻烦了 看了不舒服
第2种大概很普遍, 大家喜欢用这种 就是 创建一个点实体 info_map_parameters 然后在第一个项购买武器中选 “双方都不能购买” 如果这样的话 就是出现一个默认的购买区域 也会弹出如上的一行字。
* 手把手教你做机枪大炮
首先来做大炮:
第1步:做枪架,花用矩形画出1个长条状地东东,然后在侧视图里改倾斜(你有见过一根竖着的柱子上面架着一把枪吗?)记得加可见纹理!!不要弄一个枪架到游戏中看不见的,那你太失败了...做出2~4根以后每根角度最好都60~70度,而且所有柱子支撑1个点!!
第2步:模型里面选柱体,在正视图里画个小正方形出来,记住一定要正方形!!不然炮管是扁的别怪我没早说...画好后贴个可见纹理,枪口那1面帖上黑色纹理(炮口里肯定是黑洞洞的嘛!!)PS:炮口在top顶部视图里一定得是炮口朝右!不然方向反了那就.....
第3步:轴心做个上去,放在炮口对面那端,然后...,轴心和炮管一起转func_tankmortar固体实体,属性里除了名称和标记的的玩者控制外其它基本不用改,名称随便改,不要和其他实体重复就OK,标记里选上<玩者控制>,当然你要这个炮管能打出C4大爆炸的话...把爆炸威力改500吧。记住,是爆炸威力,不是伤害力!!
好了之后在放上个固体贴透明纹理转func_tankcotrols固体实体,就是控制区域啦,在这块实体中可以随意控制大炮,当然你也可以玩BT的.比如:在dust2里土匪家朝A区那个2箱子上装个大炮,然后把控制区域放在CT家,这样只要CT会玩大炮,土匪就....哈哈哈哈哈哈,一个一个飞向蓝天~~
到此,大炮的制作大功告成了!机枪只要把炮管转func_tank实体就OK了.
* 手把手教你做监视器
监视器这个东东我地图里从来都不用地,原因:太无聊,还不如开zuo-bi来的实在.
但是有些类型的地图就要用到,比如赛车图,跳跃地图.当你到终点后,就可以用这个看敌人和队友到什么程度了.废话不多说,马上开做!
第1步:画个电脑台出来放在地上(不放也可以,小心别人说你的监视器太低按不到),尺寸差不多就80w宽*80l长*16h高,画好后帖一般可见纹理即可.
第2步:画1个正方形出来,贴上电脑纹理"+1LAB1_CMPM1",如果找不到的话自己换个像电脑的纹理贴上去,只要贴1个面即可.尺寸是48*48*48.搞好之后Ctrl+T转成按钮func_****on固体实体,然后把目标里填上jianshiqi(其实随便填的,跟下面的监视器实体的名称一样就OK),标记里把前2个(不移动,锁定)给打勾,然后完整的电脑就OK了~
第3步:在你要放监视器的位置(不是电脑,是探头的位置!!!)做个<点实体>,然后实体名称改成trigger_camera,名称改成jianshiqi,目标改成jianshiqi2,停留时间随便(视角在这个摄象机视角的停留时间。过了时间就自动切换到玩家视角。)建议7秒,10秒的话老早被阴人高手K.O了.然后OK~
第4步:再在监视器探头摄象机(好长的名字啊...)要看到的地方放上个info_target点实体,放好后,名字填jianshiqi2然后整个摄象机就都完成了!~
* 如何制作C4爆炸
1.方法一(推荐)
通过固体实体func_bomb_target来实现,当T进入这个固体实体即可埋弹,这里是这个实体的介绍:
func_bomb_target
描述:
游戏中不可见。规定了一个可放置炸弹的区域范围。土匪玩家只有进入这个范围里面才可以安置炸弹。用于“反炸弹地图”。
键值:
炸弹爆炸时引发的实体: 如果需要c4引爆周围物体,这里写上周围物体的名称,不需要的话留空。
如果需要引爆周围物体,那我们还需要把要引爆的物体转化为实体func_breakable,这里是这个实体的一些资料:
func_breakable
描述:
可以打碎的实体,我们可以用他来做可以打烂的东西。这是一个每回合都会回复的实体。
健值:
名称: 添入一个名称,即上面炸弹爆炸时引发的实体那栏的名称
全局实体名称:详见env_global实体
破碎时引发的实体:该实体被打碎时将引发该值指定的实体
引发前延时:单位:秒。指定该实体在被打碎后,将延迟多少时间才引发上面指定的实体
耐久度:写1好了,因为我们要让它只能用C4引爆
材料:选择你的这个实体的材质。实体破碎后产生的碎片的材料将会由这个选现决定。
随片散发方向:选项。选择实体破碎后的碎片的撒播方向
碎片模型:你对“材料”里的材料不满意么?自己选一个吧。如果你选了,“材料”键值将不起作用
破碎产生的实体:选项。自己选吧。是用来模拟你这个实体里面装的东西的。回想一下:dust2雷炸了以后箱子里会蹦出的是医药包什么的。这个就是这里设置的。
爆炸范围:设置这个实体的爆炸范围的。爆炸时,在范围里的玩家将受伤或死亡,具体视玩家和该实体的距离位置而定。和c4差不多,0为不爆炸。
渲染属性:设置实体的渲染属性
标记:
只能引发:选上他就打不碎了,只有靠别的实体引发才会碎,一定要选上,否则给人打破就没的爆了! -_-!
可撞碎:玩家一碰就碎
可踩碎:玩家一踩就碎
铁钩/刀立即打碎:随便拿什么武器碰一下就碎
相关实体:func_pushable
这样一个弹点就制作完成了,有些粗心的朋友要注意了,如果你的地图有2个或以上的弹点,名称千万不要混淆了,要不填一样的话人家CT守在另一边会给你吓一跳的,呵呵~
2.方法2
这个方法其实就是C4点实体换了成了这个点实体:info_bomb_target,在以这个点实体为中心,半径为128单位的区域为埋雷区,不推荐使用!因为我们无法正确的设置C4点的范围,这样很容易给地图造成BUG,这里给出这个实体的资料:
info_bomb_target
描述:
点实体。可用于“反炸弹地图”。实体的位置决定了炸弹放置区域的位置。这个实体定义了一个以他为中心,半径为128单位的区域为埋雷区。
其余部分参照方法一的第2步!点实体>玩者控制>
以下是CS制作里最常用到的距离参数。单位是Valve Hammer Editor里的1。
Valve Hammer Editor中1个单位等于1英寸即2.54厘米
玩家最远跳跃距离:255
玩家最大跳跃高度:42.5
玩家跳下不受伤的最大高度:275
玩家能直接穿过的两固体间的最小缝隙:36
玩家能直接走过的台阶最大高度:16
标准栏杆高度:32
齐胸高的箱子:48
一个典型的门的高度: 128
玩家蹲下的高度:48
玩家身高:72
玩家身体的宽度厚度: 42
人物出生点离地面最小距离4
墙高160
门高96宽64
以下是地图制作实体属性列表
env,是英文“environmental”的缩写,中文为环境的意思。顾名思义,这类实体是和地图环境有关的。所有这类实体都是点实体。(除了env_bubbles实体是固体实体)
func,是英文“Function”的缩写,中文为功能的意思。顾名思义,这类实体是让我们模仿现实生活中的某种物体的功能或实现某种游戏设计意图的实体。该类实体全部是固体实体。
ambient_generic 声音
armoury_entity 装备/武器设置
cycler 加入模型(固体,不能穿过)
cycler_sprite 加入图标/模型(无形,可以穿过)
cycler_wreckage 加入图标(可以有动画的图标,高级)
env_beam 控制实体之间的连接点
env_beverage 哈哈,饮料的模型,有可口可乐等等
env_blood 显示血的实体
env_explosion 爆炸伤害
env_funnel 中间点,类似info_traget
env_global 地图中的状态
env_glow 光晕
env_laser 极光
env_message 讯息显示
env_render 用来修改目标的渲染等等
env_shake 地震
env_shooter 放出碎片(可以用模型代替)
env_sound 音效
env_spark 火花
env_sprite 加入图标
game_counter 引发目标实体
game_counter_set 用来改变game_counter目标的实体
game_end 停止目标实体
game_player_equip 开始时玩家的装备/武器(因为大家没玩过1.6,所以不加上新东东)
game_player_hurt 一定的范例扣血
game_player_team 确定队伍(一定要配合其他实体)
game_score 目标队伍得分(配合game_player_team)
game_team_master 用来清除game_player_team/game_score
game_team_set 引发game_player_team/game_score
game_text 信息题示,分未选队前/後显示,中途显示和回合开始显示
hostage_entity 人质
info_bomb_target 炸弹目标
info_compile_parameters 额外的编译,如果用普遍的编译加上了这个比专业的更强
info_hostage_rescue 人质的逃走位置
info_lights_rad 红灯
info_map_parameters 地图特性(武器和c4设置)
info_null 目标实体,类似info_traget
info_player_deathmatch 匪徒出生点
info_player_start 警察出生点
info_target 目标
info_teleport_destination 传送後的出现点
info_vip_start vip出生点
infodecal 贴图
light 普通灯光
light_environment 太阳灯光
light_spot 放射灯光
multi_manager 多目标管理
multisource 多实体管理
path_corner 自动用路径点
path_track 汽车用路径点
player_weaponstrip 购买范围
trigger_auto 自动引发清除目标实体
trigger_camera 摄影机
trigger_changetarget 转移目标
trigger_relay 引发清除目标实体
****on_target 目标按钮控制
env_bubbles 水泡
func_bomb_target 炸弹目标
func_breakable 可破坏的物件
func_****on 按钮控制(控制****on_target)
func_buyzone 购买区
func_conveyor 推动区(走上去自动行的)
func_door 电动门
func_door_rotating 门
func_escapezone 逃走区(不是vip的)
func_friction 摩擦力
func_guntarget 机枪的目标
func_hostage_rescue 人质逃走区
func_illusionary 可穿过,有透明度的物件
func_ladder 爬梯
func_mortar_field 移动玩家方向
func_pendulum 令物件摆动产生伤害
--------------------------------------------------------------------------------
2 worldcraft入门必读
func_plat 上下移动
func_platrot 转动
func_pushable 可以推动的物件
func_rot_****on 令目标转动(func_platrot)
func_rotating 不停的旋转
func_tank 机枪(可以移动方向的物件)
func_tankcontrols 控制机枪
func_tankmortar 机枪实体(可以移动方向的物件)和func_tank一样(子弹的分别)
func_tankrocket 机枪实体(可以移动方向的物件)和func_tank一样(子弹的分别)
func_trackautochange 转移控制另外的机枪
func_trackchange 转移汽车点
func_tracktrain 火车移动点
func_train 火车
func_traincontrols 控制火车
func_vehicle 自行控制的汽车
func_vehiclecontrols 控制汽车
func_vip_safetyzone vip逃走区
func_wall 樯(用作其他用途)
func_wall_toggle 樯(可控制出现或隐藏)
func_water 水
game_zone_player 玩家的出现区(这样不会出现夹死人的情况,不过变了不定的出生点)
momentary_door 电动门(比之前的更有用)
momentary_rot_****on 门(比之前的更有用)
trigger_counter 目标引发(如func_wall_toggle)
trigger_gravity 那一区的重力
trigger_hurt 那一区会扣血
trigger_multiple 那一区会引发目标(实体)
trigger_once 那一区会引发目标(实体),单一引发
trigger_push 推动力,可作成风阻的效果
trigger_teleport 传送点(配合info_teleport_destination)
地图做好了还不能玩,必须得编译成BSP格式。。
编译是CS地图制作里一项高深的学问。。。偶也8能精通。。所以先列举1先常见的问题及解决方法。。。大家原谅哈。。
游戏载入地图时显示:“文字Map not found on server”这个问题产生的原因很多,大家请一一对照:
· 你是否对你的地图进行了编译,地图是必须经过编译,成为.bsp文件才能玩的。· 如果你已经编译了,你的地图编译是否成功呢?到你编译地图的目录寻找打开名为“地图名.log”的文件。这是一个记录编译信息的文件,看看是否有编译错误的提示。
· 如果没有错误,你是否忘了把你的地图从编译目录拷贝到...cstrike/maps目录里面呢?
· 有时候这个问题产生的原因还在于:你定义了错误的天空套图的名称,或· 把有天空纹理的固体转化为了实体,但是编译通过了。或
· 你使用了非cs的fgd文件。或
· 你是调用的是wc或其他编译程序编译后直接测试地图的功能,由于设置的原因,导致这个问题。我希望大家通过一般的游戏方式进行地图测试。即:自己建立游戏,而不是通过软件进入游戏。
· 你的地图名是否有空格。比如,“my map.bsp”是会导致这个问题的。地图名是不允许有空格的。“mymap.bsp”才可以。
· 是否你做地图的时候忘了警察或是土匪的实体呢?注意:只有警察或只有土匪的地图有时会导致这个问题的。2.地图在编译时出现:“Entity 10, Brush 0: outside world(+/-4096)...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0: outside world(+/-4096): (-9000, -64, 216)-(9000,23,283)大概的意思是说有东西超出了地图的最大边界。出现这样的错误一般有2种情况:
· 你的地图里面存在非法结构的固体。如果错误提示的坐标里有9000或-9000的数字或超过的话就是这个情况了,比如上面例子里的坐标数据“(-9000, -64, 216)-(9000,23,283)”很明显,这个错误就是指非法固体的原因了。解决办法:我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。一般而言,该物体是需要你删除重做的。
--------------------------------------------------------------------------------
3 worldcraft入门必读
· 如果错误坐标里没有9000或-9000的数字或超过的话,那就是这种情况了,即你的地图里真的有东西超过了地图的最大的范围。cs的地图是有最大范围的,是+/-4096。也就是wc软件里网格覆盖的范围。网格达不到的范围就不是地图的允许的范围了。而你的错误,就是有物体在网格的外面了。解决办法同上。补充:有的朋友或许很疑惑,打开地图,找到了问题物体,看他明明在网格的界限里面啊?呵呵。不要惊奇,这是很正常的,这个解释的话就要涉及到rmf格式文件和map格式文件的区别了,这个问题我以后会专门撰文给大家解释的。你现在所要做的是,收起你的疑惑,把问题固体删掉重做!!呵呵。有兴趣的朋友可以打开你的map格式的文件看看,是不是真的有东西在边界外面,而在同样的rmf格式的文件里,这个物体却是在边界里面的。
文字地图在编译时出现:“Entity 10, Brush 0, Side 4: plane with no normal...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0, Side 4: plane with no normal大概的意思是地图里有不正常的固体或固体实体存在,一般这个都是由于由于顶点编辑造成的。大家知道,3个顶点可以定义一个面,那么3个点在一条直线或在同一位置呢?呵呵,就不能定义一个面了,这个,也就是产生这个问题的根本原因了!大家了解原理即可,不必深究。
· 我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。一般而言,该物体是需要你删除重做的。
地图在编译时出现:“Entity 0, Brush 12: mixed face contents...”这样的错误提示。例如编译报告出现下面这样的提示: Entity 10, Brush 0: mixed face contents Texture ROCK_X1 and SKY这是说明你的地图里有纹理混用的情况存在,cs对纹理是有讲究的,大家可以到纹理的相关目录去了解相关的知识。在同一个固体上,一般情况是不允许不同类型的纹理混用的,比如把液体纹理和固体纹理混用在一个固体的表面等等。这个错误提示就是告诉你,你犯了纹理混用的毛病了。
· 我们看上面错误提示的开头:“Entity 10, Brush 0”这个就是告诉你错误的固体或实体的编号了,Entity是指实体,Brush是指固体,后面的非0的数字就是他们的编号,0是代表没有问题,很明显了:“Entity 10, Brush 0”就是说10号实体有问题,而固体没有问题(因为后面的数字是0,呵呵)。知道了这个我们就好办了:进入你的wc,打开地图打开菜单“地图—查找固体”在出来的对话框里把编号添入相应的地方,注意不要把实体和固体搞错了,按确定就可以了。这时,视图里显示的选中状态的物体就是你需要查找的问题物体了。然后把该固体的纹理类型统一,用相关工具把不是一种类型的纹理换成一种类型的纹理。
· 一点小补充:这个问题和编译工具也有关系,比如说:zhlt2.42就不允许天空纹理和固体纹理混用,但是zhlt2.53就可以通过编译。所以,大家升级编译程序也是必要的。
· 如果你是用wc或vhe直接编译的朋友,进入“工具-选项”菜单,打开你的软件的设置框,切换到“编译程序”标签。看最下面的“存放编译后地图的目录”,你设置了什么路径啊?呵呵,你的地图就在你设置的文件夹里面,去找吧!还找不到,我靠!那是因为你的资源管理器设置了隐藏文件后缀名的关系!!所以你只见到了地图名字,没见到地图的后缀(.bsp)· 如果你用“x-man超级地图编译器”的,那么,你把编译要用的.map文件放在那里他就在哪里了。好好找吧!!还找不到,我靠!那是因为你的资源管理器设置了隐藏文件后缀名的关系!!所以你只见到了地图名字,没见到地图的后缀(.bsp)
--------------------------------------------------------------------------------
4 worldcraft入门必读
.地图在编译时出现:“Warning: === LEAK in hull 0 ===...”这样的错误提示。例如编译报告出现下面这样的提示: Warning: === LEAK in hull 0 ===Entity info_player_start @ ( -96,-192,-128)Error: A LEAK is a hole in the map, where the inside of it is exposed to the(unwanted) outside region. The entity listed in the error is just a helpfulindication of where the beginning of the leak pointfile starts, so thebeginning of the line can be quickly found and traced to until reaching theoutside. Unless this entity is accidentally on the outside of the map, itprobably should not be deleted. Some complex rotating o**ects entities needtheir origins outside the map. To deal with these, just enclose the originbrush with a solid world brushLeak pointfile generated这个错误是平时碰到频率比较高的错误,是说你的地图里存在裂缝,也就是说你的地图不是一个密闭的空间,所以编译终止了。产生原因有很多,一般是由于:你的地图的确有裂缝,或者是你的地图没有裂缝但你不小心把某些实体放到了地图外面。这个问题解决的办法无非就是把你的裂缝找出来补好,很多地方也有专门的文章,我把我认为最好的办法告诉大家。至于其他的办法,我以后会专门抽时间写一篇详细的文章的。· 到你的编译目录看看吧!!里面有2个和你地图同名的文件,一个是.pts文件一个是.lin文件。你随便查看其中的一个文件(pts或lin随便你喜欢)确认他们的文件大小。如果文件长度是0:说明你的地图没有裂缝,只是实体没有放好。看上面的例子:“Entity info_player_start @ ( -96,-192,-128)”,你必须确认这个点实体(例子里就是坐标是: -96,-192,-128的 info_player_start实体)没有在你的地图以外或放到了固体体里面。如果有,请放放好再编译吧。 · 如果文件长度不是0:说明你的地图确实有裂缝,到wc的菜单:“地图-载入pts文件”。呵呵,是不是你的视图里有一条很乱的红线啊,不要急,是乱了
*如何设置不能买枪且拿小刀的地图
首先在地图的任何地方创建一 个点实体 game_player_equip然后设置 小刀 选项为“是”这样就变成了一开局什么都没有 只有一把小刀.一样的 如果你想一开始就发给玩家别的东西 可以在别的选项选"是"
关于不能买东西的问题 本人知道的有2种方法:
第1种是 把 func_buyzone 实体放在地图的地皮里 这样player到不了购买的区域就不能买了 简单法(这种方法我喜欢用 因为一开局跳出的“yor are CT /T you could't buy somthing " 太麻烦了 看了不舒服
第2种大概很普遍, 大家喜欢用这种 就是 创建一个点实体 info_map_parameters 然后在第一个项购买武器中选 “双方都不能购买” 如果这样的话 就是出现一个默认的购买区域 也会弹出如上的一行字。
* 手把手教你做机枪大炮
首先来做大炮:
第1步:做枪架,花用矩形画出1个长条状地东东,然后在侧视图里改倾斜(你有见过一根竖着的柱子上面架着一把枪吗?)记得加可见纹理!!不要弄一个枪架到游戏中看不见的,那你太失败了...做出2~4根以后每根角度最好都60~70度,而且所有柱子支撑1个点!!
第2步:模型里面选柱体,在正视图里画个小正方形出来,记住一定要正方形!!不然炮管是扁的别怪我没早说...画好后贴个可见纹理,枪口那1面帖上黑色纹理(炮口里肯定是黑洞洞的嘛!!)PS:炮口在top顶部视图里一定得是炮口朝右!不然方向反了那就.....
第3步:轴心做个上去,放在炮口对面那端,然后...,轴心和炮管一起转func_tankmortar固体实体,属性里除了名称和标记的的玩者控制外其它基本不用改,名称随便改,不要和其他实体重复就OK,标记里选上<玩者控制>,当然你要这个炮管能打出C4大爆炸的话...把爆炸威力改500吧。记住,是爆炸威力,不是伤害力!!
好了之后在放上个固体贴透明纹理转func_tankcotrols固体实体,就是控制区域啦,在这块实体中可以随意控制大炮,当然你也可以玩BT的.比如:在dust2里土匪家朝A区那个2箱子上装个大炮,然后把控制区域放在CT家,这样只要CT会玩大炮,土匪就....哈哈哈哈哈哈,一个一个飞向蓝天~~
到此,大炮的制作大功告成了!机枪只要把炮管转func_tank实体就OK了.
* 手把手教你做监视器
监视器这个东东我地图里从来都不用地,原因:太无聊,还不如开zuo-bi来的实在.
但是有些类型的地图就要用到,比如赛车图,跳跃地图.当你到终点后,就可以用这个看敌人和队友到什么程度了.废话不多说,马上开做!
第1步:画个电脑台出来放在地上(不放也可以,小心别人说你的监视器太低按不到),尺寸差不多就80w宽*80l长*16h高,画好后帖一般可见纹理即可.
第2步:画1个正方形出来,贴上电脑纹理"+1LAB1_CMPM1",如果找不到的话自己换个像电脑的纹理贴上去,只要贴1个面即可.尺寸是48*48*48.搞好之后Ctrl+T转成按钮func_****on固体实体,然后把目标里填上jianshiqi(其实随便填的,跟下面的监视器实体的名称一样就OK),标记里把前2个(不移动,锁定)给打勾,然后完整的电脑就OK了~
第3步:在你要放监视器的位置(不是电脑,是探头的位置!!!)做个<点实体>,然后实体名称改成trigger_camera,名称改成jianshiqi,目标改成jianshiqi2,停留时间随便(视角在这个摄象机视角的停留时间。过了时间就自动切换到玩家视角。)建议7秒,10秒的话老早被阴人高手K.O了.然后OK~
第4步:再在监视器探头摄象机(好长的名字啊...)要看到的地方放上个info_target点实体,放好后,名字填jianshiqi2然后整个摄象机就都完成了!~
* 如何制作C4爆炸
1.方法一(推荐)
通过固体实体func_bomb_target来实现,当T进入这个固体实体即可埋弹,这里是这个实体的介绍:
func_bomb_target
描述:
游戏中不可见。规定了一个可放置炸弹的区域范围。土匪玩家只有进入这个范围里面才可以安置炸弹。用于“反炸弹地图”。
键值:
炸弹爆炸时引发的实体: 如果需要c4引爆周围物体,这里写上周围物体的名称,不需要的话留空。
如果需要引爆周围物体,那我们还需要把要引爆的物体转化为实体func_breakable,这里是这个实体的一些资料:
func_breakable
描述:
可以打碎的实体,我们可以用他来做可以打烂的东西。这是一个每回合都会回复的实体。
健值:
名称: 添入一个名称,即上面炸弹爆炸时引发的实体那栏的名称
全局实体名称:详见env_global实体
破碎时引发的实体:该实体被打碎时将引发该值指定的实体
引发前延时:单位:秒。指定该实体在被打碎后,将延迟多少时间才引发上面指定的实体
耐久度:写1好了,因为我们要让它只能用C4引爆
材料:选择你的这个实体的材质。实体破碎后产生的碎片的材料将会由这个选现决定。
随片散发方向:选项。选择实体破碎后的碎片的撒播方向
碎片模型:你对“材料”里的材料不满意么?自己选一个吧。如果你选了,“材料”键值将不起作用
破碎产生的实体:选项。自己选吧。是用来模拟你这个实体里面装的东西的。回想一下:dust2雷炸了以后箱子里会蹦出的是医药包什么的。这个就是这里设置的。
爆炸范围:设置这个实体的爆炸范围的。爆炸时,在范围里的玩家将受伤或死亡,具体视玩家和该实体的距离位置而定。和c4差不多,0为不爆炸。
渲染属性:设置实体的渲染属性
标记:
只能引发:选上他就打不碎了,只有靠别的实体引发才会碎,一定要选上,否则给人打破就没的爆了! -_-!
可撞碎:玩家一碰就碎
可踩碎:玩家一踩就碎
铁钩/刀立即打碎:随便拿什么武器碰一下就碎
相关实体:func_pushable
这样一个弹点就制作完成了,有些粗心的朋友要注意了,如果你的地图有2个或以上的弹点,名称千万不要混淆了,要不填一样的话人家CT守在另一边会给你吓一跳的,呵呵~
2.方法2
这个方法其实就是C4点实体换了成了这个点实体:info_bomb_target,在以这个点实体为中心,半径为128单位的区域为埋雷区,不推荐使用!因为我们无法正确的设置C4点的范围,这样很容易给地图造成BUG,这里给出这个实体的资料:
info_bomb_target
描述:
点实体。可用于“反炸弹地图”。实体的位置决定了炸弹放置区域的位置。这个实体定义了一个以他为中心,半径为128单位的区域为埋雷区。
其余部分参照方法一的第2步!点实体>玩者控制>

