achievement_load_leaderboard()


ソーシャルゲーミング

achievement_load_leaderboard

すべてのプレイヤー、もしくはフレンドのみのリーダーボード情報を取得します

構文

achievement_load_leaderboard(ident, minindex, maxindex, filter)
ident
リーダーボードのユニークID
minindex
取得するリーダーボードの最小値
maxindex
取得するリーダーボードの最大値
filter
フレンドリストまたはすべてのプレイヤーの取得結果をフィルタリングするかどうか(下記の説明を参照)

戻り値

N/A
なし

説明

この関数は指定されたリーダーボードの詳細を取得するよう、サーバーに要求を送信します。リーダーボードは、開発者のダッシュボードにあらかじめ作成しておく必要があり、それにより生成されたIDを指定します。 この関数により、ソーシャル非同期イベントをトリガし、特別な変数"async_load"にds_map形式で結果が格納されます。 このds_mapの"id"は定数"achievement_leaderboard_info"と一致する必要があります。ds_mapの詳細については以下のとおりです。

  • id- この関数は定数"achievement_load_leaderboard"と一致しなければなりません
  • leaderboardid - ダッシュボードに定義されているリーダーボードのユニークなID
  • numentries - リーダーボードのエントリ数
  • PlayerN - プレイヤーの名前。"N"はエントリ番号
  • PlayeridN - ユーザのユニークなID。"N"はエントリ番号
  • RankN - プレイヤーのランク。"N"はエントリ番号
  • ScoreN - プレイヤーのスコア。"N"はエントリ番号

取得条件には最小値と最大値を指定するだけでなく、次のフィルタ定数を指定することで、フレンドのみ、またはすべてのプレイヤー、というフィルタを指定することが可能です

  • achievement_filter_friends_only - フレンドのみ
  • achievement_filter_all_players - すべてのプレイヤー

achievement_login()でログインをした後、AndroidとiOSのいずれかで以下のように分岐する処理を書くことで、フレンドのみのリーダーボードを取得することが可能です

if os_type == os_android
{
  achievement_load_leaderboard("CgkIs9_51u0PEAIQBw", 1, 100, achievement_filter_friends_only);
}
else
{
  achievement_load_leaderboard("leaderboard1id", 1, 100, achievement_filter_friends_only);
}

これは指定のリーダーボードに情報の要求を送信し、特別な変数"async_load"にds_map形式で格納するよう、非同期コールバックを生成します

var ident = ds_map_find_value(async_load, "id");
if ident == achievement_leaderboard_info
{
  var lbid = ds_map_find_value(async_load,"leaderboardid");
  if lbid == "CgkIs9_51u0PEAIQBw" || lbid == "leaderboard1id"
  {
    global.numentries = ds_map_find_value(async_load,"numentries";
    for(var i = 0; i < numentries; i++;)
    {
       global.playername[i] = ds_map_find_value(async_load, "Player" + string(i));
       global.playerid[i] = ds_map_find_value(async_load, "Playerid" + string(i));
       global.playerrank[i] = ds_map_find_value(async_load, "Rank" + string(i));
       global.playerscore[i] = ds_map_find_value(async_load, "Score" + string(i));
       achievement_get_pic(global.playerid[i]);
    }
  }
}

上記コードはソーシャル非同期イベントで返されたds_mapをチェックして、その"id"が一致するかどうかチェックして、リーダーボードIDを確認、その後、受信したリーダーボードの値が格納されたds_mapをループして値をグローバル変数に格納します。さらにそのユーザの画像を取得します(詳細はachievement_get_pic()を参照してください)

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 968
今日の訪問者: 1
昨日の訪問者: 1
閲覧者: 2