查看: 4122|回复: 6

[已经解决] 必定援护的被动技能

[复制链接]
梦石
0
星屑
149
在线时间
32 小时
注册时间
2015-12-30
回帖
16
发表于 2015-12-31 09:16:19 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
因为是菜鸟,所以问题可能有点多,抱歉...

今次主要是想问援护技能方面的事
翻过一些以往的帖,有提到MV有特殊标记「援护」,使同伴有一定机率为HP低的同伴挡刀

先撇开我好像找不到这个标记这个问题゚(つд`゚)
我比较想知道有没有办法做到100%援护指定队友的技能

因为最近做的游戏是只有1HP的女主以及超强的男主
为了保护女主不会一战斗就被KO,想帮男主添加一个「只要男主没有被KO,女主受到攻击的话,男主必定会援护挡刀」的被动技能,只要战斗开始就会立即生效这样
这样的技能需要动用到插件或脚本去做吗?
虽然有网站开发的少许JAVASCRIPT的经验,但真的不太知道如何下手
梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
回帖
138
发表于 2015-12-31 09:44:48 | 显示全部楼层
事件,只要男存活,即无法选择女主为目标?
回复

使用道具 举报

梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2015-12-31 10:06:34 来自手机 | 显示全部楼层
在特征里面最后一页,早期一点的汉化是特性
至于后面的需求,确实需要改脚本。怎么下手:搜索substitute。不排除有人做好现成的,毕竟也不是很特殊的需求
回复

使用道具 举报

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
回帖
212
发表于 2015-12-31 10:57:36 | 显示全部楼层
本帖最后由 andrewx 于 2015-12-31 12:52 编辑

首先给男主特征里加上楼上说的援护flag,这样男主默认自带援护flag

如果楼主只需要这一种援护效果的话(即不考虑其他角色的的援护),那么直接修改援护判定部分就行了
[pre lang="javascript" line="1" file="Substitute.js"]BattleManager.checkSubstitute = function(target) {
        //修改开始
        if (!this._action.isCertainHit() && target.isActor() && target.actorId() === 2){
                return true;
        }
        //修改结束
    return target.isDying() && !this._action.isCertainHit();
};[/pre]

把第三行最后一个target.actorId() === 2的2换成你的女主id,这个保存成js当成插件启用即可
这只是例子,即在援护效果判定前面额外加了个判定:首先不是某种攻击(系统设定不需要管)不是必中,并且目标属于主角,且目标的角色id等于2,那么一定发动援护(无论哪个主角目前有援护flag)
其他复杂的判定大概有相关脚本?楼主有js经验的话按需求自己加加看
回复

使用道具 举报

梦石
0
星屑
149
在线时间
32 小时
注册时间
2015-12-30
回帖
16
 楼主| 发表于 2015-12-31 12:24:47 | 显示全部楼层
本帖最后由 tmh2009 于 2015-12-31 12:27 编辑
andrewx 发表于 2015-12-31 10:57
首先给男主特征里加上楼上说的援护flag,这样男主默认自带援护flag

如果楼主只需要这一种援护效果的话(即 ...


暂时手边没有RPG MAKER,没法试...
想交流一下有关这个脚本的部份
isCertainHit()这个METHOD是不是指必中的意思?
RPG MAKER 里有什麽技能是预设必中的吗?或会怎样设才为之必中?
因为原意是希望不论是啥攻击甚至地图炮,只要男主没死就一直可以进行援护
所以看完这段其实我想把条件修成
[pre lang="javascript"]if (target.isActor() && target.actorId() === 2){
     return true;
}[/pre]
但担心!this._action.isCertainHit()会牵扯到什麽系统部份的判定
另外脚本方面有主动援护者的变数吗?
因为想尽可能不影响原功能,如果有能够做到类似∶
[pre lang="javascript"]if (substituter.isActor() && substituter.actorId() === 1 && target.isActor() && target.actorId() === 2){
     return true;
}[/pre]
这样的东西,当然是最好。

抱歉……明明试也没试过就在问东问西,连我都有点不好意思了。|д゚ )
回复

使用道具 举报

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
回帖
212
发表于 2015-12-31 12:50:56 | 显示全部楼层
本帖最后由 andrewx 于 2015-12-31 13:26 编辑
tmh2009 发表于 2015-12-31 12:24
暂时手边没有RPG MAKER,没法试...
想交流一下有关这个脚本的部份
isCertainHit()这个METHOD是不是指必中 ...


啊,我翻了下数据库确实应该是必中,之前对certainHit理解有错,抱歉
其实最明显的地方就是防御逃跑待机技能都会设定成必中,因此假设女主执行防御,男主会触发“援护”然后抢掉了女主的防御效果囧。其他正常的技能你其实可以设定成非必中的。

判定援护者的话你可以看下执行援护的这个方法:
[pre lang="javascript" line="1"]BattleManager.applySubstitute = function(target) {
    if (this.checkSubstitute(target)) {
        var substitute = target.friendsUnit().substituteBattler();
        if (substitute && target !== substitute) {
            this._logWindow.displaySubstitute(substitute, target);
            return substitute;
        }
    }
    return target;
};[/pre]
注意这个substituteBattler()将会按依次判断所有队员并返回最先被判定为带有援护flag的角色。
你可以改成先判定目标是女主且援护者返回为男主,那么无条件进行援护,其他情况按原来的流程进行。

点评

測試完成功跑得動了!大感謝!  发表于 2016-1-1 09:10

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0x0

查看全部评分

回复

使用道具 举报

梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2015-12-31 14:43:07 来自手机 | 显示全部楼层
技能有三种,物理 魔法 必中,没记错应该在技能的发动分组里面。另外如果用yep 的话,yep也要跟着改(提供了援护的动画效果)。

其实也可以不使用援护,把援护的几个方法复制一下改一下名字,专门做成男主给女主挡枪的功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部