Xbox Live 친구 정보 로드 함수 설명
xboxlive_achievement_load_friends
함수는 서버에 로그인한 사용자의 친구 목록 정보를 요청하는 기능입니다. 이 함수는 비동기 이벤트인 Social Asynchronous Event
를 트리거하며, 이 이벤트는 관련된 키/값 쌍으로 채워진 async_load
DS 맵을 포함합니다. 이 DS 맵의 id
키는 올바른 콜백을 식별하는 데 사용되며, xboxlive_achievement_friends_info
상수와 함께 각 친구에 대한 여러 키/값 쌍과 쌍을 이룹니다.
DS 맵의 내용
키 | 설명 |
---|---|
"id" | 이 함수의 경우 xboxlive_achievement_friends_info 여야 합니다. |
"FriendN" | 친구의 이름, 여기서 "N"은 친구 목록 내 위치에 해당하는 정수입니다. |
"FriendidN" | 친구의 고유 사용자 ID, "N"에 해당합니다. |
문법
xboxlive_achievement_load_friends();
반환값
- N/A
확장 예제
다음 코드는 사용자가 게임 계정에 로그인한 후 친구 목록을 가져오기 위해 호출될 가능성이 높습니다.
xboxlive_achievement_load_friends();
이 코드는 사용자의 친구 정보 요청을 서버에 보내고, 특수한 async_load
DS 맵을 포함한 비동기 콜백을 생성합니다. 이 맵에는 다음 데이터가 포함됩니다:
var ident = ds_map_find_value(async_load, "id");
if (ident == xboxlive_achievement_friends_info) {
var numfriends = ds_map_find_value(async_load, "numfriends");
global.numfriends = numfriends;
for (var i = 0; i < numfriends; i++) {
global.friendname[i] = ds_map_find_value(async_load, "Friend" + string(i));
global.friendid[i] = ds_map_find_value(async_load, "Friendid" + string(i));
}
}
위 코드는 Social Asynchronous Event
에서 반환된 DS 맵을 확인하고, "id"가 확인 중인 상수와 일치하는 경우, 맵을 반복하여 다양한 값을 여러 배열에 저장합니다.
활용 예제
친구 목록 로드 후 처리
// 친구 목록을 로드한 후, 친구의 이름을 출력
for (var i = 0; i < global.numfriends; i++) {
show_message("친구 이름: " + global.friendname[i]);
}
친구 ID를 사용하여 추가 정보 요청
// 친구 ID를 사용하여 추가 정보를 요청
for (var i = 0; i < global.numfriends; i++) {
request_friend_info(global.friendid[i]);
}
친구 목록을 UI에 표시하기
// 친구 목록을 게임 UI에 표시
for (var i = 0; i < global.numfriends; i++) {
draw_text(10, 10 + (i * 20), global.friendname[i]);
}
친구와의 게임 세션 시작
// 친구와의 게임 세션 시작
for (var i = 0; i < global.numfriends; i++) {
start_game_session(global.friendid[i]);
}