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

マスターデータのフォーマットと インポートする各種モデルのリファレンス
{
  "version": "2020-08-22",
  "rateModels": [
    {
      "name": "[string]強化レート名",
      "description": "[string?]説明文",
      "metadata": "[string?]メタデータ",
      "targetInventoryModelId": "[string]強化対象に使用できるインベントリ",
      "acquireExperienceSuffix": "[string]GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス",
      "materialInventoryModelId": "[string]強化の素材となるアイテムセット(有効期限ごとのアイテム所持数量)のGRN",
      "acquireExperienceHierarchy": [
        "[string]ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義"
      ],
      "experienceModelId": "[string]経験値モデルGRN",
      "bonusRates": [
        {
          "rate": "[float]経験値ボーナスの倍率(1.0=ボーナスなし)",
          "weight": "[int]抽選重み"
        }
      ]
    }
  ],
  "unleashRateModels": [
    {
      "name": "[string]強化レート名",
      "description": "[string?]説明文",
      "metadata": "[string?]メタデータ",
      "targetInventoryModelId": "[string]限界突破対象に使用できるインベントリ",
      "gradeModelId": "[string]グレードモデル",
      "gradeEntries": [
        {
          "gradeValue": "[long]対象グレード",
          "needCount": "[int]同種のアイテムを何個消費するか"
        }
      ]
    }
  ]
}
有効化条件必須デフォルト値の制限説明
version
2020-08-22マスターデータのフォーマットバージョン
rateModelsList<RateModel>~ 10000 items強化レートモデル
unleashRateModelsList<UnleashRateModel>~ 10000 items限界突破レート

RateModel

強化レートモデル

強化レートは強化に使用する素材と強化対象を定義したデータです。

素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。
強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。
ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。

強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。
その抽選確率もこのエンティティで定義します。

有効化条件必須デフォルト値の制限説明
rateModelIdstring
~ 1024文字強化レートモデルGRN
namestring
~ 128文字強化レート名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
targetInventoryModelIdstring
~ 1024文字強化対象に使用できるインベントリ
acquireExperienceSuffixstring
~ 1024文字GS2-Experience で入手した経験値を格納する プロパティID に付与するサフィックス
materialInventoryModelIdstring
~ 1024文字強化の素材となるアイテムセット(有効期限ごとのアイテム所持数量)のGRN
acquireExperienceHierarchyList<string>~ 10 itemsItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義
experienceModelIdstring
~ 1024文字経験値モデルGRN
bonusRatesList<BonusRate>~ 1000 items経験値獲得量ボーナス

UnleashRateModel

限界突破レート

限界突破レートは限界突破の対象と GS2-Grade 限界突破モデルを定義したデータです。
限界突破の対象データは GS2-Inventory で管理されている必要があります。

有効化条件必須デフォルト値の制限説明
unleashRateModelIdstring
~ 1024文字限界突破レートモデルGRN
namestring
~ 128文字強化レート名
descriptionstring~ 1024文字説明文
metadatastring~ 2048文字メタデータ
targetInventoryModelIdstring
~ 1024文字限界突破対象に使用できるインベントリ
gradeModelIdstring
~ 1024文字グレードモデル
gradeEntriesList<UnleashRateEntryModel>
1 ~ 1000 itemsグレードエントリリスト

BonusRate

経験値獲得量ボーナス

有効化条件必須デフォルト値の制限説明
ratefloat
1.0~ 10000経験値ボーナスの倍率(1.0=ボーナスなし)
weightint
1~ 2147483645抽選重み

Material

強化素材

有効化条件必須デフォルト値の制限説明
materialItemSetIdstring
~ 1024文字強化の素材となるアイテムセット(有効期限ごとのアイテム所持数量)のGRN
countint
1~ 2147483645消費数量

UnleashRateEntryModel

限界突破レートエントリモデル

有効化条件必須デフォルト値の制限説明
gradeValuelong
1 ~ 1000対象グレード
needCountint
1 ~ 1000同種のアイテムを何個消費するか

VerifyActionResult

検証アクションの実行結果

有効化条件必須デフォルト値の制限説明
actionenum {
"Gs2Dictionary:VerifyEntryByUserId",
"Gs2Distributor:IfExpressionByUserId",
"Gs2Distributor:AndExpressionByUserId",
"Gs2Distributor:OrExpressionByUserId",
"Gs2Enchant:VerifyRarityParameterStatusByUserId",
"Gs2Experience:VerifyRankByUserId",
"Gs2Experience:VerifyRankCapByUserId",
"Gs2Grade:VerifyGradeByUserId",
"Gs2Grade:VerifyGradeUpMaterialByUserId",
"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyIncludeMemberByUserId",
"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
"Gs2Inventory:VerifyItemSetByUserId",
"Gs2Inventory:VerifyReferenceOfByUserId",
"Gs2Inventory:VerifySimpleItemByUserId",
"Gs2Inventory:VerifyBigItemByUserId",
"Gs2Limit:VerifyCounterByUserId",
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Ranking2:VerifyGlobalRankingScoreByUserId",
"Gs2Ranking2:VerifyClusterRankingScoreByUserId",
"Gs2Ranking2:VerifySubscribeRankingScoreByUserId",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:VerifyCodeByUserId",
"Gs2Stamina:VerifyStaminaValueByUserId",
"Gs2Stamina:VerifyStaminaMaxValueByUserId",
"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId",
"Gs2Stamina:VerifyStaminaRecoverValueByUserId",
"Gs2Stamina:VerifyStaminaOverflowValueByUserId",
}
~ 128文字検証アクションで実行するアクションの種類
verifyRequeststring
~ 524288文字リクエストのJSON
statusCodeint~ 999ステータスコード
verifyResultstring~ 1048576文字結果内容

ConsumeActionResult

消費アクションの実行結果

有効化条件必須デフォルト値の制限説明
actionenum {
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Enhance:DeleteProgressByUserId",
"Gs2Exchange:DeleteAwaitByUserId",
"Gs2Experience:SubExperienceByUserId",
"Gs2Experience:SubRankCapByUserId",
"Gs2Formation:SubMoldCapacityByUserId",
"Gs2Grade:SubGradeByUserId",
"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"Gs2Inbox:OpenMessageByUserId",
"Gs2Inbox:DeleteMessageByUserId",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2JobQueue:DeleteJobByUserId",
"Gs2Limit:CountUpByUserId",
"Gs2LoginReward:MarkReceivedByUserId",
"Gs2Mission:ReceiveByUserId",
"Gs2Mission:BatchReceiveByUserId",
"Gs2Mission:DecreaseCounterByUserId",
"Gs2Mission:ResetCounterByUserId",
"Gs2Money:WithdrawByUserId",
"Gs2Money:RecordReceipt",
"Gs2Money2:WithdrawByUserId",
"Gs2Money2:VerifyReceiptByUserId",
"Gs2Quest:DeleteProgressByUserId",
"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId",
"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId",
"Gs2Schedule:DeleteTriggerByUserId",
"Gs2SerialKey:UseByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
}
~ 128文字消費アクションで実行するアクションの種類
consumeRequeststring
~ 524288文字リクエストのJSON
statusCodeint~ 999ステータスコード
consumeResultstring~ 1048576文字結果内容

AcquireActionResult

入手アクションの実行結果

有効化条件必須デフォルト値の制限説明
actionenum {
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:AcquireForceByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Friend:UpdateProfileByUserId",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Idle:ReceiveByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Money2:DepositByUserId",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2Schedule:ExtendTriggerByUserId",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
~ 128文字入手アクションで実行するアクションの種類
acquireRequeststring
~ 524288文字リクエストのJSON
statusCodeint~ 999ステータスコード
acquireResultstring~ 1048576文字結果内容

TransactionResult

トランザクション実行結果

サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果

有効化条件必須デフォルト値の制限説明
transactionIdstring
36 ~ 36文字トランザクションID
verifyResultsList<VerifyActionResult>~ 10 items検証アクションの実行結果リスト
consumeResultsList<ConsumeActionResult>[]~ 10 items消費アクションの実行結果リスト
acquireResultsList<AcquireActionResult>[]~ 100 items入手アクションの実行結果リスト
hasErrorbool
falseトランザクション実行中にエラーが発生したかどうか