yxxiaobin 发表于 2016-4-8 02:57:53

RPG游戏里的自动刷野怪系统

本帖最后由 yxxiaobin 于 2017-4-22 15:30 编辑

在一片区域内自动刷新若干只怪,当玩家杀死某只怪后,延时一定时间自动进行补充。支持重新创建和复活原有两种补充方式。需要注意的是:如果选择复活的方式进行补充,那么怪必须有足够长的死亡时间,否则会复活失败并报错。另外,采用复活方式时,必然会忽略放置区。如果只是想一次创建,死亡后不补充,那么把延时设为-1就可以了。如果想增加刷怪数量,可以多次调用“区域自动刷怪”动作,这么做能让刷怪数量叠加,比如第一次在区域1刷3只刺蛇,第二次在区域1刷4只刺蛇,那么实际上相当于在区域1刷7只刺蛇。
如果想减少刷怪数量,可以使用“减少区域自动刷怪数量”动作。你可以指定某区域的某类怪刷新数量减少一些值。需要说明的是,如果你多次使用了“区域自动刷怪”动作,而且分别使用了创建和复活两种方式,那么在减少刷怪数量时是无法指定减少哪种方式的。因为该动作总是会减少后启用的部分(不一定是后生成的单位)。比如你在区域1第一次用创建方式刷5只刺蛇,第二次用复活方式刷3只刺蛇,无论哪些先死亡刷新,如果减少区域1刺蛇数量4,则所有复活方式的刺蛇都会被减掉,然后再减一只创建方式的刺蛇,结果只剩下4只创建方式的刺蛇了。
使用“区域内的刷怪数量”可以获取某区域的某类怪当前刷新总量(即所有怪都被刷出后的数量,如果一些怪已被杀死,则当前存货数量会少于该值)。

为了方便移植到mod中,本演示中的函数和触发器等已做好分类和属性指定。另外提供一条自定义事件和几个对应的参数以提高兼容性,降低使用障碍。
事件:单位被自动刷新。当单位首次刷新或死后补充时会触发该事件。
函数:被刷新的单位。响应单位被刷新事件,获取被刷出的单位。
函数:被刷新的区域。被刷新单位所属的区域。这一区域是“区域自动刷怪”动作中指定的。
函数:单位被首次刷出。可以判断单位是首次被刷出还是死亡后补充的。在某些情况需要区分两者时有用。

比起以前常见的刷怪方式,本演示的优势在于能针对每一只怪单独计时,即杀即刷,而不必杀死所有的怪后才刷新,这比较符合一般rpg的野怪刷新方案。






刚发现,原来传错版本,减少刷怪数量什么的的功能都没有,于是重新传一下。



yeeboys 发表于 2016-5-24 01:31:55

支持 你

kavadream 发表于 2018-1-12 22:19:16

感谢!下载学习~
页: [1]
查看完整版本: RPG游戏里的自动刷野怪系统