Project1

标题: 以后小经验都发这个帖子里吧 [打印本页]

作者: nfsq6h    时间: 2022-3-29 21:52
标题: 以后小经验都发这个帖子里吧
都是些很新人向的经验,大佬用不到……
1.在rmmz_objects.js里找到了玩家角色自动战斗的代码,那个action.evaluate()应该是评价技能优先度的函数,需要调整角色自动战斗逻辑的可以研究一下。

Game_Actor.prototype.makeAutoBattleActions = function() {
    for (let i = 0; i < this.numActions(); i++) {
        const list = this.makeActionList();
        let maxValue = -Number.MAX_VALUE;
        for (const action of list) {
            const value = action.evaluate();
            if (value > maxValue) {
                maxValue = value;
                this.setAction(i, action);
            }
        }
    }
    this.setActionState("waiting");
};

作者: nfsq6h    时间: 2022-3-29 22:00
1.5.好吧,自带的自动战斗AI巨傻!
是把能对目标造成的“数值影响”(敌方的话是伤害,我方的话是奶量)全都累加起来,然后取最高再加一个0~1的随机数!
这什么意思呢?
粗略地,这么解释吧:
1.BUFF价值基本为零;
2.高消耗的团体大招先用;
3.单体攻击的话,只打防御最低那货,也可能是血量最低那货,这我不确定;
4.如果有个招式是对自己造成999伤害,那么恭喜了,基本必用;
5.打出负伤害但能附加DEBUFF的好技能是不会被用的。
在考虑怎么改……我目前有个妹子平A不破防,但越打伤害越高,要是不破防就搁那儿挂机就跟傻子没区别……
作者: nfsq6h    时间: 2022-3-29 23:02
1.8继续说自动战斗的事。
自动战斗中会统计的技能包括“默认攻击技能”+“其他角色掌握的技能”,不知道为什么不包括防御,大概是因为AI本来也不懂得什么时候该防御吧。
这一点在rmmz_objects.js的Game_Actor.prototype.makeActionList函数里可以看,这个函数和action.evaluate()一样是辅助自动战斗结算的。
别学我,走了不少弯路,一不小心还用写字板保存js文件,差点导致整个游戏出bug报废掉……哭了。
作者: apple5740    时间: 2022-4-26 00:51
感谢!请继续更! 我最近一直在想办法做自动战斗的脚本
作者: l734273398    时间: 2022-5-1 11:16

感谢!请继续更! 我最近一直在想办法做自动战斗的脚本




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