Skor tabloları
Oyun sayfasında en iyi oyuncuların sonuçlarını ve giriş yapmış kullanıcının sıralamadaki konumunu içeren kişiselleştirilmiş skor tabloları gösterebilirsiniz.
Aşağıda açıklanan sorguların çalışabilmesi için koşulların karşılanıp karşılanmadığını kontrol edin:
- SDK'yı bağlanmış ve ayarlanmış olmalıdır ve nesnesi
ysdk
değişkeni aracılığıyla erişilebilirdir, - Geliştirici konsolunda skor tablosu oluşturulmuştur.
Dikkat
Konsol Skor tablosu teknik adı alanında uygun ada sahip bir skor tablosu yoksa, sorgular 404 hatası verir.
Skor tablosu açıklaması
Skor tablosu açıklamasını adına göre almak için ysdk.leaderboards.get_description()
yöntemini kullanın:
ysdk.leaderboards.get_description(
leaderboard_name: string,
callback: function
)
callback: function
— çağrılan yöntemin işleyicisi. Şu şekilde olur:
function(self, description: table|nil): nil
description: table
— lider tablosunun açıklaması. Şu özellikleri içerir:
description: {
app_id: string,
default: boolean,
invert_sort_order: boolean,
decimal_offset: integer,
type: string,
name: string,
title: {
en: string,
ru: string
}
}
Örnek
function display_leaderboard()
ysdk.leaderboards.get_description("highscores",
function (self, description)
if description then
print(
description.name,
description.title.en
)
end
end)
end
Yeni sonuç
Dikkat
Sadece yetkilendirilmiş kullanıcılar için bu istek geçerlidir. Gerekirse yetkilendirme işleminden faydalanın.
Oyuncunun yeni skorunu ayarlamak için ysdk.leaderboards.set_score()
yöntemini kullanın:
ysdk.leaderboards.set_score(
leaderboard_name: string,
score: integer,
extraData: string|nil
)
Not
Bir sorgu saniyede en fazla bir kez gönderilebilir. Aksi takdirde, bir hata ile reddedilir.
Puan alınması
Dikkat
Sorgu yalnızca yetkilendirilmiş kullanıcılar için kullanılabilir. Gerekirse yetkilendirme işleminden faydalanın.
Kullanıcı puanını almak için ysdk.leaderboards.get_player_entry()
yöntemini kullanın:
ysdk.leaderboards.get_player_entry(
leaderboard_name: string,
callback: function
)
callback: function
— çağrılan metodun işleyicisi. Şu şekildedir:
function(self, player_entry: table|nil): nil
player_entry: table
— kullanıcının sıralaması. Şu özellikleri içerir:
player_entry: {
score: integer,
extraData: string,
rank: integer,
avatar_src: {
small: string,
medium: string,
large: string,
},
avatar_srcset: {
small: string,
medium: string,
large: string,
},
lang: string,
public_name: string,
unique_id: string,
formatted_score: string
}
Örnek
function display_high_score()
ysdk.leaderboards.get_player_entry("highscores",
function (self, player_entry)
if player_entry then
print("highscore: " .. player_entry.score)
end
end)
end
Skor tablosu kayıtları
Kullanıcı sıralamasını çıkarmak için ysdk.leaderboards.get_entries()
yöntemini kullanın:
ysdk.leaderboards.get_entries(
leaderboardName: string,
callback: function,
options: {
include_user: boolean|nil,
quantity_around: number|nil,
quantity_top: number|nil
}
)
callback: function
— çağrılan metodun işleyicisi. Şu şekilde görünür:
function(self, entries: table|nil): nil
entries: table
— kullanıcı sıralaması. Şu özellikleri içerir:
entries: {
leaderboard: {
...
},
ranges: [
{
start: integer,
size: integer
}
],
userRank: integer,
entries: [
{
score: integer,
extraData: string,
rank: integer,
avatar_src: {
small: string,
medium: string,
large: string,
},
avatar_srcset: {
small: string,
medium: string,
large: string,
},
lang: string,
public_name: string,
unique_id: string,
formatted_score: string
},
...
]
}