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

拡張スクリプトを呼び出す イベントトリガー のリファレンス

トリガー

exchange

交換

同期実行スクリプト

交換処理の前に、スクリプトが同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
userIdstring交換を実行しているユーザーID
countint交換量
configConfig[]トランザクションの変数に適用する設定値
Result
必須デフォルト値の制限説明
permitbool
交換を許可するか
rateModestring
“float”倍率モード
ratefloat1.00 ~ 1000入手量の倍率
logRateLogRate対数を使用した入手量補正
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Business logic:
local permit = true
local rateMode = ""
local rate = 0
local logRate = nil

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

非同期実行スクリプト

交換処理の後に、スクリプトが非同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
userIdstring交換を実行しているユーザーID
countint交換量
configConfig[]トランザクションの変数に適用する設定値
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}

incrementalExchange

交換

同期実行スクリプト

交換処理の前に、スクリプトが同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelIncrementalRateModel交換レートモデル
userIdstring交換を実行しているユーザーID
countint交換量
configConfig[]トランザクションの変数に適用する設定値
Result
必須デフォルト値の制限説明
permitbool
交換を許可するか
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

非同期実行スクリプト

交換処理の後に、スクリプトが非同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelIncrementalRateModel交換レートモデル
userIdstring交換を実行しているユーザーID
countint交換量
configConfig[]トランザクションの変数に適用する設定値
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}

calculateCost

コスト上昇型交換レートのためのコスト計算スクリプト

同期実行スクリプト

コスト上昇型交換レートのためのコスト計算スクリプト処理の前に、スクリプトが同期実行されます。

Request
説明
namespaceNamespaceネームスペース
incrementalRateModelIncrementalRateModelコスト上昇型交換モデル
userIdstringユーザーID
currentExchangeCountint現在の交換回数
quantityint交換数量
Result
必須デフォルト値の制限説明
costModestring
“num”コスト計算方法
costlong0 ~ 9223372036854775805コスト
logCostLogCost対数を使用したコスト計算結果
実装例
-- Request
local namespace = args.namespace
local incrementalRateModel = args.incrementalRateModel
local userId = args.userId
local currentExchangeCount = args.currentExchangeCount
local quantity = args.quantity

-- Business logic:
local costMode = ""
local cost = 0
local logCost = nil

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

acquireAwait

交換待機

同期実行スクリプト

交換待機処理の前に、スクリプトが同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
awaitModelAwait交換待機
Result
必須デフォルト値の制限説明
permitbool
交換待機を許可するか
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local awaitModel = args.awaitModel

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

非同期実行スクリプト

交換待機処理の後に、スクリプトが非同期実行されます。

Request
説明
namespaceNamespaceネームスペース
rateModelRateModel交換レートモデル
awaitModelAwait交換待機
実装例
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local awaitModel = args.awaitModel

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}