【教程】13红色警戒2地图编辑器FinalAlert2案例教程 - 高阶 - 利用变量循环随机触发


====☆☆本篇教程内容复杂,用以成熟的专业创作者技术讨论,不适用于新人学习☆☆====
在第12小节中我们提及了局部变量,在本小节中我们将要拓展关于局部变量的内容,利用局部变量实现在游戏地图创作中的随机性触发。
众所周知在FA2中可以被直接性写入的触发条件中,含随机值的仅包括【51-随机延时】
(此处不讨论Hares等平台重置增加的额外随机值算法和触发条件/结果)
本次,我们需要讨论的是关于如何编写一个循环随机点刷兵事件。
简单概括,在地图上存在ABCDE五个刷兵点,我们想要让五个刷兵点随机刷兵。
这样我们可以通过写入五个随机延时的结果7援军小队来实现随机刷兵。
但是这样存在一个问题,那就是如果玩家的脸太黑,会导致五个刷兵点同时刷兵,导致地图上瞬间出现大量单位,导致游戏难度出现过大波动,同时可能导致单位过多产生卡顿甚至弹窗报错。
这是我们不想看到的。
那我们需要限制同时刷兵的点的数量。这时候我们就可以用上上一节中提及的局部变量了。
那么如果在RA2中通过仅有的这一个随机算法,我们如何编写一个随机点刷兵事件呢?


首先我们还是要先创建一个【类型2】的循环触发

条件【51随机延时】来引入随机性算法

结果【7援军小队】
在这里,我们就编写了一个随机延时基数为120秒,在A刷兵点的循环刷兵触发。接下来我们编写其他的刷兵点的循环刷兵触发

我们一共编入了5个刷兵点,均为基数120的随机延时循环刷兵。
接下来我们需要为他们加入限制条件,来实现周期内不大量重复刷兵的情况。
首先我们先在所有五个刷兵触发的结果中加入一个【56设置局部变量】,使每次触发结果均能将局部变量α写为1


同时我们要在五个刷兵触发的条件中写入额外的一条条件,【37局部变量被清除】,约束该触发在局部变量α被写为0时才可以被触发
这样,五个循环随机刷兵触发在任何一个被成功触发后,会写入约束局部变量α的值为1,而局部变量α在取值1的时候循环随机刷兵触发将不能被成功触发
但是这些循环触发本身并不会被禁用,而且循环随机延时会继续进行,结果事件在局部变量α取值改变之前均不会被触发。
随后,我们新建一个触发,用于循环清除这个刷兵事件的缓冲CD



然后,我们把之前编写的五个随机循环刷兵触发的结果中写入【53允许触发】,并且在参数中选择CD清除触发。

这样,这个触发将会在条件循环(例如图中的75秒)后清空一次局部变量α,这样在75秒内,五个刷兵点将不会刷新任何援军小队,在75秒后,将可以继续在各刷兵点继续按照随机值进行刷新。

应用性:
这种随机循环多点援军小队的处理办法可以有效的被编写在特种小队关卡设计方案中,或者多人RPG地图等,也可以用来在生化危机主题的地图中控制地图中的刷兵数量,来控制地图难度和游戏性能。
但凡需要随机刷兵但是需要优化性能和限制难度的情况下,均可使用该方法。
因本小节不讨论Hares或其他平台,其他平台如有更多随机值算法则无需使用本方法进行随机值计算。