Código da Tabela de Líderes

*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 eles precisam ver, como os itens que eles coletaram. Esses números serão exibidos usando uma tabela de classificação. Tabelas de classificação são recursos incorporados do Roblox que precisam de um script ativado e personalizado.

Configurando o Leaderboard

Quando um jogador for adicionado à experiência, eles precisarão ser adicionados à tabela de classificação juntamente com o código para rastrear as estatísticas individuais.

  1. No Explorador, under ServerScriptService , create a new script named PlayerSetup. In that script, delete the hello world line and write a descriptive comentar.

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


    -- Cria uma tabela de classificação que mostra variáveis do jogador
    local function onPlayerJoin(player)
    end
  3. Em onPlayerJoin, crie uma variável chamada leaderstats e tê-la criar uma nova instância Folder .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Nomeie a nova instância Folder leaderstats e aja-a para a instância de jogador. Nomear a pasta leaderstats para que o Roblox Studio saiba 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 juntar à experiência, cada jogador receberá o 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)

Rastreamento de Estatísticas de Jogador

Agora que uma tabela de classificação é criada, ela precisa mostrar o 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 segurar em um momento.

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

Código de Jogador Dourado

Comece com a criação de uma estatística para ouro.

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


    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 . Isso é um pai para o IntValue de ouro para leaderstats. Se o IntValue não for pai para leaderstats, os jogadores nã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 um placar aparece no canto superior direito.

Dicas de solução de problemas

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

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

Código de Itens e Espaços

Lembre-se de que os nomes das estatísticas podem ser qualquer coisa baseado 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, então crie a estatística do item configurando um novo IntValue da mesma maneira que você fez com 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 uma nova estatística para os espaços de mochila do jogador. Definir spaces.Value para 2 para que os jogadores comecem a experiência, apenas permitindo que eles segurem dois itens de uma vez, encorajando-os a comprar uma nova bolsa assim que puderem.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Crie a estatística Spaces
    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, verifique a seguinte abaixo.

  • Se você não puder ver o número na tabela de classificação, verifique se cada IntValue está ligado às estatísticas de líderes.
  • Verifique se cada IntValue está escrito exatamente como mostrado
  • Verifique se o evento PlayerAdded está na parte inferior do script

Complete o Script de PlayerSettings

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


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