Project1

标题: 请教一下,怪物的掉宝率可以调吗,我用的是YEP的额外物品掉落 [打印本页]

作者: 夏的66rpg    时间: 2017-5-5 16:54
标题: 请教一下,怪物的掉宝率可以调吗,我用的是YEP的额外物品掉落
找到一个插件只能让难度经验和金币上调,而且和YEP冲突,我想弄一个提升难度,相应的掉宝率也会上升,请问用什么插件可以实现吗
作者: doranikofu    时间: 2017-5-8 13:07
比较简单的办法就是用一个变量记载难度
然后根据难度系数改掉宝率的函数

  1. Game_Enemy.prototype.dropItemRate = function() {
  2.         //read setting, lower rate if less than 1
  3.         var ratio = 0.5 + 0.5*($gameVariables.value(xxx).clamp(0,1));
  4.     return $gameParty.hasDropItemDouble() ? 2*ratio : ratio;
  5. };
复制代码


这个里面就是变量xxx为0的话 掉落概率减半(0.5+0.5×0)
为1的话就是1
clamp是为了限制不让ratio这个变量大于1了

作者: 夏的66rpg    时间: 2017-5-8 18:38
doranikofu 发表于 2017-5-8 13:07
比较简单的办法就是用一个变量记载难度
然后根据难度系数改掉宝率的函数

谢谢,就是说XXX越大掉落概率就越大吗,如果是5掉率会增加多少个百分点呢
作者: doranikofu    时间: 2017-5-9 09:48
  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()) {  //这里是生成一个随机数,乘以denominator,就是你在数据库里设定的那个掉落率,如果这个乘积比dropItemRate小就掉落,所以dropItemRate数字越大越容易掉
  4.             return r.concat(this.itemObject(di.kind, di.dataId));
  5.         } else {
  6.             return r;
  7.         }
  8.     }.bind(this), []);
  9. };
复制代码

作者: 夏的66rpg    时间: 2017-5-9 17:18
doranikofu 发表于 2017-5-9 09:48

嗯嗯,在请问下哦,这个是保存到js文件还是放在事件页的脚本代码里呢
作者: 夏的66rpg    时间: 2017-5-9 17:29
doranikofu 发表于 2017-5-9 09:48

大神,顺便问一个我一直比较苦恼的问题,有些插件可以显示或使用某一个变量
比如我战斗数量达到100时学习XX技能,但是这个变量不会实时更新,必须触碰一个事件才可以
怎么让变量在每次这个变量发生变化时,实时更新呢
作者: 夏的66rpg    时间: 2017-5-10 21:54
doranikofu 发表于 2017-5-9 09:48

非常谢谢~




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