Classifiche

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

Roblox ha una classifica integrata nella PlayerList. Qui, Amici e Globale sono visualizzazioni di quella stessa lista: Qui mostra le classifiche di sessione per i giocatori nel server attuale, mentre Amici e Globale mostrano classifiche persistenti da un data store ordinato che registri nel Creator Hub.

Schermata della Classifica

Visualizzazioni della classifica

La PlayerList confronta i punteggi attraverso queste visualizzazioni:

VisualizzazioneClassifiche
QuiClassifiche di sessione per i giocatori nel server attuale, da leaderstats.
AmiciClassifiche persistenti tra gli amici di un giocatore che hanno giocato all'esperienza.
GlobaleClassifiche persistenti tra i giocatori nell'esperienza.

Usa leaderstats per popolare Qui. Usa un data store ordinato per popolare Amici e Globale.

Gestisci le classifiche di sessione con leaderstats

Una cartella leaderstats su ogni giocatore alimenta la visualizzazione Qui. I seguenti passaggi impostano quella cartella, aggiungono statistiche, le aggiornano durante una sessione, controllano il loro ordine e nascondono la PlayerList.

Imposta leaderstats

Per impostare la classifica e aggiungere i giocatori quando entrano nell'esperienza:

  1. Crea un nuovo Script all'interno di ServerScriptService e chiamalo Leaderboard.

    Inserisci Script della Classifica
  2. Nello script, collega una funzione all'evento PlayerAdded.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. All'interno della funzione collegata, crea una nuova istanza di Folder, chiamala leaderstats e impostala come genitore del giocatore.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    Players.PlayerAdded:Connect(leaderboardSetup)

Aggiungi statistiche

Le classifiche utilizzano oggetti di tipo valore per memorizzare e visualizzare le statistiche dei giocatori. Questo script mostra l'oro di un giocatore utilizzando un IntValue, un segnaposto per un intero.

Nella funzione leaderboardSetup(), aggiungi le righe da 8 a 11:

local Players = game:GetService("Players")
local function leaderboardSetup(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
end
Players.PlayerAdded:Connect(leaderboardSetup)

Queste righe realizzano quanto segue:

  1. Viene creata un'istanza di IntValue.

  2. Il Name dell'istanza è impostato su "Gold". Questo è esattamente come la statistica apparirà sulla classifica.

    Nome della statistica 'Gold' mostrato sulla classifica
  3. Il valore iniziale di Value della statistica è impostato su 0. Imposta questo su qualsiasi valore desideri, incluso un valore memorizzato in un data store se stai implementando classifiche persistenti.

  4. L'istanza è impostata come genitore della cartella leaderstats, il che la aggiunge alla classifica. Quando un giocatore entra nell'esperienza, il suo nome appare sulla bacheca.

    Più giocatori mostrati sulla classifica

Aggiorna statistiche

Per aggiornare la statistica della classifica di un giocatore, modifica la proprietà Value di quella statistica all'interno della sua cartella leaderstats. Ad esempio, puoi collegare il seguente Script a qualsiasi oggetto di raccolta per aumentare la statistica Gold del giocatore che lo raccoglie.

local Players = game:GetService("Players")
local goldChunk = script.Parent
local function onPartTouch(otherPart)
local partParent = otherPart.Parent
local player = Players:GetPlayerFromCharacter(partParent)
local leaderstats = player and player:FindFirstChild("leaderstats")
local goldStat = leaderstats and leaderstats:FindFirstChild("Gold")
if goldStat then
-- Distruggi il pickup
goldChunk:Destroy()
-- Aggiorna la statistica della classifica del giocatore
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)

Ordina le statistiche

Ci sono tre modi per controllare l'ordine delle statistiche in una classifica:

  • Aggiungi le statistiche nell'ordine in cui desideri che appaiano.
  • Aggiungi un valore figlio BoolValue chiamato IsPrimary alla statistica e imposta il suo valore su true per posizionare la statistica per prima nella classifica.
  • Aggiungi un valore figlio NumberValue chiamato Priority alla statistica e imposta il suo valore su un intero. Valori di priorità più elevati appaiono prima nella classifica. Le statistiche senza priorità hanno una priorità predefinita di 0.

Questo campione di codice mostra come aggiungere un valore IsPrimary a una statistica:

local Players = game:GetService("Players")
local function leaderboardSetup(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 isPrimary = Instance.new("BoolValue")
isPrimary.Name = "IsPrimary"
isPrimary.Value = true
isPrimary.Parent = gold
end
Players.PlayerAdded:Connect(leaderboardSetup)

Nascondi la classifica

Per nascondere la classifica, ad esempio su uno schermo di menu o durante una scena, posiziona un LocalScript all'interno di StarterGui o StarterPlayerScripts contenente una chiamata a StarterGui.

local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)

Gestisci le classifiche persistenti con un data store ordinato

Amici e Globale leggono i punteggi da un data store ordinato che registri nel Creator Hub. Il data store ordinato rimane la fonte di verità, e Roblox visualizza i punteggi configurati nella PlayerList. Questo ti consente di aggiungere classifiche sociali e globali persistenti senza costruire un'interfaccia di classifica separata o un servizio di ranking.

La beta iniziale supporta una sola classifica persistente attiva per esperienza. Solo una classifica registrata e attiva appare nelle visualizzazioni Amici e Globale.

Requisiti dei dati

Prima di registrare una classifica, conferma che i suoi dati soddisfino questi requisiti:

  • Un singolo data store ordinato supporta la classifica.
  • Ogni giocatore ha un punteggio numerico in quel data store ordinato.
  • Ogni chiave identifica un giocatore tramite l'ID utente, direttamente o attraverso un formato coerente che include l'ID utente.
  • La tua esperienza scrive aggiornamenti di punteggio nel data store ordinato. La piattaforma legge i punteggi ma non li scrive.
  • La tua logica di scrittura dei punteggi viene eseguita sul server.

Prepara i dati ordinati

Scegli il percorso che corrisponde a come la tua esperienza memorizza attualmente i punteggi.

Usa un data store ordinato esistente

Se la tua esperienza memorizza già i punteggi della classifica in un data store ordinato compatibile, mantieni quel data store e registralo nel Creator Hub. Conferma che ogni voce contenga un punteggio numerico e che la sua chiave identifichi coerentemente un giocatore.

Non è necessario ricostruire i dati della classifica o copiarli in un servizio di ranking separato.

Crea un data store ordinato

Se non hai già dati della classifica, crea un data store ordinato e aggiungilo al tuo flusso di punteggio esistente sul server. Scrivi un punteggio numerico per ogni giocatore e usa l'ID utente del giocatore come chiave o includi l'ID utente in un formato di chiave coerente.

local DataStoreService = game:GetService("DataStoreService")
local playerScores = DataStoreService:GetOrderedDataStore("PlayerScores")
local function saveScore(player, score)
local success, errorMessage = pcall(function()
playerScores:SetAsync(tostring(player.UserId), score)
end)
if not success then
warn(errorMessage)
end
end

Verifica che i punteggi siano presenti prima di registrare il data store nel Creator Hub. Per ulteriori informazioni su come memorizzare e ordinare valori persistenti, consulta data store ordinati.

Migra i punteggi da un altro backend

Se un data store standard, un database esterno o un altro backend memorizza i tuoi dati della classifica, migra i punteggi che desideri visualizzare in un data store ordinato. Preserva un punteggio numerico per giocatore e utilizza un formato di chiave coerente che identifichi il giocatore.

Dopo la migrazione, aggiorna il tuo flusso di punteggio in modo che le nuove modifiche ai punteggi continuino a raggiungere il data store ordinato.

Configura una classifica nel Creator Hub

Prima di iniziare, conferma che la tua esperienza scriva punteggi validi nel data store ordinato.

  1. Seleziona l'esperienza che possiede il data store ordinato.
  2. Registra il data store ordinato che contiene i punteggi della tua classifica.
  3. Abilita la classifica per l'esperienza.
  4. Conferma che la classifica sia attiva.
  5. Testa la classifica in esperienza e verifica che i punteggi appaiano come previsto.

Disattivare una classifica la nasconde dai giocatori ma non elimina il suo data store ordinato o i punteggi.

La pagina della Classifica per un'esperienza nel Creator Hub, con un pulsante Crea per configurare una classifica.
Crea e gestisci le configurazioni della classifica dalla pagina della Classifica nel Creator Hub.

Testa le visualizzazioni Amici e Globale

Testa con giocatori che hanno già voci di punteggio.

  1. Unisciti all'esperienza come un giocatore con un punteggio salvato.
  2. Apri la classifica in esperienza.
  3. Seleziona Amici e conferma che gli amici idonei appaiano con i punteggi previsti.
  4. Seleziona Globale e conferma che il giocatore appaia con il rango e il punteggio previsti.
  5. Aggiorna il punteggio del giocatore attraverso il tuo flusso esistente sul server.
  6. Conferma che la classifica rifletta il valore aggiornato.
Una classifica persistente in esperienza che mostra i ranghi, i nomi e i punteggi dei giocatori.
Verifica le classifiche persistenti nella classifica in esperienza.

Gestisci i punteggi

Continua ad aggiornare, correggere e moderare i punteggi attraverso il tuo flusso di lavoro del data store ordinato. Il Creator Hub controlla quale classifica è attiva, ma non sostituisce la tua logica di scrittura o moderazione dei punteggi.

Proteggi le scritture dei punteggi con la validazione lato server e rivedi valori sospetti o impossibili prima che influenzino i ranghi dei giocatori.

FAQ

No. Se i punteggi sono già in un data store ordinato compatibile, registra quel data store nel Creator Hub.

Migra i punteggi che desideri visualizzare in un data store ordinato, quindi registralo nel Creator Hub.

Sei tu. Il data store ordinato rimane la fonte di verità e il tuo flusso di lavoro lato server continua ad aggiornare e moderare i punteggi.

La beta iniziale supporta una sola classifica persistente attiva per esperienza.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.