2019-03-29
もう見てないかもだけど、
Game_Troop#make_drop_items の next if rand(di.denominator) != 0 を
next if drop_item_rate <= rand * di.denominator に変更するのがよさそう。
新しく変数かメソッドを新しく定義して、そこで 1 を基準にレートを変えれば、
小数点もいけそうな気がします。Ace がそういう処理になってました。
states = { 17=>2, 18=>1.5, 19=>0.5 }
drop_item_rate = nil
for actor in $game_party.members
list = states.keys & actor.instance_variable_get(:@states)
for id in list
if drop_item_rate.nil? || drop_item_rate < states[id]
drop_item_rate = states[id]
end
end
end
drop_item_rate ||= 1
next if drop_item_rate <= rand * di.denominator
こんな感じかな?
パーティ内で一番レートの高い人のもので処理します。

VX の Ruby のバージョン低すぎて、使いたいメソッドがことごとく使えない。。。
コード量がどんどん増える。。。
≪ トップページ ≫
カテゴリー
最近の記事
最近のコメント
タグクラウド

リンク