Codificación de 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 integradas de Roblox que requieren un script para ser activadas y personalizadas.

Configurando la Tabla de Clasificación

Cuando un jugador es añadido a la experiencia, tendrán que ser añadidos a la tabla de clasificación junto con el código para rastrear las estadísticas individuales.

  1. En el Explorador, en ServerScriptService , crea un nuevo script llamado PlayerSetup. En ese script, elimina la línea hola mundo y escribe un hacer un comentariodescriptivo.

  2. Después del hacer un comentario, crea una función personalizada llamada 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 cree una nueva instancia de carpeta .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Ponle un nombre a la nueva carpeta **** instancia leaderstats , y apártala al jugador. Nombrar la carpeta leaderstats 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, conecte OnPlayerJoin al evento PlayerAdded. Cuando un jugador se una a la experiencia, a cada jugador se le proporcionará la tabla 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)

Seguimiento de Estadísticas del Jugador

Ahora que se ha creado una tabla de clasificación, debe mostrar al jugador estos números:

  • Oro - Cuánto dinero tiene el jugador.
  • Artículos - Cuantos artículos el jugador ha recogido del mundo.
  • Espacios - La mayor cantidad de objetos que un jugador puede sostener a la vez.

Cada uno de estos números será un IntValue, un objeto de marcador de posición para un número.

Codificación de jugador dorado

Empieza codificando una estadística para obtener oro.

  1. En OnPlayerJoin , en leaderstats.Parent = player , escriba local gold = Instance.new("IntValue") . Esto crea un nuevo IntValue y lo almacena en el oro variable.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. A continuación, escriba gold.Name = "Gold" . Esto le da al IntValue un nombre para que pueda usarlo 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, escribe gold.Value = 0 . Esto establece el valor inicial 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 asigna el IntValue a las estadísticas de plomo. Si el IntValue no está asignado a las estadísticas de plomo, 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 para solucionar problemas

Si no ves la tabla de clasificación, prueba lo siguiendo:

  • Asegúrate de que .Value esté mayúscula.
  • Asegúrese de que la variable para el IntValue esté relacionada con la tabla de clasificación como gold.Parent = leaderstats .

Codificación de Objetos 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. Añade una línea en blanco para separar la siguiente estadística, luego crea la estadística del ítem configurando un nuevo IntValue de la misma manera que lo hiciste para el oro.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Crea la estadística de los objetos
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Crea una nueva estadística para los espacios de la bolsa del jugador. Establece spaces.Value en 2 para que los jugadores comiencen la experiencia solo pudiendo sostener dos artículos a la vez, animándolos a comprar una nueva bolsa lo antes posible.


    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 deben tener una tabla de clasificación que muestre oro, artículos y espacios.

Si la tabla de clasificación no aparece, intenta verificar lo siguiente a continuación.

  • Si no puede ver el número en la tabla de clasificación, compruebe que cada IntValue esté vinculado a estadísticas de clasificación.
  • Asegúrate de que cada IntValue esté escrito exactamente como se muestra
  • Comprueba que el evento PlayerAdded esté en la parte inferior del script

Completa el Script de Configuración del Jugador

Se puede hacer referencia a una versión terminada del guión 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 el evento PlayerAdded se active
Players.PlayerAdded:Connect(onPlayerJoin)