Project1

标题: 大佬们,怎么提高技能调用公共事件的优先顺序啊? [打印本页]

作者: xxttx    时间: 2024-1-9 14:26
标题: 大佬们,怎么提高技能调用公共事件的优先顺序啊?
想做一个仿dnd玩法的游戏,需要在战斗中投骰子,判定失败的话就跳过回合。
但是mv原版的公共事件只能在技能或物品之后释放
有没有什么办法能让公共事件在技能之前被调用呢?
作者: shiroin    时间: 2024-1-9 14:26
xxttx 发表于 2024-1-9 15:39
我想要的就是这个

如果是每开始一个新的回合,角色都必定需要掷骰一次进行判定,那你可以把这个效果做成一个状态或被动技能,持有这个状态或被动的角色每回合开始都将自动进行一次回合有效性判定,这可以通过写在状态的注释来完成(需要YEP_BuffsStatesCore插件来提供支持):

<Custom Turn End Effect>
var chance = 5 / 6;
if (Math.random() > chance) {
user.addState(5);
}
</Custom Turn End Effect>

这个注释效果就是每个战斗回合结束时都会判定一次"六分之一的概率该角色下一回合无法行动",无法行动的原理就是给该角色附加了一个设定了无法行动效果的状态(还要设置维持1回合有效),我假设它是5号状态
作者: shiroin    时间: 2024-1-9 14:37
你可以考虑用YEP系列插件搭建你的战斗系统,装入YEP_SkillCore.js插件后,可以通过在技能注释里写入这个注释来达成释放技能时优先调用33号公共事件:

<Before Eval>
$gameTemp.reserveCommonEvent(33)
</Before Eval>

通过修改框号里的数字可以修改对应的公共事件序号,还可以选择采用变量值来决定:

<Before Eval>
var id = $gameVariables.value(22);
$gameTemp.reserveCommonEvent(id)
</Before Eval>

这种注释就会选择22号变量的值来决定执行对应序号的公共事件
作者: xxttx    时间: 2024-1-9 15:12
shiroin 发表于 2024-1-9 14:37
你可以考虑用YEP系列插件搭建你的战斗系统,装入YEP_SkillCore.js插件后,可以通过在技能注释里写入这个注 ...

感谢回复!
按照您说的,用YEPskillcore来调用了公共事件,可还是没法让公共事件在技能之前执行
可能就像您说的,是因为串行推进事件吧
作者: shiroin    时间: 2024-1-9 15:27
xxttx 发表于 2024-1-9 15:12
感谢回复!
按照您说的,用YEPskillcore来调用了公共事件,可还是没法让公共事件在技能之前执行 ...

你公共事件是写了什么内容?
如果你目的是为了达成【先掷骰决定角色有没有行动次数】的效果,其实也不一定要是公共事件的实现方式

作者: xxttx    时间: 2024-1-9 15:38
shiroin 发表于 2024-1-9 15:27
你公共事件是写了什么内容?
如果你目的是为了达成【先掷骰决定角色有没有行动次数】的效果,其实也不一 ...

真的吗?!
请问要怎么做呢?
作者: xxttx    时间: 2024-1-9 15:39
shiroin 发表于 2024-1-9 15:27
你公共事件是写了什么内容?
如果你目的是为了达成【先掷骰决定角色有没有行动次数】的效果,其实也不一 ...

我想要的就是这个
作者: xxttx    时间: 2024-1-9 17:25
shiroin 发表于 2024-1-9 15:55
如果是每开始一个新的回合,角色都必定需要掷骰一次进行判定,那你可以把这个效果做成一个状态或被动技能 ...

谢谢大佬!您辛苦了!
您简直就是我的救星!




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