スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【小ネタ】アイテムドロップ率

手に入ったら超ラッキーみたいな感じで1/400とか1/1000とかのドロップアイテムを作りたいと・・・思った人がいるかどうかは分かりませんが。

Game_Troopの235行目から251行目、
  def make_drop_items
    drop_items = []
    for enemy in dead_members
      for di in [enemy.drop_item1, enemy.drop_item2]
        ########
        next if di.kind == 0
        next if rand(di.denominator) != 0
        if di.kind == 1
          drop_items.push($data_items[di.item_id])
        elsif di.kind == 2
          drop_items.push($data_weapons[di.weapon_id])
        elsif di.kind == 3
          drop_items.push($data_armors[di.armor_id])
        end
      end
    end
    return drop_items
  end

この########の部分を
di.denominator = 400 if di.denominator == 199
とすると、ドロップ率1/199と設定したものは1/400として扱われることになります。199分の1なんて普通使わないし別にいいよね

denominatorはドロップ率、drop_items.pushというのがドロップアイテム入手です。
next if rand(di.denominator) != 0
rand(そのアイテムのドロップ率)が0でなければnext次の処理に移る。
ドロップ率が1/100ならrand(100)つまり0~99のランダムな数値が0と同値になればnextは起こらずドロップ成功です。

di.kindはアイテムの種類。1が道具、2が武器、3が防具です。

drop_items.push($data_weapons[di.weapon_id])
ドロップアイテムの配列.加える(データベース:武器[ID])
つまりそのIDの武器が入手ドロップアイテムのリストに加わります。
ここでリストに加わったアイテムが、この後の処理で「~を手に入れた!」と表示され、持ち物に入ります。

コメントの投稿

非公開コメント

about
管理人:トリス

RPGツクールVX、VXAceのスクリプト素材を作ってます。
VXAceはATBやテストプレー高速化、VXはひきも記様のSRPG2拡張、アクション拡張 などがあります。

簡易利用規約
素材を使用した作品に著作権表記(このブログの名前)をお願いします。

作品公開時の利用報告は任意です。

サポート,リンク,共同制作などその他の詳しい規約はこちら
カテゴリ
リンク
ゲーム紹介
協力したゲームとか素材利用してくれたゲームとか

アスガル騎士団
アルカナリッター
 (VX)SRPG
 作品ページ  DLページ

チキチキボーンの骨
TimeLeaper -タイムリーパー-
 (VXAce)ATB
 作品ページ  DLページ
明日へのデュナミス
 (VXAce)ATB_XP
 作品ページ  DLページ


レンガの創作小屋
Dimension Warriors 間章
 (VXAce)
 作品ページ

なかぱー更新記
CRYSTALDestiny
 (VXAce)ATBサイドビュー
 DLページ
リンク用バナー

リンクフリーです。相互リンクは受け付けていません。
画像への直リンクは禁止です。
アクセスカウンター
リクエスト・質問掲示板
最新記事
月別アーカイブ
最新コメント
RSSリンクの表示
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。