Project1
标题:
请教如何让物品掉落率跟幸运值挂钩?
[打印本页]
作者:
viva0072008
时间:
2013-4-22 19:28
标题:
请教如何让物品掉落率跟幸运值挂钩?
本帖最后由 viva0072008 于 2013-4-22 20:28 编辑
就跟队伍里的1号角色的幸运值挂钩就可以了,但是要怎么弄呢?
想设定的公式是 数据库设定的物品掉率 再* 队伍1号角色的幸运值 / 100 = 最后的物品掉落率
作者:
后知后觉
时间:
2013-4-22 20:02
在 Game_Enemy 里面找到
#--------------------------------------------------------------------------
# ● 获取物品掉率的倍率
#--------------------------------------------------------------------------
def drop_item_rate
$game_party.drop_item_double? ? 2 : 1
end
复制代码
改成
#--------------------------------------------------------------------------
# ● 获取物品掉率的倍率
#--------------------------------------------------------------------------
def drop_item_rate
n = $game_party.drop_item_double? ? 2 : 1
$game_party.leader ? n * $game_party.leader.luk / 100.0 : n
end
复制代码
作者:
j433463
时间:
2013-4-22 20:08
好像是在 Game_Enemy 的 def make_drop_items 处理的吧?di.denominator 应该是掉落物品机率的分母,rand * di.denominator 就是掉落率,而 drop_item_rate 是掉落倍率,不过用幸运值这个公式做,这个我就无力了。
作者:
后知后觉
时间:
2013-4-22 23:45
本帖最后由 后知后觉 于 2013-4-23 00:08 编辑
那个只是把 a < c / b 写成了 a * b < c
作者:
j433463
时间:
2013-4-23 00:52
我的意思是说 def drop_item_rate 只是掉宝的倍率,您加那一行计算出的也只是把倍率 n = 2 : 1 结果再去乘幸运值的百分比率,
假设得出的 drop_item_rate 为 1.8,也只是 rand * di.denominator 小于 1.8 时加倍掉宝,让倍率依幸运值变化而已,
但实际上的掉宝率依然是 rand * di.denominator 的值,只是再依照倍率处理,并没有真的改变掉宝率吧?
若 rand * di.denominator > drop_item_rate 时,它的掉宝率还是 rand * di.denominator 本身的值,与幸运值无关,
而且 $game_party.leader 如果为 false,也就是队伍中没有存在任何成员了,那 n 也没有意义,
我是觉得怪怪的,求解。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1