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.
No Explorador, em ServerScriptService , crie um novo script chamado PlayerSetup. Nesse script, exclua a linha hello world e escreva um comentardescritivo.
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 jogadorlocal function onPlayerJoin(player)endEm 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")endNomeie 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 = playerendApó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 = playerendPlayers.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.
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 = 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 = 0endDigite 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 = 0gold.Parent = leaderstatsendJogue 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.
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 itenslocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendCrie 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çoslocal 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, 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)