查看: 2293|回复: 4

[原创发布] 以后小经验都发这个帖子里吧

[复制链接]
梦石
0
星屑
731
在线时间
14 小时
注册时间
2016-11-5
回帖
7
发表于 2022-3-29 21:52:47 | 显示全部楼层 |阅读模式

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

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

×
都是些很新人向的经验,大佬用不到……
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");
};
梦石
0
星屑
731
在线时间
14 小时
注册时间
2016-11-5
回帖
7
 楼主| 发表于 2022-3-29 22:00:45 | 显示全部楼层
1.5.好吧,自带的自动战斗AI巨傻!
是把能对目标造成的“数值影响”(敌方的话是伤害,我方的话是奶量)全都累加起来,然后取最高再加一个0~1的随机数!
这什么意思呢?
粗略地,这么解释吧:
1.BUFF价值基本为零;
2.高消耗的团体大招先用;
3.单体攻击的话,只打防御最低那货,也可能是血量最低那货,这我不确定;
4.如果有个招式是对自己造成999伤害,那么恭喜了,基本必用;
5.打出负伤害但能附加DEBUFF的好技能是不会被用的。
在考虑怎么改……我目前有个妹子平A不破防,但越打伤害越高,要是不破防就搁那儿挂机就跟傻子没区别……
回复

使用道具 举报

梦石
0
星屑
731
在线时间
14 小时
注册时间
2016-11-5
回帖
7
 楼主| 发表于 2022-3-29 23:02:04 | 显示全部楼层
1.8继续说自动战斗的事。
自动战斗中会统计的技能包括“默认攻击技能”+“其他角色掌握的技能”,不知道为什么不包括防御,大概是因为AI本来也不懂得什么时候该防御吧。
这一点在rmmz_objects.js的Game_Actor.prototype.makeActionList函数里可以看,这个函数和action.evaluate()一样是辅助自动战斗结算的。
别学我,走了不少弯路,一不小心还用写字板保存js文件,差点导致整个游戏出bug报废掉……哭了。
回复

使用道具 举报

梦石
0
星屑
1607
在线时间
220 小时
注册时间
2022-2-3
回帖
158
发表于 2022-4-26 00:51:13 | 显示全部楼层
感谢!请继续更! 我最近一直在想办法做自动战斗的脚本
我的联系方式Q: 1127808900
欢迎一起讨论任何问题
回复

使用道具 举报

梦石
0
星屑
6412
在线时间
1700 小时
注册时间
2018-1-16
回帖
364
发表于 2022-5-1 11:16:45 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部