- 시간대에 따라 상점의 가격 수정.
- 현재 이벤트의 변경 사항을 반영하도록 타이틀 데이터 업데이트.
- 매일 게임 경제에 가상 화폐 주입 등.
1단계 - CloudScript 준비
Game Manager에서:- 왼쪽 메뉴에서 Automation을 선택합니다.
- CloudScript Revisions 탭에서 아래의 코드 조각 및 이미지에서 볼 수 있듯이
SetTitleDataAPI를 간단하게 호출하는adjustRareDropRate라는 새 CloudScript 함수를 추가합니다.
눈치 빠른 분들을 위해 안심하세요 - 의도적으로 버그가 있습니다. 게임에서 라이브가 되도록 새 리비전을 배포해야 합니다.
2단계 - 예약된 태스크 만들기
이제 왼쪽 메뉴에서 Servers를 선택합니다.- Scheduled Tasks 탭으로 이동합니다.
- 화면 오른쪽 상단의 New Scheduled Task를 선택합니다.
- 이렇게 하면 Create Task 뷰가 나타납니다.
- Type of task 필드에서 Run a CloudScript function을 선택합니다.
- 그 아래에서 현재 배포된 CloudScript 리비전의 함수를 선택하고 전달할 인수를 지정할 수 있습니다.
- 이전 단계에서 작성한 adjustRareDropRate Handler를 선택합니다.
- SCHEDULE 헤더 아래의 **On a schedule (UTC)**를 선택합니다.
- 간단한 일정 빌더에서 Task가 실행될 시간을 선택할 수 있습니다(매시간, 매일, 매주 등).
- 이 예시에서는 요일을 지정할 수 있는 고급 일정을 원합니다.
- 따라서 CRON EXPRESSION을 선택합니다.
3단계 - 태스크 테스트
Tasks 뷰(Servers -> Tasks)에서 방금 만든 태스크의 다음 실행이 예상대로 다음 토요일임을 볼 수 있습니다. 따라서 현재 화요일이라면 다음 예약 실행 시간은 4일 후가 됩니다. 지금 태스크를 테스트하려면 Adjust rare drop rate 태스크를 선택하고 RUN TASKS를 선택합니다.4단계 - 테스트 실행 결과 확인
안타깝게도 태스크 실행이 실패했습니다. 무엇이 잘못되었는지 보려면 태스크 인스턴스를 선택하세요. Task Instance Details 뷰에서 태스크가 실패한 이유에 대한 진단 정보를 제공합니다. 이 경우 serverAPI.SetTitleData 호출이 잘못되었음을 지적합니다. 실제로는 server.SetTitleData여야 합니다(자세한 내용은 Writing Custom CloudScript 튜토리얼의 Intermediate: Calling the Server APIs 섹션을 참조하세요). Task Instance Details 뷰에는 시작 및 종료 시간, 호출된 함수, 전달된 인수, 전체 CloudScript 실행 결과 등 다른 중요한 정보도 있습니다.5단계 - 다시 테스트(성공적으로)
4단계에서 발견한 오류를 수정합니다. 올바른 코드 조각은 아래와 같습니다.- 왼쪽 메뉴에서 Content를 선택합니다.
- Title Data 탭으로 이동합니다.
- Title Data 항목이 실제로 설정되었는지 확인합니다.
