RMMV系列技巧1:特定条件下发动的额外技能

=========================================================
写在前面:本文技巧实现依赖YEP的动作序列扩展插件,需要有一定的动作序列编写经验,如果还无法使用自定义动作序列,可以在B站搜索相关教程,安兹乌尔饭(饭大师)的教程比较简单易懂。你也可以查看简书的下面3篇文章了解动作序列:
https://www.jianshu.com/p/9f6f8628bc38
https://www.jianshu.com/p/059465f2ca10
https://www.jianshu.com/p/fbf27ca28cb0
此效果预览视频:https://www.bilibili.com/video/av75116485/
=========================================================

这个效果的实现,是使用了forcedaction 强制动作来完成的,基本思路是在技能的某个节点插入判定条件,满足条件则发动指定技能,否则直接绕过而继续接下来的动作。
 
 
实现这个技巧,首先会用到如下的脚本(后面会介绍如何使用):

    if (Input.isPressed('right') && $gameParty._partyLimit >= 100) {
        BattleManager._subject.forceAction(173);
        BattleManager.forceAction(BattleManager._subject);
    } 

在这里我讲逐行解释它的作用:

    if (Input.isPressed('right') && $gameParty._partyLimit >= 100)

【条件】如果玩家在此时按住了‘右方向键’(还可以使用 up down left ok cancel等等,更多的可以参考本文底部的附录),并且队伍极限计量槽值大于等于100(这个极限计量槽是yep的一个扩展插件,这里仅用于举例)。

                                                                    { 
        BattleManager._subject.forceAction(173);
        BattleManager.forceAction(BattleManager._subject);
    }

【执行的动作】强制执行第173号技能。
 
 
那么,接下来我们就可以按照这个格式,写出你自己的联携技能了。
我们在工程目录\JS\plugins\文件夹下新建一个js文件,例如Hiougi.js(首字母大写在插件列表中排前面,小写则排后面),然后打开编辑这个js文件,像下面的例子写一个完整的方法(之所以这样做,是为了简化在多个技能中调用同一个方法,而不至于每个技能的序列里用eval写出超级长的一行脚本):

BattleManager.actionHiougiHayate = function(){
    if (Input.isPressed('right')) {
        BattleManager._subject.forceAction(173); //技能ID可自行指定
        BattleManager.forceAction(BattleManager._subject);
    } 
    else if (Input.isPressed('down')) {
        BattleManager._subject.forceAction(174);
        BattleManager.forceAction(BattleManager._subject);
    }
    else if (Input.isPressed('ok') && $gameParty._partyLimit >= 500 {
        BattleManager._subject.forceAction(179);
        BattleManager.forceAction(BattleManager._subject);
    }
}; 

保存好后,在插件列表中加载此“插件”,并设置为生效ON。当然你也可以把这些代码写在你自己的常用脚本js里,或者写在其他插件下面(极其不推荐)。
这里的actionHiougiHayate就是要在技能中引用的内容(区分大小写),而你可以任意命名如dazhaoWangxiaoming。而如此一来,我在这例子里就定义了3个按键对应3个技能。那么我们如何把它引用到技能里连续发动呢?

MV数据库中点选相关技能,在技能的备注(不是技能简介)里编写动作序列。然后在合适的位置插入上面的奥义发动方法(附带详细注解):

<whole action> //这只是个人习惯,我喜欢在whole里把所有的动作全部写完,请保持自己的习惯
immortal: target, fales //敌人不死效果关闭(这个原本是在followaction或者finishaction里的,但比较拖沓我放在这里了)
move user: Forward, 40, 10 //用10帧的速度向前移动使用者40像素
wait for movement //等待移动到位
motion swing: user, no weapon //使用者做出挥舞的动作,不显示武器
se: es-attack, 100, 100 //播放es-attack这个音效
wait: 20 //等待20帧
animation 375: target //在目标身上播放375动画
wait: 15 //等待15帧
action effect //结算技能效果
eval: BattleManager.actionHiougiHayate(); //【这里就是调用上面js文件中的脚本 注意区分大小写】
wait: 10 //等待10帧
</whole action>
<target action>
</target action>

如此一来,在这个技能进行到跳伤害之后,如果玩家满足持续按住右方向键的条件则发动173号技能,如果按住下方向键则发动174号技能,如果按住了空格键/Z键并且队伍极限槽大于等于500则发动179号技能。

在这个技巧中还能使用各种各样的判定条件,大量的按键方案,这些就请您自行探索学习了。

附:部分可引用的按键表(自行修改core.js或者如果使用了yep的keyboardconfig插件还可以定义更多)

Input.keyMapper = {
    9: 'tab',       // tab键
    13: 'ok',       // 回车键
    16: 'shift',    // shift键
    17: 'control',  // ctrl键
    18: 'control',  // alt键
    27: 'escape',   // 退格键(删除字符那个←键)
    32: 'ok',       // 空格键
    33: 'pageup',   // pgup键
    34: 'pagedown', // pgdn键
    37: 'left',     // ←键
    38: 'up',       // ↑键
    39: 'right',    // →键
    40: 'down',     // ↓键
    45: 'escape',   // insert键
    81: 'pageup',   // Q键
    87: 'pagedown', // W键
    88: 'escape',   // X键
    90: 'ok',       // Z键
    96: 'escape',   // 小键盘数字0键
    98: 'down',     // 小件班数字2键
    100: 'left',    // 小键盘数字4键
    102: 'right',   // 小键盘数字6键
    104: 'up',      // 小键盘数字8键
    120: 'debug'    // F9键
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352