Project1

标题: 求教用YEP动作序列做二刀流技能的方法 [打印本页]

作者: 绫波    时间: 2020-5-6 19:54
标题: 求教用YEP动作序列做二刀流技能的方法
角色拥有两个武器槽,要求是只装备一把武器时和普通攻击一样,装备两把武器时发动二连斩。
通过搜索找到了一位坛友给的持有武器数的判定公式 $gameActors.actor(1).weapons().length===2,但这条脚本写在动作序列里的时候具体应当如何应用呢
作者: hanyilun    时间: 2020-5-7 08:47
本帖最后由 hanyilun 于 2020-5-7 08:52 编辑

尝试着写了一种方法,目测没什么问题,除非你用了某些冲突的插件
1.创建三个技能,一个叫判断,一个叫攻击,一个叫二连斩
2.创建一个公共事件,选择条件分歧,判断方式选择4号页里的脚本
3.在脚本里输入你的判定公式,记得把“创建不满足条件时的分支”勾上
4.当装备了两把武器时,执行“强制战斗行动”指令,让该角色使用“二连斩”,目标为上一目标
5.同理当装备一把武器时,让该角色使用“攻击”,目标为上一目标
6.在“判断”这个技能的动作序列里加上一句“common event x”,x为你创建的公共事件ID
7.“判断”这个技能的目标选择敌方单体,不需要加动画,伤害什么的都不用写,这个技能效果就是触发ID为x的公共事件,然后判断当前持有武器的数量,从而释放不同的技能,因为已经选择了敌方单体为目标,所以强制战斗行动直接选择上一目标就可以,当然你也可以不叫他判断,改成自己想要的名字就行

我尽量写的详细了,不知道能不能满足你的要求,你可以试一试
作者: 橙光    时间: 2020-5-7 19:32
<target action>
  if BattleManager._subject.isActor() && BattleManager._subject.weapons().length===2
    eval: BattleManager._subject.forceAction(4);BattleManager.forceAction(BattleManager._subject);
  else
    action animation
    wait for animation
    action effect
    wait for effect
  end
</target action>
好好看一下YEP动作序列插件的插件帮助 备注栏-右键-插件帮助 里面有详尽的使用方式
词语解释:BattleManager._subject 指行动主体,一般是动作的当前对象,就是正在行动的对象 很好理解。然后拼你后面那么二刀流的判断。
BattleManager._subject.forceAction(4) 行动主体有一个forceAction()方法,指强制行动指令,4是技能ID 指强制行动哪个技能。
BattleManager.forceAction(BattleManager._subject) 战斗管理器同样有一个forceAction()方法,用于执行强制行动,括号内是执行对象,一般是角色(自己人)或敌人(不是自己人),这里扔的是行动主体,正在行动的当前对象。
思路就是上面的强制行动思路。下面是上面以外的情况下,因为重写targetAction这个阶段的动作,所以要手动填上这个技能原来数据库里的效果,至于这些名词 YEP的插件帮助上有写 好好看一下。加油楼主,学习赛高!
作者: 橙光    时间: 2020-5-7 19:34
本帖最后由 橙光 于 2020-5-7 19:49 编辑
橙光 发表于 2020-5-7 19:32
if BattleManager._subject.isActor() && BattleManager._subject.weapons().length===2
    eval: Batt ...


通俗易懂就是
行动主体受到命令-》 技能ID的行动-》战斗管理器(遥控器)按下遥控器按钮-》行动主体开始动了

PS:death break当技能目标陷入死亡状态就中断行动,该阶段的该指令下方的指令不再执行,可以用来防止一些明明已经打死了还在播放特效。




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