Materiales relacionados
Introducción a los módulos de almacenamiento de datos históricos
Módulo de almacenamiento de datos
Proporciona información detallada en los materiales anteriores; a continuación se ofrece una breve descripción general del módulo de almacenamiento de datos.El almacenamiento de datos es un módulo opcional. Cuando se habilita, permite a los desarrolladores de mapas utilizar tablas de datos basadas en servidor para el almacenamiento de datos, lo que sirve principalmente para la sincronización de información entre mapas y entre partidas, tablas de clasificación y funcionalidades similares. Este artículo se centra específicamente en la aplicación de las nuevas tablas de almacenamiento de datos para la funcionalidad de las tablas de clasificación.
Punto de acceso
Cargue el módulo de almacenamiento de datos desde la lista de módulos para comenzar la configuración de los cuatro tipos de columnas de la tabla de datos:

Introducción a la nueva tabla
Al igual que con todas las tablas de datos, cada tabla requiere que se especifique una columna «Clave», que sirve como clave principal de la tabla. Los datos de la columna Clave deben ser únicos y actúan como columna de índice para toda la tabla. Al consultar la Clave, se puede identificar una fila de datos específica dentro de la tabla designada. Al editar varias veces filas de datos con la misma Clave a través del editor, las ediciones posteriores siempre sobrescribirán los datos anteriores.
Hoja de datos de clasificación
Una hoja de datos de clasificación es una tabla especializada con varias listas. Puede personalizar varias columnas para almacenar información complementaria, como puntos, duración de la supervivencia, tiempo total de juego, etc. Sin embargo, una hoja de datos de clasificación debe contener una columna de datos (la columna Valor) para la clasificación ascendente o descendente.
Al seleccionar UID como clave, la columna Clave se convertirá automáticamente en cartas de jugador:
Ejemplo de hoja de datos
Hoja de datos de clasificación1
Rango | Clave | Valor | Columna personalizada 1 | Columna personalizada 2 | Columna personalizada… |
---|---|---|---|---|---|
1 | UUID del jugador 1 | 100 | lo que desees almacenar | ||
2 | UUID del jugador 2 | 90 |
Tabla de datos de varias columnas
Las tablas de varias columnas admiten múltiples columnas de datos (a diferencia de las tablas de datos de una sola columna anteriores). Puede almacenar datos diversos bajo una sola clave. El script del elemento proporciona API para editar tablas de clasificación y tablas de varias columnas asociadas. Cuando las claves coinciden (por ejemplo, ambas son UUID de jugador), elementos específicos pueden editar simultáneamente tanto las tablas de clasificación como las tablas de datos de varias columnas.
Ilustración de la tabla
Tabla de datos de varias columnas1
Clave | Valor | Columna personalizada 1 | Columna personalizada 2 | Columna personalizada… |
---|---|---|---|---|
UUID del jugador 1 | 100 | lo que desees almacenar | ||
UUID del jugador 2 | 90 |
Funcionalidad de la tabla de clasificación
Habilitar la función
Para activar la funcionalidad de la tabla de clasificación, debes habilitar el módulo Almacenamiento de datos dentro de tu proyecto y establecer al menos una tabla de datos de la tabla de clasificación.
Una vez preparado, edita el mapa que deseas publicar en la interfaz de publicación de mapas del Creator Centre para acceder a la configuración relacionada con la tabla de clasificación:

Al habilitar esta función, aparecerá un botón «Tabla de clasificación» en la página de detalles de tu mapa, lo que permitirá a los jugadores ver la información de la tabla de clasificación que hayas editado:


Editor de clasificación
En la interfaz del editor de clasificación para mapas publicados, actualmente solo se puede seleccionar una tabla de datos para mostrar la información de clasificación. (Aunque se pueden utilizar varias tablas para el almacenamiento de datos dentro del proyecto).
Puedes editar otros aspectos de la tabla de clasificación: incluyendo si se muestra fuera del juego, qué columnas se utilizan para el diseño de la tabla de clasificación y su orden.
Al seleccionar varios idiomas, puedes editar manualmente la información multilingüe del título de la tabla de clasificación:

Los idiomas que no se rellenen utilizarán los nombres predeterminados de las columnas de la tabla.
Después de editar, se mostrará una vista previa de la tabla de clasificación actual en la página web de información del mapa. El texto multilingüe no aparecerá en la vista previa:
Metadatos
Utilice el elemento gráfico en los momentos oportunos, como cuando un jugador anota puntos o al finalizar cada partido, para almacenar datos en la base de datos de la tabla de clasificación.
Tenga en cuenta que el parámetro SheetName
solo leerá desde la hoja de datos de la tabla de clasificación creada si el elemento gráfico está asociado específicamente a la hoja de datos de la tabla de clasificación.
Para facilitar la edición de los dos formatos de lista múltiple introducidos en este tutorial, se ha añadido un tipo de lista especializada llamada Tuple. El tipo Tuple reconoce automáticamente los valores de las hojas de datos especificadas o de las hojas de datos de la tabla de clasificación, formando una lista especializada en la que cada elemento se ajusta al tipo de datos designado.
La primitiva tupla lee automáticamente todas las tablas y adopta los tipos de datos de las columnas de la tabla como tipos de datos para los elementos de la lista:
Para clasificar tablas de datos, una vez creada una columna de datos personalizada, el valor contendrá realmente N columnas de datos, formando así una tupla:
En consecuencia, en la práctica, las tuplas pueden anidarse:
Las primitivas de tupla no actualizan automáticamente los nombres de las columnas de la tabla ni otra información. Por lo tanto, cualquier cambio requiere actualizar manualmente la primitiva de tupla.
Código
Ejemplo de código:
- Escribir
WriteDBLeaderboardAssociationValue(``«rank»``, ``“test_uid_1”``, {``60``, ``«1:00»``}, ``«»``, out var c, out var d)
go
- Leer
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 API relacionadas
- SetTuple
- GetTuple
- WriteDBLeaderboardAssociationValue
- RemoveFromLeaderboardDataStoreByKey
- ReadDBLeaderboardAssociationValue
- WriteToLeaderboardDataStore
- RemoveFromLeaderboardDataStoreByKey
- ReadFromLeaderboardDataStore
En concreto, para la función: ReadDBLeaderboardAssociationValue, su valor de retorno es una tupla:
Resultado: El tipo es {rankname_value}Tuple
- {rank, key, value}
- rank: int
- key: string
- value: tuple
- {value, GameCompletionTime}
Para la función: WriteDBLeaderboardAssociationValue, los parámetros Key y Value:
- Key: Se recomienda convertir el UID del jugador en una cadena como clave, para que el indicativo del jugador se pueda mostrar en Craftland
- Value: El tipo es {rankname} Tuple. Después de seleccionar SheetName, haga doble clic en Value para añadir rápidamente el bloque correspondiente
Para obtener más detalles y documentación sobre los parámetros de la API, consulte: Documentación oficial
Depuración local
Durante la edición del mapa, no se puede acceder a los datos en tiempo real de los jugadores. Sin embargo, Craftland Studio PC proporciona un método para ver los datos de depuración almacenados a través de archivos JSON locales.
Después de almacenar los datos durante la depuración, al hacer clic en la opción que se muestra en la imagen se navegará a la carpeta JSON local. La información de la tabla de datos se almacena en formato JSON, lo que permite a los desarrolladores verificar la corrección de la lógica.