Codifique a tabela de classificação

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

No jogo, o jogador terá estatísticas importantes que precisa ver, como os itens que coletou.Esses números serão exibidos usando uma tabela de classificação. Placares são recursos integrados do Roblox que precisam de um script para serem ativados e personalizados.

Configurar a tabela de classificação

Sempre que um jogador for adicionado à experiência, ele precisará ser adicionado à tabela de classificação junto com código para rastrear as estatísticas individuais.

  1. No Explorador, sob Serviço de Script de Servidor , crie um novo script chamado PlayerSetup.Nesse script, exclua a linha de olá ao mundo e escreva um comentardescritivo.

  2. Após o comentar, crie uma função personalizada chamada onPlayerJoin com um parâmetro chamado jogador.


    -- Cria uma tabela de classificação que mostra variáveis de jogador
    local function onPlayerJoin(player)
    end
  3. Em onPlayerJoin, crie uma variável chamada leaderstats e faça com que ela crie uma nova instância de Arquivo .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nomeie a nova instância de Pasta e parentela para o jogador.Renomear a pasta leaderstats deixa o Roblox Studio saber para criar uma tabela de classificação.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. Após o fim da função, conecte OnPlayerJoin ao evento PlayerAdded.Sempre que um jogador se junta à experiência, cada jogador receberá a tabela de classificação.


    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)

Rastrear estatísticas do jogador

Agora que uma tabela de classificação foi criada, ela precisa mostrar ao jogador esses números:

  • Ouro - Quanto dinheiro o jogador tem.
  • Itens - Quantos itens o jogador coletou do mundo.
  • Espaços - O maior número de itens que um jogador pode manter em um momento.

Cada um desses números será um IntValue, um objeto de espaço reservado para um número.

Dourado do jogador de código

Comece codificando um estatística para ouro.

  1. Em OnPlayerJoin, sob leaderstats.Parent = player, digite local gold = Instance.new("IntValue"). Isso cria um novo IntValue e o armazena na variável gold.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. Em seguida, digite gold.Name = "Gold". Isso dá ao IntValue um nome para que você possa usá-lo em outros scripts. O nome também será mostrado aos jogadores na tabela de classificação.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. Em uma nova linha, digite gold.Value = 0. Isso define o valor inicial para os jogadores.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Tipo gold.Parent = leaderstats . Este pai IntValue para ouro para leaderstats. Se o IntValue não for pai para leaderstats, os jogadores não o verão.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. Jogue seu projeto e perceba que uma tabela de classificação aparece no canto superior direito.

Dicas de solução de problemas

Se você não vê a tabela de classificação, tente o seguindo:

  • Certifique-se de que .Value seja capitalizado.
  • Certifique-se de que a variável para o IntValue está ligada à tabela de classificação como gold.Parent = leaderstats.

Itens de código e espaços

Lembre-se de que os nomes de estatísticas podem ser qualquer coisa baseada no documento de design do jogo. Em outras palavras, "Items" pode ser "Crystals" em vez disso.

  1. Adicione uma linha em branco para separar o próximo estatística, então crie o estatística do item configurando um novo IntValue da mesma maneira que fez para o ouro.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Crie a estatística de Itens
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Crie um novo estatística para os espaços de bolsa do jogador.Defina spaces.Value para 2 para que os jogadores comecem a experiência apenas sendo capazes de segurar dois itens ao mesmo tempo, encorajando-os a comprar uma nova bolsa assim que puderem.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Crie a estatística de Espaços
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Teste o projeto. Os jogadores devem ter uma tabela de classificação mostrando Ouro, Itens e Espaços.

Se a tabela de classificação não aparecer, tente verificar o seguinte abaixo.

  • Se você não pode ver o número na tabela de classificação, verifique se cada IntValue está ligado à leaderstats.
  • Certifique-se de que cada IntValue seja escrito exatamente como mostrado
  • Verifique se o evento PlayerAdded está na parte inferior do script

Complete o script de configuração do jogador

Uma versão final do script pode ser referenciada abaixo.


local Players = game:GetService("Players")
-- Cria uma tabela de classificação que mostra variáveis de jogador
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
-- Execute noPlayerJoin quando o evento PlayerAdded for disparado
Players.PlayerAdded:Connect(onPlayerJoin)