GS2-Exchange Script トリガーリファレンス

GS2-Exchangeで定義されている、拡張スクリプトを呼び出すイベントトリガーのリファレンス

exchange

交換実行前にGS2-Scriptを呼び出すイベントトリガー

Request

説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
userIdstring交換を実行しているユーザID
countint交換量
configConfig[]トランザクションの変数に適用する設定値

Result

必須デフォルト値の制限説明
permitbool交換を許可するか
rateModestring“float”~ 128文字倍率モード
ratefloat1.0~ 1000入手量の倍率
logRateLogRate対数を使用した入手量補正

実装例

namespace = args.namespace
rateModel = args.rateModel
userId = args.userId
count = args.count
config = args.config

result = {
  permit=permit,
  rateMode=rateMode,
  rate=rate,
  logRate=logRate
}

exchangeDone

交換実行後にGS2-Scriptを呼び出すイベントトリガー

Request

説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
userIdstring交換を実行しているユーザID
countint交換量
configConfig[]トランザクションの変数に適用する設定値

Result

必須デフォルト値の制限説明

実装例

namespace = args.namespace
rateModel = args.rateModel
userId = args.userId
count = args.count
config = args.config

result = {
}

incrementalExchange

交換実行前にGS2-Scriptを呼び出すイベントトリガー

Request

説明
namespaceNamespaceネームスペース
rateModelIncrementalRateModel交換レートモデル
userIdstring交換を実行しているユーザID
countint交換量
configConfig[]トランザクションの変数に適用する設定値

Result

必須デフォルト値の制限説明
permitbool交換を許可するか

実装例

namespace = args.namespace
rateModel = args.rateModel
userId = args.userId
count = args.count
config = args.config

result = {
  permit=permit
}

incrementalExchangeDone

交換実行後にGS2-Scriptを呼び出すイベントトリガー

Request

説明
namespaceNamespaceネームスペース
rateModelIncrementalRateModel交換レートモデル
userIdstring交換を実行しているユーザID
countint交換量
configConfig[]トランザクションの変数に適用する設定値

Result

必須デフォルト値の制限説明

実装例

namespace = args.namespace
rateModel = args.rateModel
userId = args.userId
count = args.count
config = args.config

result = {
}

calculateCost

コスト上昇型交換レートのためのコスト計算スクリプト実行時にGS2-Scriptを呼び出すイベントトリガー

Request

説明
namespaceNamespaceネームスペース
incrementalRateModelIncrementalRateModelコスト上昇型交換モデル
currentExchangeCountint現在の交換回数
quantityint交換数量

Result

必須デフォルト値の制限説明
costModestring“num”~ 128文字コスト計算方法
costlong~ 9223372036854775805コスト
logCostLogCost対数を使用したコスト計算結果

実装例

namespace = args.namespace
incrementalRateModel = args.incrementalRateModel
currentExchangeCount = args.currentExchangeCount
quantity = args.quantity

result = {
  costMode=costMode,
  cost=cost,
  logCost=logCost
}