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 のバージョン低すぎて、使いたいメソッドがことごとく使えない。。。
コード量がどんどん増える。。。
コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。



トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/786-a7c659ef
≪ トップページ ≫
カレンダー
05 << 2021/06 >> 07
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 - - -

カテゴリー
最近の記事
最近のコメント
タグクラウド

リンク