Project1

标题: 大佬们,有无插件或代码可以实现掉宝率与全队幸运挂钩? [打印本页]

作者: EXCZY    时间: 2025-6-29 23:23
标题: 大佬们,有无插件或代码可以实现掉宝率与全队幸运挂钩?
RT,各位大佬,有无插件或者代码可以实现掉宝率与全队总幸运挂钩?比如我的队员们幸运总和为1000,那么全局掉宝率就会提升1000/100=10这种的?在此跪求了orz

作者: 百里_飞柳    时间: 2025-6-29 23:23
本帖最后由 百里_飞柳 于 2025-6-30 01:25 编辑

你直接自己改下 rpg_objects.js 里的敌人掉落物处理方法就好
  1. Game_Enemy.prototype.makeDropItems = function() {
  2.     return this.enemy().dropItems.reduce(function(r, di) {
  3.         if (di.kind > 0 && Math.random() * di.denominator < this.dropItemRate()) {
  4.             return r.concat(this.itemObject(di.kind, di.dataId));
  5.         } else {
  6.             return r;
  7.         }
  8.     }.bind(this), []);
  9. };

  10. Game_Enemy.prototype.dropItemRate = function() {
  11.     return $gameParty.hasDropItemDouble() ? 2 : 1;
  12. };
复制代码


其中 di.denominator 是编辑器里设置的掉落概率分母
本质是 Math.random() 计算出一个0~1之间的小数,然后它比 dropItemRate() / di.denominator 小,就认定为成功掉落。
你自己改下,先计算 $gameParty.members() 全队的幸运值之和,再除以系数,再改下判定方式为
Math.random() < this.dropItemRate() * 1.0 / di.denominator + 幸运值之和*1.0/系数
就相当于增加了 幸运值之和/系数 的概率
(乘以1.0是为了保证计算结果为小数,不然整数除以整数,结果可能是整数,当然,我太久没看js了,可能js不需要这一个操作)
作者: sunce2014520    时间: 2025-6-29 23:24
直接用变量多好呢,为啥要用幸运
作者: EXCZY    时间: 2025-6-29 23:27
sunce2014520 发表于 2025-6-29 23:24
直接用变量多好呢,为啥要用幸运

主要是为了体现数值的成长嘛,我已经在这里找到了许多重新运用敏捷和幸运的方法,不过我还是希望能像传统游戏那样幸运可以影响掉宝率,所以在这里跪求了
帖子如下:https://rpg.blue/forum.php?mod=viewthread&tid=387573&extra=page%3D1
作者: EXCZY    时间: 2025-6-30 00:49
百里_飞柳 发表于 2025-6-30 00:24
你直接自己改下 rpg_objects.js 里的敌人掉落物处理方法就好

好好好,非常感谢大佬指点,不过还想再问您一个问题,我能从哪里找到这些比如说全队的幸运之和的代码是什么呢?请问咱们论坛有相关的教学贴或者整理贴吗,我是最近才开始使用RPGMAKER和咱们论坛,如果我的问题显得很蠢还请大佬们多见谅
作者: EXCZY    时间: 2025-6-30 01:42
百里_飞柳 发表于 2025-6-30 00:24
你直接自己改下 rpg_objects.js 里的敌人掉落物处理方法就好

好的,我这就去了解了解,多谢大佬了
作者: EXCZY    时间: 2025-6-30 12:07
好的大伙们,问题得到了最终解决,大家看我的这篇帖子https://rpg.blue/thread-497642-1-1.html




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