GS2-Idle 스크립트 트리거 레퍼런스
확장 스크립트를 호출하는 이벤트 트리거의 레퍼런스
트리거
receive
동기 실행 스크립트
처리 전에, 스크립트가 동기 실행됩니다.
Request
| 타입 | 설명 | |
|---|---|---|
| namespace | Namespace | 네임스페이스 |
| category | CategoryModel | 카테고리 모델 |
| userId | string | 보상 수령을 실행하는 사용자 ID |
| status | Status | 상태 |
| acquireActions | AcquireAction[] | 보상 |
| config | Config[] | 트랜잭션 변수에 적용할 설정값 |
Result
| 타입 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|
| permit | bool | ✓ | 보상 수령을 허용할지 여부 | ||
| rate | float | 1.0 | 0 ~ 1000 | 획득량 배율 |
구현 예제
-- Request
local namespace = args.namespace
local category = args.category
local userId = args.userId
local status = args.status
local acquireActions = args.acquireActions
local config = args.config
-- Business logic:
local permit = true
local rate = 1.0
-- Result
result = {
permit=permit,
rate=rate
}비동기 실행 스크립트
처리 후에, 스크립트가 비동기 실행됩니다.
Request
| 타입 | 설명 | |
|---|---|---|
| namespace | Namespace | 네임스페이스 |
| category | CategoryModel | 카테고리 모델 |
| userId | string | 보상 수령을 실행하는 사용자 ID |
| oldStatus | Status | 보상 수령 전 스테이터스 |
| newStatus | Status | 보상 수령 후 스테이터스 |
| acquireActions | AcquireAction[] | 보상 |
| config | Config[] | 트랜잭션 변수에 적용할 설정값 |
구현 예제
-- Request
local namespace = args.namespace
local category = args.category
local userId = args.userId
local oldStatus = args.oldStatus
local newStatus = args.newStatus
local acquireActions = args.acquireActions
local config = args.config
-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.
result = {
}overrideAcquireActions
동기 실행 스크립트
을(를) 동기 실행한 후, 입수 액션이 실행됩니다.
Request
| 타입 | 설명 | |
|---|---|---|
| namespace | Namespace | 네임스페이스 |
| categoryModel | CategoryModel | 카테고리 모델 |
| userId | string | 사용자 ID |
Result
| 타입 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|
| acquireActions | AcquireActionList[] | ✓ | 1 ~ 100 items | 대기 시간마다 얻을 수 있는 입수 액션 리스트 대기 시간을 “X분"이라고 가정하면 “X / rewardIntervalMinutes"가 보상을 받을 수 있는 횟수가 되지만, 여기서 지정한 배열의 요소를 반복함으로써 대기 시간마다 다른 보상을 부여할 수 있습니다. |
구현 예제
-- Request
local namespace = args.namespace
local categoryModel = args.categoryModel
local userId = args.userId
-- Business logic:
local acquireActions = {}
-- Result
result = {
acquireActions=acquireActions
}