> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Quest スクリプト トリガー リファレンス

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



## トリガー

### startQuest

クエスト開始
**関連するメソッド:**
start - クエストを開始
startByUserId - ユーザーIDを指定してクエストを開始


#### 同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| randomSeed | long | 乱数シード |
| rewards | [Reward[]](../sdk/#reward) | クエストで得られる報酬リスト |
| userId | string | ユーザーID |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | クエスト開始を許可するか |
| overrideRandomSeed | long |  |  | 0 ~ 9223372036854775805 | 乱数シード |
| overrideRewards | Reward[] |  |  | 0 ~ 1000 items | クエストで得られる報酬リスト |

##### 実装例


**Lua**
```lua

-- 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
}
```


#### 非同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| progress | [Progress](../sdk/#progress) | クエスト進行状況 |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local progress = args.progress
local config = args.config

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  
### completeQuest

クエストクリア
**関連するメソッド:**
end - クエストを完了
endByUserId - ユーザーIDを指定してクエストを完了


#### 同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| rewards | [Reward[]](../sdk/#reward) | クエストで得た報酬リスト |
| progress | [Progress](../sdk/#progress) | クエスト進行状況 |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | クエストクリアを許可するか |
| overrideRewards | Reward[] |  |  | 0 ~ 1000 items | クエストで得られる報酬リスト |

##### 実装例


**Lua**
```lua

-- 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
}
```


#### 非同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| rewards | [Reward[]](../sdk/#reward) | クエストで得た報酬リスト |
| progress | [Progress](../sdk/#progress) | クエスト進行状況 |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |


##### 実装例


**Lua**
```lua

-- 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

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  
### failedQuest

クエスト失敗
**関連するメソッド:**
end - クエストを完了
endByUserId - ユーザーIDを指定してクエストを完了


#### 同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| rewards | [Reward[]](../sdk/#reward) | クエストで得た報酬リスト |
| progress | [Progress](../sdk/#progress) | クエスト進行状況 |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | クエスト失敗を許可するか |
| overrideRewards | Reward[] |  |  | 0 ~ 1000 items | クエストで得られる報酬リスト |

##### 実装例


**Lua**
```lua

-- 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
}
```


#### 非同期実行スクリプト

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

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| questGroupModel | [QuestGroupModel](../sdk/#questgroupmodel) | クエストグループモデル |
| questModel | [QuestModel](../sdk/#questmodel) | クエストモデル |
| rewards | [Reward[]](../sdk/#reward) | クエストで得た報酬リスト |
| progress | [Progress](../sdk/#progress) | クエスト進行状況 |
| config | [Config[]](../sdk/#config) | トランザクションの変数に適用する設定値 |


##### 実装例


**Lua**
```lua

-- 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

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  



