Xbox Live 리더보드 정보 로드 함수
이 문서에서는 Xbox Live 리더보드 정보를 서버에서 요청하는 함수에 대해 설명합니다. 이 함수는 게임의 개발자 대시보드에서 미리 생성된 리더보드에 대한 정보를 가져옵니다. 함수의 첫 번째 인자로는 리더보드의 ID를 제공해야 합니다. 이 함수는 관련된 키/값 쌍으로 채워진 async_load
맵을 포함하는 콜백을 트리거합니다.
주요 내용
리더보드 정보는 다음과 같은 키를 포함하는 DS 맵으로 반환됩니다:
키 | 설명 |
---|---|
"id" | 이 함수의 경우 xboxlive_achievement_leaderboard_info 여야 합니다. |
"leaderboardid" | 제공자 대시보드에서 정의된 리더보드의 고유 ID입니다. |
"numentries" | 수신한 리더보드 항목의 수입니다. |
"PlayerN" | 플레이어의 이름, 여기서 "N"은 리더보드 항목 목록 내의 위치에 해당하는 정수 값입니다. |
"PlayeridN" | 플레이어의 고유 사용자 ID입니다. |
"RankN" | 리더보드 내에서 플레이어 "N"의 순위입니다. |
"ScoreN" | 플레이어 "N"의 점수입니다. |
필터링 옵션
리더보드의 특정 부분을 표시하려면 최소 및 최대 인덱스 값을 지정할 수 있으며, 친구의 점수만 가져오거나 모든 플레이어의 점수를 가져오도록 결과를 필터링할 수 있습니다. 필터 상수는 다음과 같습니다:
상수 | 설명 |
---|---|
xboxlive_achievement_filter_friends_only |
친구의 점수만 가져옵니다. |
xboxlive_achievement_filter_all_players |
모든 플레이어의 점수를 가져옵니다. |
함수 문법
xboxlive_achievement_load_leaderboard(ident, minindex, maxindex, filter)
인수 설명
인수 | 유형 | 설명 |
---|---|---|
ident | String | 개발자 대시보드에 표시된 리더보드의 고유 ID입니다. |
minindex | Real | 리더보드 데이터 가져오기를 시작할 인덱스 값입니다. |
maxindex | Real | 리더보드 데이터 가져오기를 위한 최대 인덱스 값입니다. |
filter | Xbox Live Achievement Filter Constant | 친구 목록에 있는 점수 또는 모든 플레이어의 점수를 필터링할지 여부입니다. |
반환 값
N/A
확장 예제
다음 코드는 플레이어가 게임 계정에 로그인한 후 친구의 리더보드 위치 목록을 가져오기 위해 호출될 수 있습니다:
xboxlive_achievement_load_leaderboard("CgkIs9_51u0PEAIQBw", 1, 100, xboxlive_achievement_filter_friends_only);
이 코드는 주어진 리더보드에 대한 정보를 요청하고, 특별한 async_load
DS 맵을 포함하는 비동기 콜백을 생성합니다.
var ident = ds_map_find_value(async_load, "id");
if (ident == xboxlive_achievement_leaderboard_info) {
var lbid = ds_map_find_value(async_load, "leaderboardid");
||
|---|
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));
}
}
}
위 코드는 반환된 DS 맵을 확인하고, "id"가 확인된 상수와 일치하는지 확인한 후, 리더보드가 원래 함수 호출과 일치하는지 확인합니다. 그 후 맵을 반복하여 다양한 값을 여러 배열에 저장합니다.