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
≪ トップページ ≫
カレンダー
10 << 2019/11 >> 12
- - - - - 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

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

リンク