零点行动地图制作教程2
起源css地图吧
全部回复
仅看楼主
level 13
hzm654321 楼主
好了下面继续
2013年01月26日 10点01分 1
level 13
hzm654321 楼主
第三课:任务开始、失败和结束的效果
任务开始、失败和结束的效果往往是由多个实体搭配而成的。
===============================================
任务的开始,需要用到的实体有trigger_once、multi_manager、trigger_freezeplayer、game_player_equip、trigger_cdaudio、env_fade、trigger_hud(fgd中没有,需要手动添加键值)和game_text(fgd中没有,可能需要借助cs的fgd)下面,开始一个实体一个实体的讲解。
trigger_once:固体实体,游戏中进入该实体指定的区域只可以引发一次,在单人任务中非常有用
multi_manager:点实体,看到它只有一个键值属性(name)了么?怎么用啊?该实体是在引发多个需要引发的时间不同的实体时的好工具,
正确的
用法是在填写键值name后(即构成其他实体对它的引发关系后),点击属性框里的“优化模式”(SmartEdit)按钮,使该按钮处于未按下状态。点击里面的“加入”按钮。出来一个“新键值”对话框,在上面面的“键”行输入你需要引发的目标实体名称。在下“值”行输入你需要引发的延时时间。依次类推,加入你需要引发的其他实体。
trigger_freezeplayer:点实体,把玩家固定住的实体。玩家被固定住后只能移动视角,不能攻击或干别的什么事。
game_player_equip:点实体,可以设置玩家开始时得到的武器,比weapon系列实体更方便。
trigger_cdaudio:点实体,导入czeror/sound/music中的mp3文件
env_fade:点实体,画面颜色渐变效果,常用来模拟闪光弹和游戏开始结束的黑幕效果。
trigger_hud:点实体,隐藏生命值、防弹衣值和弹药值,在我的fgd中没有,在编辑器中输入的话需要手动加入键值
game_text:点实体,输出文字效果,在我的fgd中没有,在编辑器中输入的话需要手动加入键值(推荐先用cs的fgd打开地图,放入game_text进行调整)
以下是game_text实体的键值(优化模式关闭):
targetname:名称
master:属主
target:目标
message:文本信息:输入你需要显示的信息。需要换行何以用“\n”结尾
x:水平位置:设置水平方向上文本在屏幕显示的位置。0为最左,1为最右,-1为中心。 y:垂直位置:设置垂直方向上文本在屏幕显示的位置。0为最上,1为最下,-1为中心。
effect:文本效果:设置文本的显示效果(0为淡入淡出 1为闪烁 2为打字机效果)
color:颜色1:最终显示的颜色
color2:颜色2:高亮显示的颜色
fadein:淡入或扫描时间:文本从无到有的过程的时间。
fadeout:淡出时间:文本从有到无的过程的时间。
holdtime:显示时间:文本在屏幕上显示的时间。
fxtime:扫描时间:文本高亮显示的时间。
channel:频道:设置文本显示的频道,同一频道的文本,新的信息将把老的信息挤掉。一般使用于地图上有多个该类实体的情况。
—————————————————————————————————————————— 接下来是任务开始的做法(举例)(点实体的位置可以随意,但最好整齐码放):
①将trigger_once放置于玩家出生点(要重合),target填multi。
②创建multi_manager,name填multi(要注意name键值取消优化后会变成targetname键值),然后新增键值:键fade值0,键freeze值0,键freeze值10(重复的键值系统会自动在后面添加
#1、#
2、
#3....所以该键的名称会变成freeze#
1),键text值3,键equip值10,键music值0,键hud0值0,键hud1值10
③创建env_fade,name填fade,Duration(渐变时间)填10,标记勾上Fade From。
④创建trigger_freezeplayer,name填freeze。
⑤创建game_text,注意所有键值都要添加,targetname键值填text。
⑥创建game_player_equip,name填equip,#HP一栏填0的话在游戏中血量就是100,填100以内的数即可自定义任务开始时的血量。装备自己选...标记记得要勾上use only。
2013年01月26日 12点01分 4
level 13
hzm654321 楼主
⑦创建trigger_cdaudio,name填music,track name要按照它的格式填写sound/music/mp3名称,volume填1~10之间的数(10声音最大)
⑧创建trigger_hud,进入非优化模式,增加键值:键targetname值hud0,键display值0
⑨创建另一个trigger_hud,进入非优化模式,增加键值:键targetname值hud1,键display值1 以上,一个标准的任务开始模版就完成了。
===============================================
任务失败,是经常让人猝不及防的玩意。大家可能都有这样的感想:他喵的半条命里玩了几个小时才遇到一次任务失败,怎么CZ里出现的这么频繁?任务失败的理由也是千奇百怪,像队友受到伤害啊...玩家尝试飞行啊什么的。所以在这里教大家怎样制作任务失败的理由,也能在地图中加入一些喜剧元素吧~ 任务失败效果需要用到的实体有:trigger_autosave、multi_manager、trigger_cdaudio、player_loadsaved multi_manager和trigger_cdaudio前面已经说明过了,这里说明剩下的两个: trigger_autosave:固体实体,进入该实体指定区域自动存档=w=印象很深吧? player_loadsaved:点实体,功能强大,能起到代替game_text和env_fade的作用,不过主要功能还是读取前面的存档
—————————————————————————————————————————— 任务失败效果的做法举例:
①在任务可能失败的地方之前放个trigger_autosave,好让玩家不至于在“任务失败”之后读取到别的任务...
②新建multi_manager,设定任务失败引发multi_manager,随便什么原因触发(比如踩烂一块玻璃、打到队友、开个门什么的)然后新增键值:键reload值0,键bgm值0
③新建trigger_cdaudio,name填bgm,track name就填名字中带有"failure"的mp3好了...,volume填1~10之间的数(10声音最大)
④创建player_loadsaved,name填reload,fade duration填5,hold fade填1,show message delay填2,reload delay填6,message to display填你想显示的信息(/n换行)以上,一个任务失败模版就完成了。另:也可以利用env_missionfailure代替player_loadsaved和trigger_cdaudio(不过要用到seq文件来输出字幕,或者添加一个game_text)
===============================================
任务的结束,虎头蛇尾什么的可不行:( 需要用到的实体有multi_manager、trigger_freezeplayer、game_text、trigger_endmission trigger_endmission:点实体,换关、屏幕渐变与播放BGM乃其职责之所在!
—————————————————————————————————————————— 任务结束效果的做法举例:
①创建multi_manager,设定任务结束引发multi_manager,随便什么原因触发(比如踩烂一块玻璃、打到队友、开个门什么的x2)然后新增键值:键edfreeze值0,键edtext值0,键edmission值0
②创建trigger_freezeplayer,name填edfreeze
③创建game_text,targetname键的值填edtext,输入内容请随意,如Mission Failed什么的...(误)
④创建trigger_endmission,name填edmission,Hold time为黑屏到换图耗费的时间,其他选项不需要我解释了吧...next map建议填cz_worldmap 那么,
任务结束效果也制作出来了~这课就结束咯
第四课:地雷和线雷的制作
还记得某些关卡那些耀目的让人完全无法无视的地雷么?
制作这种地雷需要的实体有:trigger_hurt、env_explosion、item_generic、env_sprite、trigger_relay、multi_manager。
实体解释:
trigger_hurt:固体实体,在游戏中制定一个区域,进入该区域的玩家都会受到伤害,在这里模拟的是地雷照成的爆炸伤害。
env_explosion:点实体,模拟爆炸效果。
item_generic:点实体,在游戏中放置模型文件,这里用来放置地雷模型。
2013年01月26日 12点01分 5
level 13
hzm654321 楼主
env_sprite:点实体,在游戏中放置图标文件,这里用来制作地雷发出的红光。
trigger_relay:点实体,中转实体(具体用法见X-man天书),这里用来删除爆炸后的地雷模型和地雷的红光。
multi_manager就不解释了,前面已经解释过了0w0
———————————————————————
地雷制作方法举例:
①在地图的地面上放置一枚item_generic,注意轴心(一个×)不要镶入地里。这样配置属性: name:mine
Model:models/props/landmine.mdl
Light multiplier:1
sequence name(动作):idle
———————————————————————
②在item_generic的上面一点位置创建一个env_sprite
属性配置: name:mine Render Mode(渲染模式):Additive
*FX Amount(透明度):210 *
FX Color(颜色):255 0 0(红色)
*Framerate(帧率):10.0 Sprite name(图标名字):sprites/glow03.spr
Scale(图标大小):0.3
Light(发光):0 0 0 200
勾上标记:
Start on(任务开始时就开始工作)
——————————————————————
③在item_generic相同的位置上放置一个env_explosion,
属性设置:
name:mine_boom
Magnitude(magnitude)(爆炸范围):300
Fire Sprite:sprites/zerog-frag1.spr
勾上标记:
No Sparks
———————————————————————
④在item_generic的位置上制作一个trigger_hurt(要覆盖item_generic)属性设置:
Target:mine_manager
*Damage(对玩家的伤害):666(总之要让玩家一碰到就死)
Damage(伤害类型):BLAST(爆炸)
勾上标记:
Fire Client Only
Touch Client Only
———————————————————————
⑤建立multi_manager,name填mine_manager,取消优化模式,添加键值:键mine_boom值0.1
———————————————————————
⑥建立trigger_relay 属性设置:
name:
mine_manager
killtarget:mine
————————————————————
到这里,一个典型的cz地雷就制作好了。
===================================
关于线雷的制作:线雷的制作只需要monster_tripmine一个实体就可以实现。具体做法为:将monster_tripmine实体贴在墙上(轴心不要镶入墙里,留一点空隙),再让它的方向背对着贴着的那堵墙就行了!超简单
2013年01月26日 12点01分 6
level 6
哈!看完了,顶!
lz
辛苦了!
2013年02月02日 00点02分 7
1