Xbox Live 플레이어 리더보드 읽기

이 문서는 Xbox Live의 리더보드 정보를 특정 사용자 이름에 대해 읽어오는 함수에 대해 설명합니다. 리더보드는 게임의 XDP 대시보드에서 미리 생성되어 있어야 하며, 이 함수를 호출하면 관련된 키/값 쌍으로 채워진 async_load 맵을 포함하는 비동기 이벤트 콜백이 트리거됩니다.

주요 내용

반환되는 데이터 구조

콜백에서 반환되는 데이터는 다음과 같은 키를 포함하는 DS 맵입니다:

설명
"id" 이 함수의 경우 achievement_leaderboard_info여야 합니다.
"leaderboardid" 제공자 대시보드에서 정의된 리더보드의 고유 ID입니다.
"numentries" 수신한 리더보드 항목의 수입니다.
"PlayerN" 플레이어의 이름, 여기서 "N"은 리더보드 항목 내 위치를 나타내는 정수입니다.
"PlayeridN" 플레이어의 고유 사용자 ID입니다.
"RankN" 리더보드 내에서 플레이어 "N"의 순위입니다.
"ScoreN" 플레이어 "N"의 점수입니다.

필터 상수

함수를 호출할 때 필터 속성을 설정하기 위해 다음 상수 중 하나를 제공해야 합니다:

상수 설명
xboxlive_achievement_filter_all_players 모든 점수를 가져옵니다.
xboxlive_achievement_filter_friends_only 친구의 점수만 가져옵니다 (오름차순).
xboxlive_achievement_filter_favorites_only 즐겨찾기 점수만 가져옵니다 (오름차순).
xboxlive_achievement_filter_friends_alt 친구의 점수만 가져옵니다 (내림차순).
xboxlive_achievement_filter_favorites_alt 즐겨찾기 점수만 가져옵니다 (내림차순).

함수 구문

xboxlive_read_player_leaderboard(leaderboard_name, user_name, num_items, friend_filter);

인수 설명

인수 유형 설명
leaderboard_name String XDP에서 설정한 리더보드의 이름입니다.
user_name Xbox User ID 읽어올 사용자의 ID입니다.
num_items Real 검색할 항목의 수입니다.
friend_filter Xbox Live Achievement Filter Constant 필터 상수 중 하나입니다.

예제 코드

다음은 사용자 ID를 가져오고, 이를 사용하여 지정된 리더보드의 상위 10개 플레이어 데이터를 요청하는 코드입니다:

var _user = xboxlive_user_for_pad(0);
var _uid = xboxlive_user_id_for_user(_user);
xboxlive_read_player_leaderboard("MyLeaderboard", _uid, 10, achievement_filter_all_players);

이 코드는 주어진 리더보드의 첫 10개 플레이어에 대한 모든 데이터를 요청합니다.