Codifica la classifica

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

In gioco, il giocatore avrà statistiche importanti di cui ha bisogno per vedere come gli oggetti che ha raccolto.Questi numeri verranno visualizzati utilizzando una Classifica. Le classifiche sono funzionalità integrate di Roblox che hanno bisogno di uno script per essere attivate e personalizzate.

Configura la Classifica

Ogni volta che un giocatore viene aggiunto all'esperienza, dovrà essere aggiunto alla classifica insieme al codice per tracciare le statistiche individuali.

  1. Nell'esploratore, sotto ServerScriptService , crea un nuovo script con il nome PlayerSetup.Nell' script, elimina la linea hello world e scrivi un Commentaredescrittivo.

  2. Dopo il Commentare, crea una funzione personalizzata chiamata onPlayerJoin con un parametro chiamato Giocatore.


    -- Crea una classifica che mostra le variabili del giocatore
    local function onPlayerJoin(player)
    end
  3. In onPlayerJoin , crea una variabile chiamata leaderstats e fai in modo che crei una nuova Instanza di cartella .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Dai un nome alla nuova istanza Cartella, e affidala al Giocatore.Rinominare la cartella leaderstats fa in modo che Roblox Studio sappia creare una Classifica.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. Dopo la fine della funzione, connetti OnPlayerJoin al evento PlayerAdded.Ogni volta che un giocatore si unisce all'esperienza, a ciascun giocatore verrà fornita la Classifica.


    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)

Traccia le 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.
  • Spazi - Il maggior numero di oggetti che un giocatore può contenere contemporaneamente.

Ognuno di questi numeri sarà un IntValue, un oggetto placeholder per un numero.

Codice giocatore d'oro

Inizia a codificare uno stat per l'oro.

  1. In OnPlayerJoin , sotto leaderstats.Parent = player , digita 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 = player
    local gold = Instance.new("IntValue")
    end
  2. Successivamente, digita gold.Name = "Gold" . Questo dà un nome all'IntValue in modo che tu possa usarlo in altri script. Il nome verrà mostrato anche ai giocatori nella Classifica.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. Su una nuova linea, digita gold.Value = 0 . Questo imposta il valore iniziale per i giocatori.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Tipo gold.Parent = leaderstats . Questo genitori l'IntValue per l'oro a leaderstats. Se l'IntValue non è genitori a leaderstats, i giocatori non lo vedranno.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. Gioca al tuo progetto e nota che una classifica appare in alto a destra.

Suggerimenti per la risoluzione dei problemi

Se non vedi la Classifica, prova quanto Seguendo:

  • Assicurati che .Value sia in maiuscolo.
  • Assicurati che la variabile per l'IntValue sia parentizzata alla classifica come gold.Parent = leaderstats .

Oggetti e spazi del codice

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.

  1. Aggiungi una linea vuota per separare la prossima statistica, quindi crea la statistica dell'oggetto impostando un nuovo IntValue nello stesso modo in cui hai fatto per l'oro.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Crea la statistica degli elementi
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Crea una nuova statistica per gli spazi della borsa del Giocatore.Imposta spaces.Value a 2 in modo che i giocatori inizino l'esperienza solo essere in grado di tenere due oggetti contemporaneamente, incoraggiandoli ad acquistare una nuova borsa il più presto possibile.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Crea la statistica degli spazi
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Prova il progetto. I giocatori dovrebbero avere una classifica che mostra Oro, Oggetti e Spazi.

Se la classifica non appare, prova a controllare quanto segue.

  • Se non puoi vedere il numero nella Classifica, assicurati che ogni IntValue sia parented to leaderstats.
  • Assicurati che ogni IntValue sia spellato esattamente come mostrato
  • Assicurati che l'evento PlayerAdded sia in fondo allo script

Completa lo script di PlayerSetup

Una versione finale dello script può essere citata 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 su PlayerJoin quando si attiva l'evento PlayerAdded
Players.PlayerAdded:Connect(onPlayerJoin)