发信人: rich-888(飞毛腿A)
整理人: nhabc-mzhj(2002-04-22 19:15:28), 站内信件
|
随机触发事件制作教程
此教程适用于已有一定经验的地图制作者.如果你是地图制作初学者,请先学习触发事件的制作方法.
通常而言,RA2中的触发事件是定义好了的事件的集合.每一次游戏者进入一个特定地图时,相同的事件总是以相同的方式发生.
想象一下,游戏者在不同的时间分别进入某幅地图,而每一次会发生不同的事件.你将不会知道将要发生什么事情,即使你已经玩过这幅地图,那将为整个游戏添色不少!
随机触发事件的原理
一组具有相同的随机延迟的触发事件在同一时刻被启动.每一个被触发的触发事件将关闭其它所有的触发事件.这样,具有最小延迟的触发事件会首先被触发,并且在其它所有的触发事件被触发前将其关闭.
你也许会问,如果两个具有相同延迟时间(同时又是最小时间)的触发事件存在于地图中,它们是否会被一起触发.至少从到现在为止的测试来看,不会.如果发生这种情况,排列在前面的触发事件将先被触发.
随机触发事件制作实例
下面我们制作一个随机触发事件,它可以随机对地图上的3个地点进行一次核攻击.
第一步 设定随机核攻击的地点
首先,我们在地图上确定随机核攻击的地点.在这里,我们设定3个地点,放置3个路径点,命名为10,11,12.
然后开始制作触发事件部分.它们分为两个类型:"启动"触发事件和"动作"触发事件.
第二步 创建"启动"触发事件
请依照下表创建一个触发事件.
TriggerName: nuke-enabler
House: <none>
Type: 2 (repeating)
Attached trigger: <none>
Disabled option: 打勾
Easy/Medium/Hard options: 打勾
Event0: #13 Elapsed Time; parameter=1
这个触发事件使整个随机系统得以运转.它启动所有的"动作"触发事件.你需要按照你的要求另外制作一个触发事件来启动它.
注意:现在先不用为这个"启动"触发事件设置动作,因为其它的触发事件还不存在.
第三步 创建"动作"触发事件
每一个"动作"触发事件决定它们所将要采取的动作,同时关闭其它的"动作"触发事件使其无法启动.因为在这里有三个可能的核攻击地点,所以需要有三个"动作"触发事件.
请依照下表创建一个触发事件.
TriggerName: nuke-10
House: <none>
Type: 2 (repeating)
Attached Trigger: <none>
Disabled option: 打勾
Easy/Medium/Hard options: 打勾
Event0: #51 Random Delay, parameter=300
就像在原理中提到过的那样,延迟Delay用于决定随机事件的发生率.延迟越小,随机事件发生的机会越高.在这里,延迟Delay的值为300,这足以满足3个事件的随机发生.
现在再做两个和上面的触发事件一样的触发事件,除了它们的名字分别是nuke-11和nuke-12.你大概猜到了,它们以它们将要攻击的路径点来命名.
现在先不为这些"动作"触发事件设置动作.
第四步 为"启动"触发事件设置动作
"启动"触发事件将启动所有"动作"触发事件,同时关闭自己以防止整个系统自己重新运作.
TriggerName: nuke-enabler
Action0: #54 Disable Trigger, parameter=nuke-enabler
Action1: #53 Enable Trigger, parameter=nuke-10
Action2: #53 Enable Trigger, parameter=nuke-11
Action3: #53 Enable Trigger, parameter=nuke-12
"启动"触发事件现在完成了.
第五步 给"动作"触发事件加入动作
每一个"动作"触发事件需要一个特定动作来决定在一个特定路径点(在第一步中制作的)进行核攻击.同时它们关闭其它的"动作"触发事件,并且启动"启动"触发事件,使得整个过程循环.
TriggerName: nuke-10
Action0: #95 Nuke Strike, waypoint parameter=10
Action1: #54 Disable Trigger, parameter=nuke-10
Action2: #54 Disable Trigger, parameter=nuke-11
Action3: #54 Disable Trigger, parameter=nuke-12
Action4: #53 Enable Trigger, parameter=nuke-enabler
TriggerName: nuke-11
Action0: #95 Nuke Strike, waypoint parameter=11
Action1: #54 Disable Trigger, parameter=nuke-10
Action2: #54 Disable Trigger, parameter=nuke-11
Action3: #54 Disable Trigger, parameter=nuke-12
Action4: #53 Enable Trigger, parameter=nuke-enabler
TriggerName: nuke-12
Action0: #95 Nuke Strike, waypoint parameter=10
Action1: #54 Disable Trigger, parameter=nuke-10
Action2: #54 Disable Trigger, parameter=nuke-11
Action3: #54 Disable Trigger, parameter=nuke-12
Action4: #53 Enable Trigger, parameter=nuke-enabler
就是这样,你完成了一个随机触发事件.你可以把它加入你自己的地图,并且设定一个触发事件来启动"启动"触发事件.在地图中,核弹将会攻击游戏者无法预料的地点.你可以修改"动作"触发事件中的动作来使它们做一些其它的随机事件.
加入更多的动作
就像你看到的那样,如果你想加入更多的核攻击地点,你只需要加入更多的"动作"触发事件,同时"启动"触发事件需要更多的动作来启动这些"动作"触发事件.每一个"动作"触发事件也需要更多的动作来关闭其它的"动作"触发事件.不过RA2在读取一个具有很多动作的触发事件时有可能发生错误,所以一切都由你自己来考虑.
|
|