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

マスターデータのフォーマットと インポートする各種モデルのリファレンス

マスターデータのフォーマット

{
  "version": "2019-05-14",
  "groups": [
    {
      "name": "[string]クエストグループモデル名",
      "metadata": "[string?]メタデータ",
      "quests": [
        {
          "questModelId": "[string]クエストモデルGRN",
          "name": "[string]クエストモデル名",
          "metadata": "[string?]メタデータ",
          "contents": [
            {
              "metadata": "[string?]メタデータ",
              "completeAcquireActions": [
                {
                  "action": "[string]入手アクションで実行するアクションの種類",
                  "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
                }
              ],
              "weight": "[int]抽選の重み"
            }
          ],
          "challengePeriodEventId": "[string?]挑戦可能期間イベントGRN",
          "firstCompleteAcquireActions": [
            {
              "action": "[string]入手アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "verifyActions": [
            {
              "action": "[string]検証アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "consumeActions": [
            {
              "action": "[string]消費アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "failedAcquireActions": [
            {
              "action": "[string]入手アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "premiseQuestNames": [
            "[string]クエストモデル名"
          ]
        }
      ],
      "challengePeriodEventId": "[string?]挑戦可能期間イベントGRN"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2019-05-14マスターデータのフォーマットバージョン
groupsList<QuestGroupModel>~ 10 itemsクエストグループモデル
クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。
つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。

モデル

QuestGroupModel

クエストグループモデル

クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。
つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。

有効化条件必須デフォルト値の制限説明
questGroupModelIdstring
~ 1024文字クエストグループ GRN
※ サーバーが自動で設定
namestring
~ 128文字クエストグループモデル名
クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 1024文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
questsList<QuestModel>[]0 ~ 1000 itemsグループに属するクエスト
このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。
challengePeriodEventIdstring~ 1024文字挑戦可能期間イベント GRN
このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。

QuestModel

クエストモデル

クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。

クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。
例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。

有効化条件必須デフォルト値の制限説明
questModelIdstring
~ 1024文字クエストモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字クエストモデル名
クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 1024文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
contentsList<Contents>[]1 ~ 10 itemsクエストの内容
このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果(例:レアモンスターの出現)を実現できます。
challengePeriodEventIdstring~ 1024文字挑戦可能期間イベント GRN
このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。
firstCompleteAcquireActionsList<AcquireAction>[]0 ~ 10 items初回クリア報酬入手アクションリスト
このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。
verifyActionsList<VerifyAction>[]0 ~ 10 items検証アクションリスト
このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。
consumeActionsList<ConsumeAction>[]0 ~ 10 items消費アクションリスト
このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。
failedAcquireActionsList<AcquireAction>[]0 ~ 100 items失敗時入手アクションリスト
クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。
premiseQuestNamesList<string>[]0 ~ 10 items前提クエスト名リスト
このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。

Contents

コンテンツ

クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。

有効化条件必須デフォルト値の制限説明
metadatastring~ 256文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
completeAcquireActionsList<AcquireAction>[]0 ~ 10 itemsクリア報酬入手アクション
このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。
weightint11 ~ 2147483646抽選の重み
クエスト開始時のコンテンツバリエーション抽選で使用される相対的な重みです。値が大きいほどこのバリエーションが選択される確率が高くなります。例えば、重み9のバリエーションは重み1のバリエーションの9倍選択されやすくなります。

AcquireAction

入手アクション

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
}
入手アクションで実行するアクションの種類
requeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列

ConsumeAction

消費アクション

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
}
消費アクションで実行するアクションの種類
requeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列

VerifyAction

検証アクション

有効化条件必須デフォルト値の制限説明
action文字列列挙型
enum {
}
検証アクションで実行するアクションの種類
requeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列