Codificando 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, os jogadores terão estatísticas importantes que precisam ver, como os itens que coletaram. Esses números serão exibidos usando uma tabela de classificação. As classificações são características integradas do Roblox que precisam de um script para serem ativadas e personalizadas.

Configurando a Tabela de Líderes

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

  1. No Explorador, em ServerScriptService , crie um novo script chamado PlayerSetup. Nesse script, exclua a linha hello world 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 as variáveis do 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 da pasta .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nomeie a nova pasta **** instância leaderstats , e o pai para o jogador. Nomear a pasta leaderstats permite que o Roblox Studio saiba 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 entrar na 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)

Rastreando Estatísticas do Jogador

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

  • Ouro - Quanto dinheiro o jogador tem.
  • Itens - Quantos itens o jogador coletou do mundo.
  • Espaços - A maioria dos itens que um jogador pode segurar de uma só vez.

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

Jogador de Codificação Dourado

Comece codificando uma estatística para o ouro.

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


    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. Digite gold.Parent = leaderstats. Isso cria o IntValue para estatísticas de ouro. Se o IntValue não estiver associado a estatísticas de chumbo, 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 observe que uma tabela de classificação aparece no canto superior direito.

Dicas de solução de problemas

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

  • Certifique-se de que .Value esteja em letras grandes.
  • Certifique-se de que a variável para o IntValue esteja relacionada à tabela de classificação como gold.Parent = leaderstats .

Codificando Itens e Espaços

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

  1. Adicione uma linha em branco para separar a próxima estatística e, em seguida, crie a estatística do item configurando um novo IntValue da mesma maneira que você fez para o ouro.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Crie a estatística dos itens
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Crie uma nova estatística para os espaços da bolsa do jogador. Defina spaces.Value para 2 para que os jogadores só possam segurar dois itens ao mesmo tempo, encorajando-os a comprar uma nova bolsa o mais rápido possível.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Criar 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 conseguir ver o número na tabela de classificação, verifique se cada IntValue está associado às estatísticas de liderança.
  • Certifique-se de que cada IntValue seja soletrado exatamente como mostrado
  • Verifique se o evento PlayerAdded está na parte inferior do script

Completar Script de Configuração do Jogador

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


local Players = game:GetService("Players")
-- Cria uma tabela de classificação que mostra as variáveis do 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
-- Corra no PlayerJoin quando o evento PlayerAdded disparar
Players.PlayerAdded:Connect(onPlayerJoin)