KRXCUBJK

日替わりでランダムに商品を並べるイベント

2023-02-26

実行結果


楽しい~~~~~~

変数

宣言する変数は以下。

店舗在庫(配列)
ショップに並ぶ可能性があるアイテムの一覧。
出したい商品のIDをここにあらかじめ入れておく。
本日の商品(配列)
ショップに並ぶアイテムの一覧。
これが最終的な品揃えになる。
店舗更新日
今日の日付。日替わりなので日付。

変数は全てグローバル変数
マルチクエストならパーティ変数で。パブリックとかで、キャラクターによって品揃えを変えたい場合などはキャラクター変数がいい。

配列変数「店舗在庫」には、ショップに並べたいアイテム全てのベースIDをあらかじめ入れておく(アイテムデータベースを右クリック→IDのコピー)。
多いほうが多分楽しい。

イベント

  1. 条件分岐 変数「店舗更新日」が今日の日付(特殊変数)ではない場合
    1. 配列変数の操作「店舗在庫」をシャッフル
      配列変数内の並びをランダムにする。
    2. 配列変数の操作「本日の商品」をクリア
      場所を空けるため白紙に。これがないと実質更新されない。
    3. 繰り返し処理(タイプ:回数)
      回数は並べたい品の種類と同じ。3つ陳列なら3。
      1. 配列変数の操作 変数ID「本日の商品」 タイプ:追加
        値: \v[店舗在庫][\e.Argument]
    4. 変数の操作「店舗更新日」に今日の日付(特殊変数)を代入
      同日に同イベントを読み込んでも無駄な更新がされなくなる。
  2. ショップの表示
    リストタイプ:配列変数参照 配列変数ID:本日の商品
    品揃えに配列変数を参照する。

で完了!

+α

「日替わりでランダムな商品をランダムな個数で発売」にするときは、繰り返し処理の回数指定を変数で。
\random[10]とかを直接入力だと、少ないときに少なすぎそう。2+\random[5]を代入とかが丸そう。