Sıralamalar

*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'un PlayerList'te yerleşik bir sıralama sistemi vardır. Burada, Arkadaşlar ve Küresel bu aynı listenin görünümleridir: Burada, mevcut sunucudaki oyuncular için oturum sıralamalarını gösterir ve Arkadaşlar ile Küresel, Creator Hub'da kaydettiğiniz sıralı bir veri deposundan gelen kalıcı sıralamaları gösterir.

Sıralama Ekranı

Sıralama görünümleri

PlayerList, bu görünümler arasında puanları karşılaştırır:

GörünümSıralamalar
BuradaMevcut sunucudaki oyuncular için leaderstats'dan gelen oturum sıralamaları.
ArkadaşlarDeneyimi oynamış bir oyuncunun arkadaşları arasındaki kalıcı sıralamalar.
KüreselDeneyimdeki oyuncular arasındaki kalıcı sıralamalar.

Burada'yı doldurmak için leaderstats kullanın. Arkadaşlar ve Küresel'i doldurmak için sıralı bir veri deposu kullanın.

Leaderstats ile oturum sıralamalarını yönetme

Her oyuncuda bulunan bir leaderstats klasörü Burada görünümünü yönlendirir. Aşağıdaki adımlar, o klasörü kurar, istatistik ekler, oturum sırasında günceller, sıralarını kontrol eder ve PlayerList'i gizler.

Leaderstats'ı ayarlama

Sıralamayı ayarlamak ve oyuncuları deneyime girdiklerinde eklemek için:

  1. ServerScriptService içinde yeni bir Script oluşturun ve adını Leaderboard koyun.

    Sıralama Ekleme Scripti
  2. Script içinde, PlayerAdded olayına bir fonksiyon bağlayın.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. Bağlı fonksiyonun içinde, yeni bir Folder örneği oluşturun, adını leaderstats koyun ve oyuncuya ebeveyn olarak atayın.

    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)

İstatistik ekleme

Sıralamalar, oyuncu istatistiklerini depolamak ve görüntülemek için değer türü nesneleri kullanır. Bu script, bir oyuncunun altınını IntValue kullanarak gösterir; bu, bir tam sayı için bir yer tutucudur.

leaderboardSetup() fonksiyonuna 8 ile 11. satırları ekleyin:

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)

Bu satırlar aşağıdakileri gerçekleştirir:

  1. Bir IntValue örneği oluşturulur.

  2. Örneğin Name değeri "Gold" olarak ayarlanır. Bu, istatistiğin sıralamada nasıl görüneceğidir.

    Sıralamada 'Gold' istatistik adı
  3. İstatistiğin başlangıç Value değeri 0 olarak ayarlanır. Bunu istediğiniz herhangi bir değere ayarlayabilirsiniz; bu, veri deposunda saklanan bir değer de olabilir, eğer kalıcı sıralamalar uyguluyorsanız.

  4. Örnek, leaderstats klasörüne ebeveyn olarak atanır ve bu, onu sıralamaya ekler. Bir oyuncu deneyime girdiğinde, adı tahtada görünür.

    Sıralamada birden fazla oyuncu

İstatistikleri güncelleme

Bir oyuncunun sıralama istatistiğini güncellemek için, o istatistiğin leaderstats klasörü içindeki Value özelliğini değiştirin. Örneğin, aşağıdaki Script'i herhangi bir toplama nesnesine ekleyerek, onu toplayan oyuncunun Gold istatistiğini artırabilirsiniz.

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
-- Toplamayı yok et
goldChunk:Destroy()
-- Oyuncunun sıralama istatistiğini güncelle
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)

İstatistikleri sıralama

Bir sıralamadaki istatistiklerin sırasını kontrol etmenin üç yolu vardır:

  • İstatistikleri görünmek istediğiniz sırayla ekleyin.
  • İstatistiğe IsPrimary adında bir çocuk BoolValue ekleyin ve değerini true olarak ayarlayın; bu, istatistiği sıralamada ilk sıraya yerleştirir.
  • İstatistiğe Priority adında bir çocuk NumberValue ekleyin ve değerini bir tam sayı olarak ayarlayın. Daha yüksek öncelik değerleri sıralamada daha önce görünür. Önceliği olmayan istatistiklerin varsayılan önceliği 0'dır.

Bu kod örneği, bir istatistiğe IsPrimary değeri eklemeyi 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)

Sıralamayı gizleme

Sıralamayı gizlemek için, örneğin bir menü ekranında veya bir kesit sırasında, LocalScript'i StarterGui veya StarterPlayerScripts içinde yerleştirerek StarterGui çağrısını içeren bir script oluşturun.

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

Kalıcı sıralamaları sıralı bir veri deposu ile yönetme

Arkadaşlar ve Küresel, Creator Hub'da kaydettiğiniz bir sıralı veri deposundan puanları okur. Sıralı veri deposu, gerçeğin kaynağı olmaya devam eder ve Roblox, yapılandırılmış puanları PlayerList'te gösterir. Bu, ayrı bir sıralama arayüzü veya sıralama hizmeti oluşturmadan kalıcı sosyal ve küresel sıralamalar eklemenizi sağlar.

İlk beta, her deneyim için bir aktif kalıcı sıralama destekler. Sadece kaydedilmiş, aktif bir sıralama Arkadaşlar ve Küresel görünümlerinde görünür.

Veri gereksinimleri

Bir sıralamayı kaydetmeden önce, verilerinin bu gereksinimleri karşıladığından emin olun:

  • Sıralamayı destekleyen tek bir sıralı veri deposu vardır.
  • Her oyuncunun o sıralı veri deposunda bir sayısal puanı vardır.
  • Her anahtar, bir oyuncuyu kullanıcı kimliği ile tanımlar; bu ya doğrudan ya da kullanıcı kimliğini içeren tutarlı bir formatla yapılır.
  • Deneyiminiz, sıralı veri deposuna puan güncellemeleri yazar. Platform puanları okur ama yazmaz.
  • Puan yazma mantığınız sunucuda çalışır.

Sıralı veriyi hazırlama

Deneyiminizin mevcut puanları nasıl depoladığına uygun yolu seçin.

Mevcut bir sıralı veri deposunu kullanma

Eğer deneyiminiz zaten uyumlu bir sıralı veri deposunda sıralama puanlarını depoluyorsa, o veri deposunu koruyun ve Creator Hub'da kaydedin. Her girişin sayısal bir puan içerdiğinden ve anahtarının bir oyuncuyu tutarlı bir şekilde tanımladığından emin olun.

Sıralama verilerini yeniden oluşturmanıza veya ayrı bir sıralama hizmetine kopyalamanıza gerek yoktur.

Sıralı bir veri deposu oluşturma

Eğer zaten sıralama veriniz yoksa, bir sıralı veri deposu oluşturun ve mevcut sunucu tarafı puanlama akışınıza ekleyin. Her oyuncu için bir sayısal puan yazın ve oyuncunun kullanıcı kimliğini anahtar olarak kullanın veya kullanıcı kimliğini tutarlı bir anahtar formatında dahil edin.

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

Veri deposunu Creator Hub'da kaydetmeden önce puanların mevcut olduğundan emin olun. Kalıcı değerleri depolama ve sıralama hakkında daha fazla bilgi için sıralı veri depolarına bakın.

Başka bir arka uçtan puanları taşıma

Eğer standart bir veri deposu, harici bir veritabanı veya başka bir arka uç sıralama verilerinizi depoluyorsa, görüntülemek istediğiniz puanları sıralı bir veri deposuna taşıyın. Her oyuncu için bir sayısal puanı koruyun ve oyuncuyu tanımlayan tutarlı bir anahtar formatı kullanın.

Taşımadan sonra, yeni puan değişikliklerinin sıralı veri deposuna ulaşmaya devam etmesi için puanlama akışınızı güncelleyin.

Creator Hub'da bir sıralama yapılandırma

Başlamadan önce, deneyiminizin sıralı veri deposuna geçerli puanlar yazdığından emin olun.

  1. Creator Hub'u açın.
  2. Sıralı veri deposuna sahip deneyimi seçin.
  3. Sıralama puanlarınızı içeren sıralı veri deposunu kaydedin.
  4. Deneyim için sıralamayı etkinleştirin.
  5. Sıralamanın aktif olduğunu doğrulayın.
  6. Deneyim içindeki sıralamayı test edin ve puanların beklendiği gibi göründüğünü doğrulayın.

Bir sıralamanın devre dışı bırakılması, oyunculardan gizler ancak sıralı veri deposunu veya puanları silmez.

Creator Hub'daki bir deneyim için Sıralama sayfası, bir sıralama yapılandırma butonu ile.
Creator Hub'daki Sıralama sayfasından sıralama yapılandırmalarını oluşturun ve yönetin.

Arkadaşlar ve Küresel görünümleri test etme

Zaten puan girişleri olan oyuncularla test edin.

  1. Kaydedilmiş bir puana sahip bir oyuncu olarak deneyime katılın.
  2. Deneyim içindeki sıralamayı açın.
  3. Arkadaşlar'ı seçin ve uygun arkadaşların beklenen puanlarla göründüğünü doğrulayın.
  4. Küresel'i seçin ve oyuncunun beklenen sıralama ve puanla göründüğünü doğrulayın.
  5. Oyuncunun puanını mevcut sunucu tarafı iş akışınızla güncelleyin.
  6. Sıralamanın güncellenmiş değeri yansıttığını doğrulayın.
Deneyim içindeki kalıcı sıralamayı gösteren oyuncu sıraları, adları ve puanları.
Deneyim içindeki sıralamada kalıcı sıralamaları doğrulayın.

Puanları yönetme

Sıralı veri deposu iş akışınız aracılığıyla puanları güncellemeye, düzeltmeye ve denetlemeye devam edin. Creator Hub, hangi sıralamanın aktif olduğunu kontrol eder, ancak puan yazma veya denetleme mantığınızı değiştirmez.

Puan yazımlarını sunucu tarafı doğrulaması ile koruyun ve şüpheli veya imkansız değerleri oyuncu sıralamalarını etkilemeden önce gözden geçirin.

SSS

Hayır. Eğer puanlar zaten uyumlu bir sıralı veri deposunda ise, o veri deposunu Creator Hub'da kaydedin.

Görüntülemek istediğiniz puanları sıralı bir veri deposuna taşıyın, ardından Creator Hub'da kaydedin.

Siz. Sıralı veri deposu gerçeğin kaynağı olmaya devam eder ve sunucu tarafı iş akışınız puanları güncellemeye ve denetlemeye devam eder.

İlk beta, her deneyim için bir aktif kalıcı sıralama destekler.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.