En el juego, el jugador tendrá estadísticas importantes que necesitan ver como los artículos que ha recogido. Estos números se mostrarán utilizando una tabla de clasificación. Las tablas de clasificación son características incrustadas de Roblox que necesitan un script para ser activadas y personalizadas.
Configurando la tabla de clasificación
Cada vez que se agregue un jugador a la experiencia, deberá ser agregado a la tabla de clasificación junto con el código para rastrear las estadísticas individuales.
En el Explorador, debajo de ServerScriptService , crea un nuevo script llamado PlayerSetup. En ese script, elimina la línea de saludo mundial y escribe un hacer un comentariodescriptivo.
Después del hacer un comentario, crea una función personalizada nombrada onPlayerJoin con un parámetro llamado jugador.
-- Crea una tabla de clasificación que muestra las variables del jugadorlocal function onPlayerJoin(player)endEn onPlayerJoin, crea una variable llamada leaderstats y haz que crea una nueva instancia de Folders .
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")endNombre la nueva instancia Folder leaderstats , y asigna el padre a el jugador. Al nombrar la carpeta leaderstats le permite a Roblox Studio crear una tabla de clasificación.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendDespués del final de la función, conecta OnPlayerJoin al evento PlayerAdded. Cada vez que un jugador se una a la experiencia, cada jugador se proporcionará con el marcador de clasificación.
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
Rastreo de Estadísticas del Jugador
Ahora que se crea una tabla de clasificación, debe mostrar al jugador estos números:
- Oro - Cuánto dinero tiene el jugador.
- Artículos - Cuántos artículos el jugador ha recogido del mundo.
- Espacios - La mayoría de los elementos que un jugador puede sostener a la vez.
Cada uno de estos números será un IntValue, un objeto de marcador para un número.
Código de Jugador Dorado
Comienza con la codificación de una estadística para el oro.
En OnPlayerJoin , bajo leaderstats.Parent = player , tipo local gold = Instance.new("IntValue") . Esto crea un nuevo IntValue y se almacena en la variable dorado.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")endLuego, escribe gold.Name = "Gold" . Esto le da al IntValue un nombre para que lo pueda usar en otros scripts. El nombre también se mostrará a los jugadores en la tabla de clasificación.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"endEn una nueva línea, escriba gold.Value = 0 . Esto establece el valor de inicio para los jugadores.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endEscriba gold.Parent = leaderstats . Esto es padre del valor de oro para leaderstats. Si el valor de oro no está asociado a leaderstats, los jugadores no lo verán.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendJuega tu proyecto y nota que aparece una tabla de clasificación en la parte superior derecha.
Consejos de solución de problemas
Si no ves la tabla de clasificación, intenta lo siguiendo:
- Asegúrese de que .Value esté capitalizado.
- Asegúrese de que la variable para IntValue esté asociada a la tabla de clasificación como gold.Parent = leaderstats .
Código de artículos y espacios
Recuerda que los nombres de las estadísticas pueden ser cualquier cosa basada en el documento de diseño del juego. En otras palabras, "Items" puede ser "Crystals" en su lugar.
Agregue una línea en blanco para separar la siguiente estadística, luego cree la estadística del artículo configurando un nuevo IntValue de la misma manera que lo hizo con el oro.
local function onPlayerJoin(player)gold.Parent = leaderstats-- Crea la estadística de los elementoslocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendCree una nueva estadística para los espacios de la bolsa del jugador. Establece spaces.Value para 2 para que los jugadores comienzen la experiencia solo para poder contener dos artículos a la vez, lo que los animará a comprar una nueva bolsa tan pronto como puedan.
local function onPlayerJoin(player)items.Parent = leaderstats-- Crea la estadística de espacioslocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendPrueba el proyecto. Los jugadores deberían tener una tabla de clasificación que muestra oro, artículos y espacios.
Si no aparece la tabla de clasificación, intente verificar lo siguiente a continuación.
- Si no puede ver el número en la tabla de clasificación, asegúrese de que cada IntValue esté asociado a las estadísticas de líder.
- Asegúrese de que cada IntValue se escriba exactamente como se muestra
- Asegúrese de que el evento PlayerAdded esté en la parte inferior del script
Completa el script de PlayerSetup
Una versión terminada del script se puede referir a continuación.
local Players = game:GetService("Players")
-- Crea una tabla de clasificación que muestra las variables del jugador
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
local items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- Ejecutar enPlayerJoin cuando se activa el evento PlayerAdded
Players.PlayerAdded:Connect(onPlayerJoin)