Project1

标题: 插件YEP_PartySystem的问题 [打印本页]

作者: betabetayu    时间: 2022-11-3 23:55
标题: 插件YEP_PartySystem的问题
本帖最后由 betabetayu 于 2022-11-3 23:57 编辑

队伍有甲乙丙多个角色时,将甲和乙休息,只让丙上场。遇到剧情事件,丙离开队伍。这时地图上会找不到角色。可以遇敌,遇敌时,显示 “被击败了”失败的声音,但是却能继续剧情(boss默认被打败了)。
请问:怎样解决:遇敌时,显示被击败,却能继续剧情的的bug。
作者: loveinyou200    时间: 2022-11-3 23:55
如果你硬要没有战斗人员的情况继续游戏,还有两套方案,供你参考。
你得多加一个燕飞的“YEP_BaseTroopEvents.js”插件,来作用于战斗的开始与结尾事件。
方案一:队伍没有可以战斗的人,就直接终止战斗——
设定一个战斗开始事件,来进行队伍战斗人数判断,判断条件变更为:$gameParty.battleMembers().length == 0 (队伍战斗角色人书为0)或$gameParty.aliveMembers().length == 0 (队伍战斗存活角色人数为0),直接执行指令BattleManager.abort()(战斗终止),并继续进行终止后的行动。
方案二:队伍没有可以战斗的人,加入一个过度角色——
设定一个战斗开始事件,来进行队伍战斗人数判断,判断的脚本依然是这两项,如果均为0,可以加入一个系统设定的外派角色开始战斗;
同时设定一个战斗结束事件,来让战斗结束后,移除这位系统外派的角色。
这样一来,战斗可以依然照常进行,你的流程也不冲突。

以上方案供参考,再不合适你的需求,你就得把你的问题好好描述清楚啦。。。
作者: loveinyou200    时间: 2022-11-4 00:08
在丙离开队伍的事件前先加入一个判断:
$gameParty.battleMembers().length >= 2 (队伍战斗角色大于等于2人)
或者更严谨一些
$gameParty.aliveMembers().length >= 2 (队伍战斗存活角色大于等于2人)
符合条件,丙可以离开队伍
不符合条件,丙不能离开队伍
这样就防止你所说的情况发生了
作者: loveinyou200    时间: 2022-11-4 00:52
示范一下效果:


建立一个让丙离队的事件,设定好离队条件

然后进行测试——


队伍人数大于等于2人时


与事件接触后,丙离队

重启游戏测试——


队伍中把甲、乙放到后备队伍(不参战)


与事件接触,提示“文本内容”,丙无法离队

因设定了存活人数的条件,如果战斗队伍中哪怕甲乙丙都在,但若甲、乙已经阵亡,那丙也无法离队,这里就不测试贴图了,你自己试一下就行。
作者: betabetayu    时间: 2022-11-4 08:56
loveinyou200 发表于 2022-11-4 00:08
在丙离开队伍的事件前先加入一个判断:
$gameParty.battleMembers().length >= 2 (队伍战斗角色大于等于2 ...

谢谢。
不过。因为游戏角色又多又复杂。游戏经常出现剧情离队情况。所以,这种方法不可行。
我想解决的问题是:当队伍没有人出战时,怎样才能不出现“被击败了”这样的bug。

作者: loveinyou200    时间: 2022-11-4 11:22
betabetayu 发表于 2022-11-4 08:56
谢谢。
不过。因为游戏角色又多又复杂。游戏经常出现剧情离队情况。所以,这种方法不可行。
我想解决的问 ...

一个和多个有什么区别?只要有人离队,你就插入一个判断条件呀。。。
你要离队,都的输入一个离队指令的,你单搬一个离队指令,和直接搬一整套判断程序有什么区别呢?
不然,你队伍没有能战斗的人,本来就是个bug呀,怎么能不出现“被击败了”,不出现这个,又该出现什么呢?
作者: betabetayu    时间: 2022-11-5 22:03
loveinyou200 发表于 2022-11-4 15:15
如果你硬要没有战斗人员的情况继续游戏,还有两套方案,供你参考。
你得多加一个燕飞的“YEP_BaseTroopEven ...

插件非常不错。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1