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.
No Explorador, under ServerScriptService , create a new script named PlayerSetup. In that script, delete the hello world line and write a descriptive comentar.
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 jogadorlocal function onPlayerJoin(player)endEm 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")endNomeie 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 = playerendApó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 = playerendPlayers.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.
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 = playerlocal gold = Instance.new("IntValue")endEm 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"endEm 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 = 0endTipo 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 = 0gold.Parent = leaderstatsendJogue 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.
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 Itenslocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendCrie 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 Spaceslocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendTeste 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)