Project1
标题:
类似女神转生的恶魔交涉技能
[打印本页]
作者:
玄天
时间:
2017-10-25 13:18
标题:
类似女神转生的恶魔交涉技能
本帖最后由 玄天 于 2017-10-25 17:33 编辑
原文是个提问,后来自己解决了,解决办法见楼下
▼原文
想做一个类似在战斗中和敌人交流的效果,如果对话选项选对的话敌人就会逃走(退场)或者直接战斗胜利。类似女神转生系列的恶魔交涉。
怎么判断选中敌人倒是让我在日本那边找到了代码,但是不知道怎么让敌人执行动作。自带的强制行动貌似是用来让敌人强制怼我方用的,并没有作用到敌人自己本身。
就算用赋予『战斗不能』状态给敌人也只是让敌人无法选中而已,图形还在,并没有消失效果。
另外就是由于是用一个没有伤害的技能去选中敌人,所以会弹MISS之类……这种情况有没可能避免?
作者:
wabcmcc
时间:
2017-10-25 15:48
事件頁,
強制動作: 敵人施展逃跑技能.
作者:
玄天
时间:
2017-10-25 17:03
wabcmcc 发表于 2017-10-25 15:48
事件頁,
強制動作: 敵人施展逃跑技能.
哦,原来之前不知道什么问题把逃跑技能的范围设置成『敌人』,怪不得之前一直试都是主角自己跑路
因为逻辑上作用于『敌人』的技能在敌人身上使用等于反弹给角色
作者:
玄天
时间:
2017-10-25 17:23
本帖最后由 玄天 于 2017-10-25 17:29 编辑
我白痴了,战斗胜利的话直接给个全体敌人战斗不能不就行了吗。
顺便说一下我这个功能的做法:
首先做一个技能(比如叫『聊天流』),效果范围是『敌人单体』,然后效果是呼叫公用事件。
然后再做一个技能(比如叫『劝退』),效果范围是『使用者』,其他同『逃跑』
『聊天流』的公用事件里用代码获取到敌人在数据库的编号:
$gameTroop.members()[BattleManager._subject._lastTargetIndex].enemyId();
复制代码
以及选中敌人在这场战斗中的index:
BattleManager._subject._lastTargetIndex;
复制代码
聊天过程略
然后执行『劝退』
this.iterateBattler(0, 敌人index, function(battler) {
if (!battler.isDeathStateAffected()) {
battler.forceAction(劝退技能编号, -2)
BattleManager.forceAction(battler)
this.setWaitMode('action')
}
}.bind(this))
复制代码
另外刚试了一下,事件指令本身给全体敌人加『战斗不能』的话会有个消失效果,如果不想有消失效果的话得用代码:
$gameTroop.members().forEach(function(enemy){
enemy.addState(1)
});
复制代码
蹦字是我自己的插件问题(有个蹦字加强的会把无效技能效果判断为MISS然后蹦出来,关掉就没事了)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1