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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
randomSeedlongrandom number seed
rewardsReward[]List of rewards earned from quests
userIdstringUser ID
configConfig[]Set values to be applied to transaction variables
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow the quest to begin
overrideRandomSeedlong0 ~ 9223372036854775805Random number seed
overrideRewardsReward[]0 ~ 1000 itemsList 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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
progressProgressQuest Progress
configConfig[]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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
rewardsReward[]List of rewards obtained from quests
progressProgressQuest Progress
configConfig[]Set values to be applied to transaction variables
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow quests to be cleared
overrideRewardsReward[]0 ~ 1000 itemsList 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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
rewardsReward[]List of rewards obtained from quests
progressProgressQuest Progress
configConfig[]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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
rewardsReward[]List of rewards obtained from quests
progressProgressQuest Progress
configConfig[]Set values to be applied to transaction variables
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow the quest to fail
overrideRewardsReward[]0 ~ 1000 itemsList 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
TypeDescription
namespaceNamespaceNamespace
questGroupModelQuestGroupModelQuest Group Model
questModelQuestModelQuest Model
rewardsReward[]List of rewards obtained from quests
progressProgressQuest Progress
configConfig[]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 = {
}