Novas tabelas de classificação - Internas

Materiais relacionados

Introdução aos módulos de armazenamento de dados históricos

Módulo de armazenamento de dados

Fornece informações detalhadas nos materiais acima; aqui está uma breve visão geral do módulo de armazenamento de dados.O armazenamento de dados é um módulo opcional. Quando ativado, permite que os desenvolvedores de mapas utilizem tabelas de dados baseadas em servidor para armazenamento de dados, servindo principalmente para sincronização de informações entre mapas e partidas, tabelas de classificação e funcionalidades semelhantes. Este artigo se concentra especificamente na aplicação das novas tabelas de armazenamento de dados para a funcionalidade da tabela de classificação.

Ponto de acesso

Carregue o módulo de armazenamento de dados da lista de módulos para iniciar a configuração dos quatro tipos de colunas da tabela de dados:

image-20250806162055343

Introdução à nova tabela

Tal como acontece com todas as tabelas de dados, cada tabela requer que você especifique uma coluna “Chave”, que serve como chave primária da tabela. Os dados na coluna Chave devem ser únicos e atuam como coluna de índice para toda a tabela. Ao consultar a Chave, você pode identificar uma linha de dados específica dentro da tabela designada. Ao editar linhas de dados com a mesma Chave várias vezes através do editor, as edições subsequentes sempre substituirão os dados anteriores.

Planilha de classificação

Uma planilha de classificação é uma tabela especializada com várias listas. Você pode personalizar várias colunas para armazenar informações complementares, como pontos, tempo de sobrevivência, tempo total de jogo, etc. No entanto, uma planilha de classificação deve conter uma coluna de dados (a coluna Valor) para classificação ascendente ou descendente.

image-20250806170632723

Selecionar UID como chave converterá automaticamente a coluna Chave em cartas de jogador:

image-20250901154851187

Exemplo de planilha de dados

Folha de dados da classificação1

Classificação Chave Valor Coluna personalizada 1 Coluna personalizada 2 Coluna personalizada…
1 UUID do jogador 1 100 o que você desejar armazenar
2 UUID do jogador 2 90

Tabela de dados com várias colunas

As tabelas com várias colunas suportam várias colunas de dados (diferentemente das tabelas de dados com uma única coluna anteriores). Você pode armazenar dados diversos sob uma única chave. O script do elemento fornece APIs para editar tabelas de classificação e tabelas com várias colunas associadas. Quando as chaves correspondem (por exemplo, ambas sendo UUIDs de jogadores), elementos específicos podem editar simultaneamente as tabelas de classificação e as tabelas de dados com várias colunas.

image-20250806170813281

Ilustração da tabela

Tabela de dados com várias colunas1

Chave Valor Coluna personalizada 1 Coluna personalizada 2 Coluna personalizada…
UUID do jogador 1 100 o que você desejar armazenar
UUID do jogador 2 90

Funcionalidade do quadro de líderes

Ativando o recurso

Para ativar a funcionalidade do quadro de líderes, você deve habilitar o módulo Armazenamento de dados em seu projeto e estabelecer pelo menos uma tabela de dados do quadro de líderes.

Depois de preparado, edite o mapa que você pretende publicar na interface de publicação de mapas do Creator Center para acessar as configurações relacionadas ao placar:

image-20250806164442617

Ao ativar esse recurso, um botão “Classificação” será exibido na página de detalhes do seu mapa, permitindo que os jogadores vejam as informações da classificação que você editou:

image-20250806171313422 image-20250806164728942

Editor de classificação

Na interface do editor de classificação para mapas publicados, atualmente você pode selecionar apenas uma tabela de dados para exibir informações de classificação. (Embora várias tabelas possam ser utilizadas para armazenamento de dados dentro do projeto)
image-20250806164912096

Você pode editar outros aspectos da tabela de classificação: incluindo se deseja exibi-la fora do jogo, quais colunas usar para o layout da tabela de classificação e sua ordem.

Selecionar vários idiomas permite que você edite manualmente as informações multilíngues do título da tabela de classificação:

image-20250806173701944

Os idiomas não preenchidos usarão os nomes padrão das colunas da tabela.

Após a edição, a pré-visualização atual da sua tabela de classificação será exibida na página de informações do mapa. O texto multilíngue não aparecerá na pré-visualização:

image-20250806165547462

Metadados

Utilize o elemento gráfico em momentos apropriados, como quando um jogador marca pontos ou ao final de cada partida, para armazenar dados no banco de dados da tabela de classificação.

image-20250806165732042

Observe que o parâmetro SheetName só lerá a planilha de dados do quadro de líderes criada se o elemento gráfico estiver especificamente associado à planilha de dados do quadro de líderes.

Para facilitar a edição dos dois formatos de lista múltipla apresentados neste tutorial, foi adicionado um tipo de lista especializada chamada Tuple. O tipo Tuple reconhece automaticamente os valores das planilhas de dados ou planilhas de dados do quadro de líderes especificadas, formando uma lista especializada em que cada elemento segue o tipo de dados designado.

image-20250806174722968

A primitiva tupla lê automaticamente todas as tabelas e adota os tipos de dados das colunas da tabela como os tipos de dados para os itens da lista:

image-20250806175459462

Para tabelas de dados de classificação, uma vez criada uma coluna de dados personalizada, o valor conterá, na verdade, N colunas de dados, formando assim uma tupla:

image-20250806175601013

Consequentemente, no uso prático, as tuplas podem se tornar aninhadas:

image-20250806180055942

As primitivas de tupla não atualizam automaticamente os nomes das colunas da tabela ou outras informações. Consequentemente, quaisquer alterações exigem a atualização manual da primitiva de tupla.

Código

Exemplo de código:

  1. Escreva
WriteDBLeaderboardAssociationValue(``“rank”``, ``‘test_uid_1’``, {``60``, ``1:00``}, ``“”``, out var c, out var d)
go
  1. Leia
ReadDBLeaderboardAssociationValue(``“rank”``, ``‘test_uid_1’``, out var data, ``“”``, out var a, out var b)``var data_normal List<object> = data[``2``] as List<object>``LogWarning(data_normal[``1``])
go

Lista de APIs relacionadas

  1. SetTuple
  2. GetTuple
  3. WriteDBLeaderboardAssociationValue
  4. RemoveFromLeaderboardDataStoreByKey
  5. ReadDBLeaderboardAssociationValue
  6. WriteToLeaderboardDataStore
  7. RemoveFromLeaderboardDataStoreByKey
  8. ReadFromLeaderboardDataStore

Especificamente, para a função: ReadDBLeaderboardAssociationValue, seu valor de retorno é uma tupla:

Resultado: O tipo é {rankname_value}Tuple

  • {rank, key, value}
  • rank: int
  • key: string
  • value: tuple
  • {value, GameCompletionTime}

Para a função: WriteDBLeaderboardAssociationValue, os parâmetros Key e Value:

  • Key: Recomenda-se converter o UID do jogador em uma string como chave, para que o indicativo do jogador possa ser exibido no Craftland
  • Value: O tipo é {rankname} Tuple. Após selecionar SheetName, clique duas vezes em Value para adicionar rapidamente o bloco correspondente
    Para obter mais detalhes e documentação sobre os parâmetros da API, consulte: Documentação oficial

Depuração local

Durante a edição do mapa, não é possível acessar os dados dos jogadores em tempo real. No entanto, o Craftland Studio PC oferece um método para visualizar os dados de depuração armazenados por meio de arquivos JSON locais.

image-20250806170248163

Depois que os dados são armazenados durante a depuração, clicar na opção mostrada na imagem levará você à pasta JSON local. As informações da tabela de dados são armazenadas no formato JSON, permitindo que os desenvolvedores verifiquem a correção da lógica.

image-20250806170420358