GS2-Quest 스크립트 트리거 레퍼런스

확장 스크립트를 호출하는 이벤트 트리거의 레퍼런스

트리거

startQuest

퀘스트 시작

동기 실행 스크립트

퀘스트 시작 처리 전에, 스크립트가 동기 실행됩니다.

Request
타입 설명
namespace Namespace 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
randomSeed long 난수 시드
rewards Reward[] 퀘스트로 얻을 수 있는 보상 리스트
userId string 사용자ID
config Config[] 트랜잭션 변수에 적용할 설정값
Result
타입 필수 기본값 값 제한 설명
permit bool
✓
퀘스트 시작을 허용할지 여부
overrideRandomSeed long 0 ~ 9223372036854775805 난수 시드
overrideRewards Reward[] 0 ~ 1000 items 퀘스트로 얻을 수 있는 보상 리스트
구현 예제
-- 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 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
progress Progress 퀘스트 진행 상황
config Config[] 트랜잭션 변수에 적용할 설정값
구현 예제
-- Request
local namespace = args.namespace
local questGroupModel = args.questGroupModel
local questModel = args.questModel
local progress = args.progress
local config = args.config

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

completeQuest

퀘스트 클리어

동기 실행 스크립트

퀘스트 클리어 처리 전에, 스크립트가 동기 실행됩니다.

Request
타입 설명
namespace Namespace 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
rewards Reward[] 퀘스트로 얻은 보상 리스트
progress Progress 퀘스트 진행 상황
config Config[] 트랜잭션 변수에 적용할 설정값
Result
타입 필수 기본값 값 제한 설명
permit bool
✓
퀘스트 클리어를 허용할지 여부
overrideRewards Reward[] 0 ~ 1000 items 퀘스트로 얻을 수 있는 보상 리스트
구현 예제
-- 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 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
rewards Reward[] 퀘스트로 얻은 보상 리스트
progress Progress 퀘스트 진행 상황
config Config[] 트랜잭션 변수에 적용할 설정값
구현 예제
-- 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

퀘스트 실패

동기 실행 스크립트

퀘스트 실패 처리 전에, 스크립트가 동기 실행됩니다.

Request
타입 설명
namespace Namespace 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
rewards Reward[] 퀘스트로 얻은 보상 리스트
progress Progress 퀘스트 진행 상황
config Config[] 트랜잭션 변수에 적용할 설정값
Result
타입 필수 기본값 값 제한 설명
permit bool
✓
퀘스트 실패를 허용할지 여부
overrideRewards Reward[] 0 ~ 1000 items 퀘스트로 얻을 수 있는 보상 리스트
구현 예제
-- 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 네임스페이스
questGroupModel QuestGroupModel 퀘스트 그룹 모델
questModel QuestModel 퀘스트 모델
rewards Reward[] 퀘스트로 얻은 보상 리스트
progress Progress 퀘스트 진행 상황
config Config[] 트랜잭션 변수에 적용할 설정값
구현 예제
-- 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 = {
}