GS2-Mission Script Trigger Reference

Reference for event triggers that call extended scripts

Trigger

missionComplete

Mission accomplishment

Synchronous Execution Script

The script is executed synchronously before the mission accomplishment process.

Request
Type Description
namespace Namespace Namespace
missionGroupModel MissionGroupModel Mission Group
oldComplete Complete Completion Status before completion
newComplete Complete Completion Status after completion
completeTaskNames [] List of completed task names
Result
Type Required Default Value Limits Description
permit bool
Whether to allow mission accomplishment
Implementation Example
-- Request
local namespace = args.namespace
local missionGroupModel = args.missionGroupModel
local oldComplete = args.oldComplete
local newComplete = args.newComplete
local completeTaskNames = args.completeTaskNames

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the mission accomplishment process.

Request
Type Description
namespace Namespace Namespace
missionGroupModel MissionGroupModel Mission Group
complete Complete Completion Status
completeTaskNames [] List of completed task names
Implementation Example
-- Request
local namespace = args.namespace
local missionGroupModel = args.missionGroupModel
local complete = args.complete
local completeTaskNames = args.completeTaskNames

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

result = {
}

counterIncrement

Counter increments

Synchronous Execution Script

The script is executed synchronously before the counter increments process.

Request
Type Description
namespace Namespace Namespace
counterModel CounterModel Counter Model
oldCounter Counter Before Counter
newCounter Counter After Counter
Result
Type Required Default Value Limits Description
permit bool
Whether to allow counter increments
Implementation Example
-- Request
local namespace = args.namespace
local counterModel = args.counterModel
local oldCounter = args.oldCounter
local newCounter = args.newCounter

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the counter increments process.

Request
Type Description
namespace Namespace Namespace
counterModel CounterModel Counter Model
counter Counter Counter
Implementation Example
-- Request
local namespace = args.namespace
local counterModel = args.counterModel
local counter = args.counter

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

result = {
}

receiveRewards

Receive reward

Synchronous Execution Script

The script is executed synchronously before the receive reward process.

Request
Type Description
namespace Namespace Namespace
missionGroupModel MissionGroupModel Mission Group
oldComplete Complete Completion Status before update
newComplete Complete Completion Status after update
receiveRewardTaskNames [] List of task names to receive rewards
Result
Type Required Default Value Limits Description
permit bool
Whether to allow receive reward
Implementation Example
-- Request
local namespace = args.namespace
local missionGroupModel = args.missionGroupModel
local oldComplete = args.oldComplete
local newComplete = args.newComplete
local receiveRewardTaskNames = args.receiveRewardTaskNames

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the receive reward process.

Request
Type Description
namespace Namespace Namespace
missionGroupModel MissionGroupModel Mission Group
complete Complete Completion Status
receiveRewardTaskNames [] List of task names to receive rewards
Implementation Example
-- Request
local namespace = args.namespace
local missionGroupModel = args.missionGroupModel
local complete = args.complete
local receiveRewardTaskNames = args.receiveRewardTaskNames

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

result = {
}