GS2-Idle Script Trigger Reference

Reference for event triggers that call extended scripts

Trigger

receive

Receiving rewards

Synchronous Execution Script

The script is executed synchronously before the receiving rewards process.

Request
Type Description
namespace Namespace Namespace
category CategoryModel Category Model
userId string User ID executing reward receive
status Status Status
acquireActions AcquireAction[] Rewards
config Config[] Configuration values applied to transaction variables
Result
Type Required Default Value Limits Description
permit bool
Whether to allow receiving rewards
rate float 1.0 0 ~ 1000 Acquisition quantity rate
Implementation Example
-- Request
local namespace = args.namespace
local category = args.category
local userId = args.userId
local status = args.status
local acquireActions = args.acquireActions
local config = args.config

-- Business logic:
local permit = true
local rate = 0

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

Asynchronous Execution Script

The script is executed asynchronously after the receiving rewards process.

Request
Type Description
namespace Namespace Namespace
category CategoryModel Category Model
userId string User ID executing reward receive
oldStatus Status Status before receiving rewards
newStatus Status Status after receiving rewards
acquireActions AcquireAction[] Rewards
config Config[] Configuration values applied to transaction variables
Implementation Example
-- Request
local namespace = args.namespace
local category = args.category
local userId = args.userId
local oldStatus = args.oldStatus
local newStatus = args.newStatus
local acquireActions = args.acquireActions
local config = args.config

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

result = {
}

overrideAcquireActions

Script that dynamically determines the idle reward Acquire Action

Synchronous Execution Script

After synchronously executing the Script that dynamically determines the idle reward Acquire Action, the Acquire Action is performed.

Request
Type Description
namespace Namespace Namespace
categoryModel CategoryModel Category Model
userId string User ID
Result
Type Required Default Value Limits Description
acquireActions AcquireActionList[]
1 ~ 100 items List of acquire actions for each waiting time
Assuming that the waiting time is “X minutes”,
“X / rewardIntervalMinutes” will be the number of rewards that can be received, but by looping the elements specified in this array, different rewards can be given for each waiting time.
Implementation Example
-- Request
local namespace = args.namespace
local categoryModel = args.categoryModel
local userId = args.userId

-- Business logic:
local acquireActions = {}

-- Result
result = {
  acquireActions=acquireActions
}