테이블 삭제(레거시 경제)
Important
Economy v1 API는 유지 관리 모드에 있으며 새로운 기능은 제공되지 않으며 버그 수정만 제공됩니다. v1 API는 당분간 유지될 것입니다. PlayFab Economy의 다음 버전에 대해 자세히 알아보려면 Economy v2 개요를 참조하세요!
이 자습서는 PlayFab 게임 관리자를 사용해 드롭 표를 만드는 단계를 보여줍니다.
드롭 표를 사용하여 인벤토리 아이템을 무작위로 생성할 수 있으며, 순차적 드롭 표는 플레이어 보상에 무작위성을 제공할 수 있습니다.
- 이미 카탈로그, 인벤토리 및 PlayFab 게임 관리자에 대해 잘 알고 있다고 간주합니다.
- 표준적, 비번들/비컨테이너 아이템이 들어 있는 기본 카탈로그가 있어야 합니다.
- 게임내 "무료" 통화로 사용할 가상 통화를 적어도 하나 정의해야 합니다.
자신만의 아이템 세트를 사용할 수 있지만 우리 목표는 겹치는 아이템 류별을 만드는 것입니다.
예컨대, 우리는 다음 아이템 표를 사용할 것입니다:
액세서리 | 갑옷 | 칼 | |
---|---|---|---|
일반 | 일반적 액세서리 | 일반적 갑옷 | 일반적 칼 |
비일반적 | 비일반적 액세서리 | 비일반적 갑옷 | 비일반적 칼 |
희귀 | 희귀 액세서리 | 희귀 갑옷 | 희귀 칼 |
전설적 | 전설적 액세서리 | 전설적 갑옷 | 전설적 칼 |
귀하의 카탈로그에서 협력할 유사한 아이템 세트를 설정하면 우리는 드롭 표를 구축할 준비가 되었습니다.
드롭 표 구축
게임 관리자에서:
- 타이틀로 이동합니다.
- 왼쪽 메뉴에서 경제를 선택합니다.
- 카탈로그 탭으로 이동하여 기본 카탈로그를 선택합니다.
- 드롭 표를 선택합니다.
화면이 이 예와 비슷해야 합니다.
각각의 아이템 설명에 근거하여 드롭 표 구축을 시작합니다. 첫 번째 종류는 장비 타입이므로 액세서리라는 새 드롭 표를 만들 것입니다.
새 드롭 표 버튼을 선택합니다.
표 ID를 액세서리로 설정합니다.
드롭 표에 추가를 선택합니다. 복수 아이템 선정 팝업이 나타납니다.
ID 옆에 있는 추가 버튼을 선택하여 이러한 아이템을 추가합니다:
- 일반적 액세서리
- 비일반적 액세서리
- 희귀 액세서리
- 전설적 액세서리
닫기 버튼을 선택합니다.
희귀성에 따라 아이템의 가중치를 조정합니다:
- 일반적: 1000
- 비일반적: 100
- 희귀: 10
- 전설적: 1
가중치는 아이템을 서로 비교하여 떨어져야 하는 빈도를 표시합니다. 여기 표시된 예의 경우 레전더리 마다 약 1000 Commons를 떨어뜨립니다.
드롭 표 저장을 선택합니다.
액세서리가 완료되면 같은 단계를 따라 갑옷과 무기에 대한 드롭 표를 만듭니다.
우리의 다른 류별은 희귀성이므로 일반적 장비부터 시작하여 대체 표 세트를 만들 것입니다.
새 드롭 표 버튼을 선택합니다.
표 ID를 일반적 장비로 설정합니다.
드롭 표에 추가를 선택합니다. 복수 아이템 선정 팝업이 나타납니다.
ID 옆에 있는 추가 버튼을 선택하여 이러한 아이템을 추가합니다:
- 일반적 액세서리
- 일반적 갑옷
- 일반적 칼
닫기 버튼을 선택합니다.
해당 슬롯에서 일반적 장비 옵션이 어떠냐에 따라 아이템의 가중치를 조정합니다:
- 일반적 액세서리: 1
- 일반적 갑옷: 4
- 일반적 칼: 5
드롭 표 저장을 선택합니다.
드롭 표 사용
다음 두 가지 PlayFab 서버 API 메소드를 사용해 드롭 표에 프로그램적으로 액세스할 수 있습니다:
GetRandomResultTables를 사용하면 방금 게임 관리자에 입력한 원시 드롭 표 데이터를 읽을 수 있습니다.
참고 항목
GetRandomResultTables
은(는) 무작위 값 또는 보상 결과를 내놓지 않습니다. API를 사용해 적절한 대로 데이터를 읽고 정보를 구문 분석할 수 있습니다.
옵션 1
public void ReadDropTableData() {
PlayFabServerAPI.GetRandomResultTables(new GetRandomResultTablesRequest() {
TableIDs = new List<string> { "Accessories", "Common Equipment" }
}, result => {
Debug.Log("Completed getting drop tables");
}, error => {
Debug.LogError(error.GenerateErrorReport());
});
}
결과 핸들러는 우리가 생성한 GetRandomResultTablesResult 형식의 드롭표를 위한 구조 정보를 받을 것입니다.
또는, PlayFab이 귀하를 위해 표를 평가하여 EvaluateRandomResultTable API를 사용해 단일 아이템 결과를 제공하도록 할 수 있습니다. 이렇게 하면 제공된 가중치에 따라 조정된 단일 아이템을 생성하는 데 사용될 수 있는 itemId
가 반환됩니다.
이어서 두 번째 호출을 만들어 아이템을 생성해 플레이어에게 제공할 수 있습니다.
옵션 2
public void Grant(string playFabId, string tableId) {
// First, roll a random number and evaluate the drop table
PlayFabServerAPI.EvaluateRandomResultTable(new EvaluateRandomResultTableRequest()
{
TableId = tableId
}, result => OnRandomResultTableResponse(result, playFabId), OnError);
}
public void OnRandomResultTableResponse(EvaluateRandomResultTableResult tableResult, string playFabId) {
// Second, take the result and grant it to the player
PlayFabServerAPI.GrantItemsToUser(new GrantItemsToUserRequest {
PlayFabId = playFabId,
ItemIds = new List<string> { tableResult.ResultItemId }
}, result =>
{
// Handle Result
}, OnError);
}
public void OnError(PlayFabError error) {
Debug.LogError(error.GenerateErrorReport());
}
요약:
옵션 1 - 자신만의 게임 서버에서 데이터를 한 번 로드하고, 캐시하며, 롤을 직접 수행할 수 있습니다. 이 옵션은 PlayFab 호출이 적기 때문에 잠복 시간이 작으며, 게임별 논리에 근거하여 롤을 맞춤화할 수 있습니다.
옵션 2 - PlayFab이 더 많은 작업을 수행할 수 있지만, 복수의 API 호출은 잠복 시간 증가를 의미함을 기억하십시오.
고급 드롭 표 사용 (약탈 상자 설정)
번들 및 컨테이너에서 드롭 표를 연계할 수 있습니다. 번들은 단일 구매가 무작위 아이템 스택을 내는 가상 통화 Store를 위해 유용한 옵션입니다.
예컨대, 특정 드롭 규칙의 11 아이템 번들이 있다고 합시다. 이 경우에 우리가 하나의 전설적 아이템을 보증하는 것은 고객 지향 판매 점입니다. 우리는 또한 그것을 제한할 것이므로 플레이어가 너무 운이 좋아 11 레전더리를 받을 수는 없습니다.
새 드롭 표
글자 그대로 어떤 것이든 놓을 수 있는 드롭 표를 작성합시다 - 실제로 어떤 것이든입니다.
이 드롭 표를 작성할 때 그 옵션으로 다른 드롭 표를 주어(복수 아이템 선정 팝업에서 드롭 표 탭을 선택하여 다른 드롭 표에 추가), 적절한 가중치를 지정합니다.
번들 추가
이 시점에서 드롭 표 작성이 완료되어 번들을 추가합니다.
- 왼쪽 메뉴에서 경제를 선택합니다.
- 카탈로그 탭으로 이동하여 기본 카탈로그를 선택합니다.
- 번들을 선택하고 새 번들을 선택합니다.
- 아이템 ID를 11-아이템 드롭으로 설정하고 소모성을 선택하며 시한15초를 선택합니다.
- 번들에 추가를 선택합니다.
- 복수 아이템 선정 팝업에서 드롭 표 탭을 선택합니다.
- ID 옆에 있는 추가 버튼을 선택하여 드롭 표를 추가합니다.
- 수량 필드를 아래 이미지에 표시된 값으로 설정합니다.
- 번들 저장을 선택합니다.
이 예를 위해 만든 번들은 다음과 같은 몇 가지 기능을 사용합니다:
- 어떤 종류의 아이템이든 아이템 ID가 있어야 합니다.
- 번들은 자체 아이템으로 계수되며, 그 내용물은 부여되는 동시에 인도됩니다. 이러한 이유로 우리는 번들 자체를 소모성으로 만들며, 번들은 인도로부터 15초 후에 만료됩니다.
- 우리는 11 아이템이 인도되도록 하기 위해 다양한 수량의 다양한 드롭 표를 추가하지만, 다양한 표에 다양한 아이템이 나옵니다.
- 먼저 우리는 적어도 1개의 전설적 아이템을 보장하므로, 첫 번째 슬롯은 전설적 장비에 나올 것입니다.
- 그 다음 3 슬롯은 어느 것에든 구현되므로, 추가적 레전더리를 구현하거나 덜 바람직한 일반적 장비를 구현할 수도 있습니다. 이러한 구현은 좋은 구현 대 나쁜 구현을 정의하며, 따라서 이러한 세가지 아이템은 크게 다를 수 있습니다.
- 마지막으로, 우리는 남은 슬롯을 보장된 희귀 및 비일반적인 것으로 채워, 11 아이템 구현이 너무 좋거나 나쁘지 않도록 합니다.
결론
드롭 표는 잠재적 아이템 및 가중치 목록에서 무작위로 아이템 1개를 생성합니다. 번들과 컨테이너는 드롭 표를 사용해 한 개 이상의 아이템을 플레이어에게 인도하는 가장 간단한 방법 중 하나일 수 있습니다.
CloudScript에서 다음 서버 API 메소드 중 하나를 사용해 드롭 표를 수동으로 사용할 수 있습니다: