GS2-Quest Script Trigger Reference
Reference of event triggers that call extended scripts
Trigger
startQuest
Quest start
Synchronous Execution Script
The script is executed synchronously before the quest start process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| randomSeed | long | random number seed |
| rewards | Reward[] | List of rewards earned from quests |
| userId | string | User ID |
| config | Config[] | Set values to be applied to transaction variables |
Result
| Type | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|
| permit | bool | ✓ | Whether to allow the quest to begin | ||
| overrideRandomSeed | long | 0 ~ 9223372036854775805 | Random number seed | ||
| overrideRewards | Reward[] | 0 ~ 1000 items | List of rewards earned from quests |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local randomSeed = args.randomSeed
local rewards = args.rewards
local userId = args.userId
local config = args.config
-- Business logic:
local permit = true
local overrideRandomSeed = 0
local overrideRewards = {}
-- Result
result = {
permit=permit,
overrideRandomSeed=overrideRandomSeed,
overrideRewards=overrideRewards
}Asynchronous Execution Script
The script is executed asynchronously after the quest start process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| progress | Progress | Quest Progress |
| config | Config[] | Set values to be applied to transaction variables |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local progress = args.progress
local config = args.config
-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.
result = {
}completeQuest
Quest cleared
Synchronous Execution Script
The script is executed synchronously before the quest cleared process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| rewards | Reward[] | List of rewards obtained from quests |
| progress | Progress | Quest Progress |
| config | Config[] | Set values to be applied to transaction variables |
Result
| Type | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|
| permit | bool | ✓ | Whether to allow quests to be cleared | ||
| overrideRewards | Reward[] | 0 ~ 1000 items | List of rewards earned from quests |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local rewards = args.rewards
local progress = args.progress
local config = args.config
-- Business logic:
local permit = true
local overrideRewards = {}
-- Result
result = {
permit=permit,
overrideRewards=overrideRewards
}Asynchronous Execution Script
The script is executed asynchronously after the quest cleared process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| rewards | Reward[] | List of rewards obtained from quests |
| progress | Progress | Quest Progress |
| config | Config[] | Set values to be applied to transaction variables |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local rewards = args.rewards
local progress = args.progress
local config = args.config
-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.
result = {
}failedQuest
Quest to fail
Synchronous Execution Script
The script is executed synchronously before the quest to fail process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| rewards | Reward[] | List of rewards obtained from quests |
| progress | Progress | Quest Progress |
| config | Config[] | Set values to be applied to transaction variables |
Result
| Type | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|
| permit | bool | ✓ | Whether to allow the quest to fail | ||
| overrideRewards | Reward[] | 0 ~ 1000 items | List of rewards earned from quests |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local rewards = args.rewards
local progress = args.progress
local config = args.config
-- Business logic:
local permit = true
local overrideRewards = {}
-- Result
result = {
permit=permit,
overrideRewards=overrideRewards
}Asynchronous Execution Script
The script is executed asynchronously after the quest to fail process.
Request
| Type | Description | |
|---|---|---|
| namespace | Namespace | Namespace |
| questGroupModel | QuestGroupModel | Quest Group Model |
| questModel | QuestModel | Quest Model |
| rewards | Reward[] | List of rewards obtained from quests |
| progress | Progress | Quest Progress |
| config | Config[] | Set values to be applied to transaction variables |
Implementation Example
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local rewards = args.rewards
local progress = args.progress
local config = args.config
-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.
result = {
}