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

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

트리거

lottery

추첨

동기 실행 스크립트

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

Request
타입 설명
namespace Namespace 네임스페이스
lotteryModel LotteryModel 추첨 모델
drawnPrizes DrawnPrize[] 추첨 결과 경품 리스트
boxItems BoxItems 박스 상태(경품과 잔여 수량·초기 수량 정보)
Result
타입 필수 기본값 값 제한 설명
permit bool
✓
추첨을 허용할지 여부
overrideDrawnPrizes DrawnPrize[] 0 ~ 1000 items 결과를 덮어쓸 추첨 결과 경품 리스트
구현 예제
-- Request
local namespace = args.namespace
local lotteryModel = args.lotteryModel
local drawnPrizes = args.drawnPrizes
local boxItems = args.boxItems

-- Business logic:
local permit = true
local overrideDrawnPrizes = {}

-- Result
result = {
  permit=permit,
  overrideDrawnPrizes=overrideDrawnPrizes
}

choicePrizeTable

배출 확률 테이블을 동적으로 변경하는 처리

동기 실행 스크립트

배출 확률 테이블을 동적으로 변경하는 처리 처리 전에, 스크립트가 동기 실행됩니다.

Request
타입 설명
namespace Namespace 네임스페이스
lotteryModel LotteryModel 배출 확률 테이블을 동적으로 선택할 대상 추첨 모델
userId string 사용자ID
count int 추첨 횟수
Result
타입 필수 기본값 값 제한 설명
prizeTableNames string[]
✓
1 ~ 1000 items 추첨에 사용할 배출 확률 테이블 이름 리스트
응답값이 10개이고 추첨 횟수가 10회 미만인 경우, 앞에서부터 순서대로 사용됩니다.
추첨 횟수가 10회이고 10개 미만의 배출 확률 테이블을 응답한 경우, 응답한 배출 확률 테이블을 순서대로 사용하고 나머지는 마지막에 응답한 배출 확률 테이블로 추첨합니다.
예를 들어 3개의 배출 확률 테이블을 응답한 경우, 1회차는 1번째 배출 확률 테이블, 2회차는 2번째 배출 확률 테이블, 3회차 이후는 3번째 배출 확률 테이블로 추첨합니다.
구현 예제
-- Request
local namespace = args.namespace
local lotteryModel = args.lotteryModel
local userId = args.userId
local count = args.count

-- Business logic:
local prizeTableNames = {}

-- Result
result = {
  prizeTableNames=prizeTableNames
}