Xbox Live 매치메이킹 세션 사용자 가져오기
이 문서는 Xbox Live 매치메이킹 세션에서 사용자의 정보를 가져오는 함수에 대해 설명합니다. 이 함수는 지정된 세션의 사용자 세부 정보를 포함하는 DS 맵을 생성하고 채웁니다. 오류가 발생하면 -1을 반환합니다. 세션 ID 포인터는 세션을 생성하거나 찾을 때 반환된 비동기 로드 DS 맵에서 얻을 수 있습니다.
반환되는 DS 맵의 키/값 쌍
키 | 설명 |
---|---|
num_results | 세션에 있는 사용자 수를 포함합니다. |
userId |
사용자 ID를 포함합니다. ( |
userIsOwner |
사용자가 호스트인 경우 1, 그렇지 않으면 0을 포함합니다. ( |
구문
xboxlive_matchmaking_session_get_users(session_id);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
session_id | 포인터 | 사용할 세션 ID 포인터입니다. |
반환값
- 비동기 요청 ID
예제
다음 코드는 매치메이킹 세션에 참여하는 모든 사용자의 데이터를 가져오고, 세션 소유자의 ID를 전역 변수에 설정합니다.
var session_map = xboxlive_matchmaking_session_get_users(global.SessionID);
if (session_map != -1) {
for (var i = 0; i < session_map[? "num_results"]; i++) {
if (session_map[? "userIsOwner" + string(i)] == 1) {
global.OwnerID = session_map[? "userId" + string(i)];
}
}
}
활용 예제
- 사용자 목록 출력하기
gml var session_map = xboxlive_matchmaking_session_get_users(global.SessionID); if (session_map != -1) { for (var i = 0; i < session_map[? "num_results"]; i++) { show_message("User ID: " + string(session_map[? "userId" + string(i)])); } }
- 호스트가 아닌 사용자 ID 저장하기
gml var session_map = xboxlive_matchmaking_session_get_users(global.SessionID); if (session_map != -1) { var non_owner_ids = []; for (var i = 0; i < session_map[? "num_results"]; i++) { if (session_map[? "userIsOwner" + string(i)] == 0) { array_push(non_owner_ids, session_map[? "userId" + string(i)]); } } }
- 세션에 참여한 사용자 수 확인하기
gml var session_map = xboxlive_matchmaking_session_get_users(global.SessionID); if (session_map != -1) { var user_count = session_map[? "num_results"]; show_message("Total users in session: " + string(user_count)); }