Classifiche in-experience

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

Roblox ha un sistema di classifica integrato che ti consente di visualizzare le informazioni sull'utente come punteggi, Monetao il tempo più veloce in una gara .

Leaderboard Screen

Configura la Classifica

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

  1. Crea un nuovo Script dentro ServerScriptService e nominalo Classifica .

    Leaderboard Insert Script
  2. Nell' script, connetti una funzione all'evento PlayerAdded .


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    -- Connetti la funzione "leaderboardSetup()" all'evento "PlayerAdded"
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. All'interno della funzione connessa, crea una nuova esempioFolder, nominala leaderstats e affidala al Giocatore.


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    -- Connetti la funzione "leaderboardSetup()" all'evento "PlayerAdded"
    Players.PlayerAdded:Connect(leaderboardSetup)

Aggiungi statistiche

Le classifiche utilizzano oggetti di tipo valore per memorizzare e visualizzare le statistiche del giocatore.Questo script mostrerà l'oro di un Giocatoreusando un IntValue , un segnaposto per un Integro.

Nella funzione leaderboardSetup(), aggiungi le linee 8 attraverso 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
-- Connetti la funzione "leaderboardSetup()" all'evento "PlayerAdded"
Players.PlayerAdded:Connect(leaderboardSetup)

Queste linee compiono quanto Seguendo:

  1. Viene creata un'istanza IntValue .

  2. L'esempiodi Name è impostata su "Gold". Questo è esattamente il modo in cui la statistica apparirà nella Classifica.

    Leaderboards Name Column
  3. La statistiche iniziale Value è impostata su 0 .Questo può essere impostato a qualsiasi valore desideri, incluso un valore memorizzato in un archiviazione dati persistente se stai implementando classifiche persistenti.

  4. L'istanza è parentizzata alla cartella leaderstats che la aggiunge alla Classifica.Quando un giocatore entra nell'esperienza, il suo nome appare sulla bacheca.

    Leaderboards Multiple Players

Aggiorna le statistiche

Per aggiornare la statistica della classifica di un Giocatore, modifica la proprietà Value della statistica all'interno della loro cartella leaderstats.Ad esempio, puoi allegare il seguente Script a qualsiasi oggetto di raccolta per aumentare lo stato Oro 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)

Statistiche degli ordini

Esistono tre modi per controllare l'ordine delle statistiche in una Classifica:

  • Aggiungi le statistiche nell'ordine in cui vuoi che appaiono.
  • Aggiungi un figlio BoolValue chiamato IsPrimary al stat e imposta il suo valore a true per posizionare il stat per primo nella Classifica.
  • Aggiungi un figlio NumberValue chiamato Priority con il valore a un intero alla statistica e imposta il suo valore a un Integro.I valori di priorità più elevati appaiono prima nella Classifica.Le statistiche senza priorità hanno una priorità predefinita di 0.

Questo esempio di codice mostra come aggiungere un valore IsPrimary a uno stat:


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, come su uno schermo del menu o durante una scena di taglio, 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)