GS2-Limit マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス
{
  "version": "2019-04-05",
  "limitModels": [
    {
      "name": "[string]回数制限モデル名",
      "metadata": "[string?]メタデータ",
      "resetType": "[string]リセットタイミング",
      "resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
      "resetDayOfWeek": "[string]リセットする曜日",
      "resetHour": "[int]リセット時刻",
      "anchorTimestamp": "[long]経過日数のカウントをする基準日",
      "days": "[int]リセットする日数"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
version
2019-04-05マスターデータのフォーマットバージョン
limitModelsList<LimitModel>~ 100 items回数制限モデル
回数制限には、使用回数をリセットするタイミングを設定できます。
リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」 の 4 種類から選択できます。

また、回数制限の最大値はマスターデータ側では固定しません。
これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。
たとえばステップアップガチャのように、
- 購入回数カウンターが 3 回未満 の場合に購入できる商品
- 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品

といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。

LimitModel

回数制限モデル

回数制限には、使用回数をリセットするタイミングを設定できます。
リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」 の 4 種類から選択できます。

また、回数制限の最大値はマスターデータ側では固定しません。
これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。
たとえばステップアップガチャのように、

  • 購入回数カウンターが 3 回未満 の場合に購入できる商品
  • 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品

といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。

有効化条件必須デフォルト値の制限説明
limitModelIdstring
~ 1024文字回数制限モデルGRN
namestring
~ 128文字回数制限モデル名
metadatastring~ 2048文字メタデータ
resetType文字列列挙型
enum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”,
    “days”
}
~ 128文字リセットタイミング
定義説明
“notReset”リセットしない
“daily”毎日
“weekly”毎週
“monthly”毎月
“days”一定日数
resetDayOfMonthint{resetType} == “monthly”
✓*
1 ~ 31リセットをする日にち(月の日数を超える場合は、最終日として扱われます)
※ resetType が “monthly” であれば 必須
resetDayOfWeek文字列列挙型
enum {
    “sunday”,
    “monday”,
    “tuesday”,
    “wednesday”,
    “thursday”,
    “friday”,
    “saturday”
}
{resetType} == “weekly”
✓*
~ 128文字リセットする曜日
定義説明
“sunday”日曜日
“monday”月曜日
“tuesday”火曜日
“wednesday”水曜日
“thursday”木曜日
“friday”金曜日
“saturday”土曜日

※ resetType が “weekly” であれば 必須
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]
✓*
0 ~ 23リセット時刻
※ resetType が “monthly”,“weekly”,“daily"であれば 必須
anchorTimestamplong{resetType} == “days”
✓*
経過日数のカウントをする基準日
※ resetType が “days” であれば 必須
daysint{resetType} == “days”
✓*
1 ~ 2147483646リセットする日数
※ resetType が “days” であれば 必須