赞 | 40 |
VIP | 559 |
好人卡 | 234 |
积分 | 47 |
经验 | 251834 |
最后登录 | 2024-10-11 |
在线时间 | 5240 小时 |
Lv3.寻梦者 (版主) 八宝粥的基叔
- 梦石
- 0
- 星屑
- 4679
- 在线时间
- 5240 小时
- 注册时间
- 2009-4-29
- 帖子
- 14318
|
绯红 发表于 2012-8-25 12:58
实在没折腾明白。。修改爆出装备的属性除了村长那可以修改,在脚本里怎么修改?
## 极 ...
你说的[5,75]那个是原脚本的东西,已经作废了,改了也没有用。
极品爆率要在这里改:- #--------------------------------------------------------------------------
- # ● 处理极品爆率
- # normal_troop为false时,才可以获得4个属性以上的装备,用于BOSS装备的掉落
- #--------------------------------------------------------------------------
- def reini_chance(item, normal_troop = false)
- @item = item
- @chance = 1 + rand(100)
- @gifts = []
- num = 0
- loop do
- if rand(80) <= @chance and @gifts.size < Game_Equip::GiftMax
- @chance = @chance * 8 / 10
- num += 1
- break if num >= 3 and normal_troop == true #普通敌人最多掉落名器或名装
- break if num >= 6
- else
- break
- end
- end
- gifts = []
- rd = []
- rd_1 = []
- if item.is_a?(RPG::Weapon)
- rd_1 = different_rand(PA::WEAPON_E.size - 1, num)
- for i in 0...num
- rd << PA::WEAPON_E[rd_1[i]]
- end
- end
- if item.is_a?(RPG::Armor)
- case item.kind
- when 0
- rd_1 = different_rand(PA::SHIELD_E.size - 1, num)
- for i in 0...num
- rd << PA::SHIELD_E[rd_1[i]]
- end
- when 1
- rd_1 = different_rand(PA::HELMET_E.size - 1, num)
- for i in 0...num
- rd << PA::HELMET_E[rd_1[i]]
- end
- when 2
- rd_1 = different_rand(PA::CLOTHE_E.size - 1, num)
- for i in 0...num
- rd << PA::CLOTHE_E[rd_1[i]]
- end
- end
- end
- if @item.is_a?(RPG::Armor)
- if @item.id == PA::CRYSTAL
- return Game_Equip.reini(@item, [])
- else
- rd.each{|n| gifts.push Game_Gift.new(n)}
- return Game_Equip.reini(@item, gifts)
- end
- else
- rd.each{|n| gifts.push Game_Gift.new(n)}
- return Game_Equip.reini(@item, gifts)
- end
- end
- end
复制代码 可以使用默认的爆率,把参数设定中的
DROP_PROBABILITY = 50
改成较小的数,就可以降低装备爆率了。
我解释一下极品爆率。表示@chance这个变量会随机取到1至100的任何整数。- if rand(80) <= @chance and @gifts.size < Game_Equip::GiftMax
复制代码 表示如果一个0至79的随机数比@chance小并且目前的属性条数小于装备的最大属性条数时- @chance = @chance * 8 / 10
复制代码 @chance乘0.8并附值给自己,假如@chance是90,那么就变成72。表示循环执行
假如@chance是90,执行一次后就变90*0.8=72,再执行一次就变72*0.8=57……@chance每执行一次都会减小,当减小到比0-80的某个随机数还要小的时候,循环就停止了,因为if rand(80) <= @chance。所以说装备属性条数越多,获得的几率就越小。 |
|