In gioco, il giocatore avrà importanti statistiche di cui hanno bisogno di vedere come gli oggetti che hanno raccolto. Questi numeri saranno visualizzati utilizzando una Classifica. Le classifiche sono funzionalità di Roblox che richiedono uno script per essere attivate e personalizzate.
Configurazione della classifica
Ogni volta che un giocatore viene aggiunto all'esperienza, dovrà essere aggiunto alla classifica insieme al codice per tracciare le statistiche individuali.
Nell'Explorer, sotto ServerScriptService , crea uno script nuovo chiamato PlayerSetup. In that script, elimina la linea di saluto e scrivi un Commentaredescrittivo.
Dopo il Commentare, crea una funzione personalizzata chiamata onPlayerJoin con un parametro chiamato Giocatore.
-- Crea una classifica che mostra le variabili del giocatorelocal function onPlayerJoin(player)endIn onPlayerJoin, crea una variabile chiamata leaderstats e fai in modo che crei una nuova istanza Folder .
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")endNome la nuova cartella istanza leaderstats , e affidarla al Giocatore. Nome della cartella leaderstats , Roblox Studio Studio sa di creare una Classifica.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendDopo la fine della funzione, connect OnPlayerJoin all'evento PlayerAdded. Quando un giocatore si unisce all'esperienza, ogni giocatore riceverà la Classifica.
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
Tracciamento delle statistiche del giocatore
Ora che una classifica è stata creata, deve mostrare al giocatore questi numeri:
- Oro - Quanto denaro ha il giocatore.
- Oggetti - Quanti oggetti il giocatore ha raccolto dal Mondo.
- Spaces - Il maggior numero di oggetti che un giocatore può contenere in un momento.
Ognuno di questi numeri sarà un IntValue, un oggetto placeholder per un numero.
Codice del giocatore d'oro
Inizia con il codice di una statistica per l'oro.
In OnPlayerJoin , sotto leaderstats.Parent = player , tipo local gold = Instance.new("IntValue") . Questo crea un nuovo IntValue e lo memorizza nella variabile gold.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")endSuccessivamente, digita gold.Name = "Gold" . Questo dà all'IntValue un nome in modo che tu possa usarlo in altri script. Il nome verrà anche mostrato ai giocatori nella Classifica.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"endSu una nuova linea, scrivi gold.Value = 0 . Questo imposta il valore di partenza per i giocatori.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endType gold.Parent = leaderstats . This parents the IntValue for gold to leaderstats. If the IntValue is not parented to leaderstats, players won't see it.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendGioca il tuo progetto e nota che una classifica appare nella parte superiore destra.
Risolvere i problemi
Se non vedi la Classifica, prova il Seguendo:
- Assicurati che .Value sia in grassetto.
- Assicurati che la variabile per IntValue sia parented a leaderboard come gold.Parent = leaderstats .
Codice oggetti e spazi
Ricorda che i nomi delle statistiche possono essere qualsiasi cosa basata sul documento di progettazione del gioco. In altre parole, "Items" può essere "Crystals" invece.
Aggiungi una linea vuota per separare la prossima statistica, quindi crea la statistica dell'elemento impostando un nuovo IntValue in modo da fare esattamente come hai fatto per l'oro.
local function onPlayerJoin(player)gold.Parent = leaderstats-- Crea la stat dei pulsantilocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendCrea una nuova statistica per le aree della borsa del Giocatore. Imposta spaces.Value su 2 in modo che i giocatori inizino l'esperienza in cui potranno tenere solo due oggetti alla volta, incoraggiandoli ad acquistare una nuova borsa non appena potranno.
local function onPlayerJoin(player)items.Parent = leaderstats-- Crea la stat Spaceslocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendProva il progetto. I giocatori dovrebbero avere una classifica che mostra oro, oggetti e spazi.
Se la classifica non appare, controlla i seguenti elementi.
- Se non riesci a vedere il numero nella Classifica, controlla che ogni IntValue sia parented a leaderstats.
- Assicurati che ogni IntValue sia scritto esattamente come mostrato
- Assicurati che l'evento PlayerAdded sia alla fine dello script
Completa lo script di PlayerSetup
Una versione finita dello script può essere riferita qui sotto.
local Players = game:GetService("Players")
-- Crea una classifica che mostra le variabili del giocatore
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
-- Esegui onPlayerJoin quando si attiva l'evento PlayerAdded
Players.PlayerAdded:Connect(onPlayerJoin)