Pular para o conteúdo principal

Tabelas de drop (Legacy Economy)

As APIs do Economy v1 estão em modo de manutenção e não receberão novos recursos, apenas correções de bugs. As APIs v1 serão mantidas no futuro próximo. Consulte a Visão geral do Economy v2 para saber mais sobre a próxima versão do PlayFab Economy!
Este tutorial mostra as etapas para criar tabelas de drop usando o Game Manager do PlayFab. As tabelas de drop permitem gerar aleatoriamente itens de inventário, e as tabelas de drop sequenciais podem fornecer alguma aleatoriedade às recompensas dos jogadores.
  • Presumimos que você já esteja familiarizado com Catálogos, Inventário e o Game Manager do PlayFab.
  • Você deve ter um catálogo principal, que contenha itens padrão, que não sejam pacotes nem contêineres.
  • Você deve ter definido pelo menos uma moeda virtual, que você usará como moeda “gratuita” no jogo.
Você pode usar seu próprio conjunto de itens, mas nosso objetivo é criar uma categorização sobreposta de itens. Como exemplo, usaremos a seguinte tabela de itens: Depois de configurar um conjunto semelhante de itens para trabalhar no seu catálogo, estaremos prontos para criar as tabelas de drop.

Criar tabelas de drop

No Game Manager:
  1. Navegue até o seu Título.
  2. Selecione Economy no menu à esquerda.
  3. Vá para a guia Catalogs e escolha seu catálogo principal.
  4. Selecione Drop Tables.
Sua tela deve ser semelhante a este exemplo. Game Manager - Catalogs - Drop Tables Comece a criar Drop Tables com base em cada um dos descritores dos seus itens. Nossa primeira categorização é Tipo de equipamento, então criaremos uma nova Drop Table chamada Accessories.
  1. Selecione o botão New Drop Table.
  2. Defina o Table Id como Accessories.
  3. Selecione ADD TO DROP TABLE. A janela pop-up Pick multiple items será exibida.
  4. Adicione estes itens selecionando o botão Add ao lado do ID deles:
    • Common Accessory
    • Uncommon Accessory
    • Rare Accessory
    • Legendary Accessory
  5. Selecione o botão Close.
  6. Ajuste os valores de Weight dos itens de acordo com a raridade:
    • Common: 1000
    • Uncommon: 100
    • Rare: 10
    • Legendary: 1
    Os pesos indicam com que frequência os itens devem cair em comparação uns com os outros. No exemplo mostrado aqui, você obterá aproximadamente 1000 itens Common para cada Legendary.
  7. Selecione SAVE DROP TABLE.
Game Manager - Drop Table - Editar Accessories Com Accessories concluída, siga as mesmas etapas para criar tabelas de drop para Armors e Weapons. Nossa outra categorização é por raridade, então criaremos um conjunto alternativo de tabelas, começando com Common Equipment.
  1. Selecione o botão New Drop Table.
  2. Defina o Table Id como Common Equipment.
  3. Selecione ADD TO DROP TABLE. A janela pop-up Pick multiple items será exibida.
  4. Adicione estes itens selecionando o botão Add ao lado do ID deles:
    • Common Accessory
    • Common Armor
    • Common Sword
  5. Selecione o botão Close.
  6. Ajuste os valores de Weight dos itens de acordo com a frequência com que as opções de Common Equipment devem aparecer nesse espaço:
    • Common Accessory: 1
    • Common Armor: 4
    • Common Sword: 5
  7. Selecione SAVE DROP TABLE.
Game Manager - Drop Table - Editar Common Equipment

Usar tabelas de drop

Você pode acessar as tabelas de drop programaticamente usando estes dois métodos da API de servidor do PlayFab:
  1. GetRandomResultTables
  2. EvaluateRandomResultTable
Usando GetRandomResultTables, você pode ler os dados brutos da tabela de drop que inserimos no Game Manager.
GetRandomResultTables não sorteia valores aleatórios nem concede resultados. A API permite que você leia os dados e analise as informações da forma que achar melhor.

Opção 1

O manipulador de resultados receberá as informações de estrutura da tabela de drop que criamos, formatadas como um GetRandomResultTablesResult. Como alternativa, você pode deixar que o PlayFab avalie a tabela por você e forneça um único item como resultado usando a API EvaluateRandomResultTable. Isso retorna o itemId que pode ser usado para gerar um único item, sorteado de acordo com os pesos fornecidos. Em seguida, você pode fazer uma segunda chamada, que cria o item e o concede ao jogador.

Opção 2

Resumindo: Opção 1 - Permite que você carregue os dados uma vez, armazene-os em cache e faça o sorteio você mesmo no seu próprio servidor de jogo. Essa opção tem latência menor devido ao menor número de chamadas ao PlayFab e permite personalizar os sorteios com base na lógica específica do jogo. Opção 2 - Deixa o PlayFab fazer mais do trabalho, mas lembre-se: várias chamadas de API significam latência maior.

Uso avançado de tabelas de drop (configurar uma caixa de loot)

As tabelas de drop podem ser vinculadas a partir de pacotes e contêineres. Os pacotes são uma ótima opção para lojas de moeda virtual, em que uma única compra gera uma pilha de itens aleatórios. Por exemplo, digamos que temos um pacote de 11 itens com regras de drop específicas. Nesse caso, um argumento de venda voltado ao cliente é que garantiremos um item lendário. Também vamos restringi-lo, para que o jogador não tenha sorte demais e receba 11 itens lendários.

Nova tabela de drop

Vamos criar uma tabela de drop que pode literalmente soltar qualquer coisa; na verdade, vamos chamá-la de Anything. Ao criar essa tabela de drop, atribua a ela outras tabelas de drop como opções (na janela pop-up Pick multiple items, selecione a guia Drop Tables para adicionar outras tabelas de drop) e atribua a elas os pesos adequados. Game Manager - Nova tabela de drop

Adicionar um pacote

Neste ponto, terminamos as tabelas de drop e adicionaremos um Bundle.
  1. Selecione Economy no menu à esquerda.
  2. Vá para a guia Catalogs e escolha seu catálogo principal.
  3. Selecione Bundles e escolha New Bundle.
  4. Defina o Item Id como 11-Item Drop, selecione Consumable e escolha By time 15 Seconds.
  5. Selecione ADD TO BUNDLE.
  6. Na janela pop-up Pick multiple items, selecione a guia Drop tables.
  7. Adicione as tabelas de drop selecionando o botão Add ao lado do ID delas.
  8. Defina os campos Quantity com os valores mostrados na imagem abaixo.
  9. Selecione SAVE BUNDLE.
Game Manager - Novo pacote de catálogo O Bundle que criamos para este exemplo usa vários recursos:
  • Todos os itens de qualquer tipo devem ter um Item ID.
  • Um Bundle conta como um item próprio, e seu conteúdo é entregue no mesmo momento em que ele é concedido. Por esse motivo, estamos tornando o próprio Bundle consumível, e ele expira 15 segundos após a entrega.
  • Adicionamos diferentes Drop tables em quantidades diferentes para garantir que 11 itens sejam entregues, mas itens diferentes são sorteados em tabelas diferentes.
    • Primeiro, garantimos pelo menos 1 item lendário, então o primeiro espaço será sorteado em Legendary Equipment.
    • Os próximos 3 espaços são sorteados em Anything, que pode gerar mais itens Legendary ou equipamentos comuns menos desejáveis. Esses sorteios definirão um resultado bom versus um ruim, já que esses três itens podem variar bastante.
    • Por fim, preenchemos os espaços restantes com itens Rare e Uncommon garantidos, assegurando que um sorteio de 11 itens não seja bom ou ruim demais.

Conclusão

Uma tabela de drop gera um único item aleatoriamente a partir de uma lista de itens e pesos possíveis. Pacotes e contêineres podem ser uma das maneiras mais simples de entregar um ou mais itens a um jogador usando tabelas de drop. Você pode usar manualmente uma tabela de drop a partir do CloudScript, usando um destes métodos da API de servidor:
  1. GetRandomResultTables
  2. EvaluateRandomResultTable
Última modificação em 6 de outubro de 2026