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件

2019-11-16 2019-11-14 2019-09-27 2019-07-28 2019-07-12 2018-11-17 2017-11-07 2017-10-26 2017-10-01 2017-05-13 2016-10-01 2017-01-22 2017-01-14 2016-12-25 2016-10-09 2016-09-21 2016-08-29 2016-06-21 2016-02-23 2016-02-10 2016-01-18 2015-10-30 2015-10-20 2015-06-23 2015-06-20 2015-06-19

人気の10件

今日の10件



これまでの訪問者: 608
今日の訪問者: 1
昨日の訪問者: 0
閲覧者: 1