Deneyimli Liderler

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Roblox, kullanıcıların puanları, para birimi veya bir yarışta en hızlı zaman gibi bilgileri göstermenizi sağ eden lider tablosu sistemi ile geliyor.

Leaderboard Screen

Lider Listesi Oluşturuluyor

Lider tablosunu ayarlamak ve oyuncuları deneyime girdiğinde eklemek için:

  1. Yeni bir Script oluşturun ServerScriptService içinde ve ismini Leaderboard yapın.

    Leaderboard Insert Script
  2. İskilde, bir işlevi PlayerAdded etkinliğine bağlayın.


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    -- LeaderboardSetup() işlevini "PlayerAdded" etkinliğine bağla
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. Bağlantılı işlevin içinde, yeni bir Folder durumoluştur, ismini leaderstats ve ebeveynini oyuncuya at.


    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    -- LeaderboardSetup() işlevini "PlayerAdded" etkinliğine bağla
    Players.PlayerAdded:Connect(leaderboardSetup)

İstatistikler Ekleme

Lider tabloları, oyuncu istatistiklerini depolmak ve göstermek için değer tipi objeleri kullanır. Bu kript bir sayının altınını gösterir, bir sayının bir değiştirici olarak kullanılabilir.

In the leaderboardSetup() function, add lines 8 through 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
-- LeaderboardSetup() işlevini "PlayerAdded" etkinliğine bağla
Players.PlayerAdded:Connect(leaderboardSetup)

Bu satırlar takip edilenyapar:

  1. Bir IntValue instansı oluşturulur.

  2. İн스턴스'ın Name ı "Gold" olarak ayarlandı. Bu, istatistiklerin liderlik tablosunasıl görüneceğini gösteren aynı şekilde ayarlanır.

    Leaderboards Name Column
  3. İstatistik'in ilk Value``0 olarak ayarlandı. Bu, istediğiniz herhangi bir değeri, hatta bir veri depolarında depolanmış bir değeri içerebilir.

  4. Instan스, leaderstats klasmanına eklenen leaderstats liderlik tablosubağlıdır. Bir oyuncu deneyime girdiğinde, ismi tahtada görünür.

    Leaderboards Multiple Players

İstatistikleri Güncelliyor

Bir oyuncunun lider tablosu istatistikini güncelleme için, o istatistik içindeki Value özelliğini leaderstats dizinindeki Script ile bir takıp nesneye bağlayabilirsiniz. Örneğin, oyuncunun topladığı 2>Altın2> değerini artırmak için 5>Class.Script5>


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
-- Toplama'yı yok et
goldChunk:Destroy()
-- oyunculider tablosu stat'ını güncelle
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)

İstatistikleri Sıralama

Bir liderlik tablosuistatistiklerin sırasını kontrol etmenin üç yolu vardır:

  • Görünmesini istediğiniz sırayla istatistikleri ekleyin.
  • Bir çocuk BoolValue adında IsPrimary stat'ı ekleyin ve değerini true olarak ayarlayın, böylece stat'ı liderlik tablosuilk sıraya yerleştirin.
  • Bir çocuk ekleyin Class.NumberValue``Priority İstatistik'e isimlendirilmiş Değer İstatistik'e bir sayı olarak ayarlanır. İstatistiklerin bir önceliği yoksa, önceliksiz sayıların varsayılan önceliği 0'dır.

Bu kod örneği, bir istatistikte bir IsPrimary değeri nasıl ekleyeceğinizi gösterir:


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)

Lider Listesini Gizleme

liderlik tablosugizlemek, menü ekranında veya bir cutscene sırasında gibi, LocalScript ile içine yerleştir. StarterGui veya StarterPlayerScripts ile, 2> Class.StarterGui:SetCoreGuiEnabled()|StarterGui2> içinde bir çağrı yer alan.


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