Cómo codificar la tabla de clasificación

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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.

  1. 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.

  2. 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 jugador
    local function onPlayerJoin(player)
    end
  3. En onPlayerJoin, crea una variable llamada leaderstats y haz que crea una nueva instancia de Folders .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nombre 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 = player
    end
  5. Despué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 = player
    end
    Players.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.

  1. 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 = player
    local gold = Instance.new("IntValue")
    end
  2. Luego, 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"
    end
  3. En 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 = 0
    end
  4. Escriba 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 = 0
    gold.Parent = leaderstats
    end
  5. Juega 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.

  1. 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 elementos
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Cree 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 espacios
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Prueba 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)