現在のチャレンジの情報取得を要求します
achievement_get_challenges()
この関数は、すべての現在のチャレンジについて、サーバに要求を送信し、非同期用変数"async_load"にキーと値のマップに結果を格納するよう、Social非同期イベントをトリガします。 このds_mapの"id"キーはコールバックを適切に判断するために使用します。定数の値は定数"achievement_challenge_list_received"となります。これ以外の値であれば別の非同期イベントとなります。 マップの正確な内容は以下のとおりです。
この関数はiOSのみ有効です
achievement_login()でログインをした後、以下の関数によりチャレンジ情報を取得します
achievement_get_challenges();
これは、現在のチャレンジ情報を求める要求を送り、特別な変数"async_load"にds_map形式で結果を格納する非同期イベントを開始します
var ident = ds_map_find_value(async_load, "id"); if ident == achievement_challenge_list_received { var numentries = ds_map_find_value(async_load,"numchallenges"); for(var i = 0; i < numentries; i++;) { player_id[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"playerid"); issuer_id[i] = ds_map_find_value(async_load, "Challenge" + string(i) +"issuerid"); state[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"state"); message[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"message"); date_completed[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"completeddate"); date_issued[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"issueddate"); ach_type[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"type"); ach_ident[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"identifier"); ach_score[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"score"); }
上記コードは、ソーシャル非同期イベントにより返されたds_mapをチェックして、 "id"が一致したらその結果の配列値をループで取得します。 その後、この情報はゲーム内でプレイヤーの情報ページを作成するために使用できます