跳到主要内容

喵氏事件CP式回合制

导言

各位好久不见。因为过年很多事情要忙,这一篇教程也不是特别重要,所以延长了更新时间。

此系统纯属脑洞产物,唯一一次使用到的是在R考场第二期的时候。题目要求将战斗改为横版,当时我并没有足够的能力制作横版战斗,于是花了点时间用事件做成横版。

该系统推荐使用在战斗不多的R剧上。如果R剧里面存在战斗,不想让战斗乏味缺乏表现力,而自己又没有能力写太华丽的脚本战斗系统,就可以考虑一下使用这个。

项目描述
系统完善度★★☆
学习难度★★★★☆
学习时间30分钟-1小时
范例工程R考场第二期答卷

img

要点

没有特难的要点,主要是数据的导入和公式设定比较麻烦,需要一点耐心。

开始

惯例翻开公共事件,先看一看系统数量有多少。

img

一整列公共事件看下来似乎有点吓人,其实真正核心的地方大都不在其中。如果你了解过一些脚本,你可以把这些公共事件看做一个个def,也就是方法定义,基本都是从其他事件内调用,不会自动执行。

这个系统我也不知道怎么讲解好,毕竟第一次做纯事件回合制,我自己都有点乱。既然如此我们就循序渐进,先从系统启动的地方开始讲起吧。 找到“洞穴陷阱”的地图,下方洞穴出口处有一个冰女,这个就是战斗开始的地方。

img

注释:

①公共事件:调用了公共事件,待会再说明。

②变量操作:此处是代入敌人的能力值数据,能力值类型可以自己设置。因为这个系统的伤害公式都是自己定的。

③开关操作:进入战斗的标志开关,告诉核心系统已经开始战斗了。

了解后,看到上面那两个事件。

img

img

这两位其实是战斗NPC,他们会在战斗开始的时候作为敌人或队友出现。大家都能懂不必多说吧?

然后是关于战斗数据初始化的公共事件。 打开公共事件找到“战斗前准备”。

img

首先将呼出菜单禁止防止玩家在战斗时呼出菜单扰乱系统。然后再看到两个调用的公共事件。

img

显示图片是对队友和敌人的血条UI进行初始化。

变量计算……嗯……这个要注意一下。

这个是对全体战斗人员的速度总值进行计算。具体用来做什么的呢,下面的回合行动会讲到。

img

能力值导入是……玩家队伍的角色能力值导入。可能有点多,但这是纯事件,不可避免……

接下来就是回合控制的核心指令了。打开公共事件,找到“行动顺序”公共事件。

img

注释:

①条件分歧:判断是否在回合中。也就是判断是否有战斗人员在进行行动。

②敌人全灭处理:当敌人的HP全部为0以下,就将数据全部重置。此处敌人只有1个所以只有一次分歧。

再往下看,就是决定具体到哪个人的回合的判定了。

img

注释:

①HP判断:判断队友HP是否大于1,也就是判断有没有死掉,如果还活着就参与回合计算。

②变量操作:记得CP战斗一般都带着个行动条么,谁的头像到了尽头就是谁的回合。这个系统看不到CP条,但是战斗顺序就是有这个决定的。你可以把这个变量加法看成CP条,数值越大,则角色离行动时机就越近。

③变量操作:这里没有死亡判定。因为之前已经判定了敌人死了没有,不过要注意,如果敌人队伍存在2个以上的敌人,就要分别加判定了。

④开始行动:如果关于角色回合进度的变量数值大于全员的速度总值,就轮到这个人行动。讲到这里大家看得出这个系统的行动顺序算法了么?如果还不清楚我就明明白白讲一遍。行动顺序的决定公式是,每个人都不断对自身的速度值进行累加,如果累加到超过了全体战斗人员的速度总值,就将累加值清零,并开始回合行动。虽然这个算法不一定最优,但是基本可以实现CP战斗了。

img

注释:

①条件分歧:这是对特殊BUFF进行的特殊处理。此处是敌人中了睡眠BUFF,也就是如果轮到此敌人行动,则直接将速度累计值清零而不行动。

以上就是控制回合顺序的算法,但具体的行动指令还是在地图上。

img

img

注释:

①出现条件:直接设置成对应开关即可。

②自动执行:可以防止玩家乱走。

③信息读取:利用显示文章将当前角色的具体信息显示出来。

④公共事件:这里是技能的伤害公式,公式多变,根据实际需要设置。具体请看对应公共事件。另外说一下,公共事件里面的脚本只是用来显示伤害数值的,可有可无,不影响整个系统。

⑤公共事件:每一次行动结束后都要执行的公共事件,用来重置角色回合,否则角色会不断行动。

结束

好了,以上就是全部要点,剩下的都是一些举一反三的内容了。 那么到这里全部教程就结束了,感谢大家的支持。