Project1
标题: 请问如何表达全队或者出战人员的某一项属性值的总和? [打印本页]
作者: EXCZY 时间: 2025-6-30 10:04
标题: 请问如何表达全队或者出战人员的某一项属性值的总和?
RT,之前我发布了一个求助帖https://rpg.blue/thread-497640-1-1.html,询问如何实现掉宝率与全队幸运挂钩,底下已经有一位大佬告诉了我如何从代码层面着手,但是还有一个问题……那就是我不知道该如何实现MV里边计算队伍成员或者出战人员的某一项属性的综合,比如我想要计算全队人员或者四名出战人员的幸运总和,我该如何从代码层面上描述这一条信息呢?
已经有大佬告知了我怎么去做,可惜我还是没能完成
此外我从VX区找到了一条关于全队幸运的描述,可是没法直接套用,而我的代码水平也没发把它改成MV能用的格式,所以只能在此求助各位大佬了
作者: 526396987 时间: 2025-6-30 10:04
本帖最后由 526396987 于 2025-6-30 11:11 编辑
所有成员:
// 用变量保存
$gameVariables.setValue(要保存的变量ID, $gameParty.allMembers().reduce((value, actor) => value + actor.luk, 0));
// 用变量保存
$gameVariables.setValue(要保存的变量ID, $gameParty.allMembers().reduce((value, actor) => value + actor.luk, 0));
出战成员:
// 用变量保存
$gameVariables.setValue(要保存的变量ID, $gameParty.battleMembers().reduce((value, actor) => value + actor.luk, 0));
// 用变量保存
$gameVariables.setValue(要保存的变量ID, $gameParty.battleMembers().reduce((value, actor) => value + actor.luk, 0));
作者: EXCZY 时间: 2025-6-30 12:01
本帖最后由 EXCZY 于 2025-6-30 12:06 编辑
好好好,多谢大佬,确实成功了,不过我因为不知道保存变量如何操作,所以又去问了一下AI,他给了我这么一段代码,可以直接加在计算公式里
$gameParty.battleMembers().reduce((sum, actor) => sum + actor.luk, 0)
而又根据之前那个帖子的大佬所说的话,我的最终物品掉落率为
Game_Enemy.prototype.makeDropItems = function() {
return this.enemy().dropItems.reduce(function(r, di) {
if (di.kind > 0 && Math.random() < (1 / di.denominator) + ($gameParty.battleMembers().reduce((sum, actor) => sum + actor.luk, 0) / 1000)) {
return r.concat(this.itemObject(di.kind, di.dataId));
} else {
return r;
}
}.bind(this), []);
};
也就是数据库中设置的掉落率+出战成员的总幸运值/1000,至此就算是大功告成了。
根据它的解释,AI似乎是省去了保存变量这一过程,简化了代码,并且还能成功运行,
无论如何,都非常的感谢大佬你!
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |