Xbox Live 매치메이킹 함수 설명
이 문서는 Xbox Live의 매치메이킹 기능을 찾는 xboxlive_matchmaking_find
함수에 대한 설명입니다. 이 함수는 미리 XDP 대시보드에서 생성한 세션 템플릿, 매치메이킹 호퍼 및 보안 장치 연결 템플릿을 사용하여 멀티플레이어 세션을 검색합니다.
함수 개요
함수 설명
- 함수 이름:
xboxlive_matchmaking_find
- 목적: 멀티플레이어 세션을 찾기 위해 사용됩니다.
- 반환 값: 고유한 요청 ID 값
주요 매개변수
매개변수 | 타입 | 설명 |
---|---|---|
user_id |
Xbox User ID | 사용자 ID 포인터 |
template |
String | 세션 템플릿의 이름 |
hopper |
String | 매치메이킹 호퍼의 이름 |
sdatemplate |
String | 보안 장치 연결 템플릿의 이름 |
matchattributes |
Real | 선택 사항: 매치 속성 |
이벤트 설명
함수가 호출되면 고유한 요청 ID가 반환되며, 이 ID는 올바른 소셜 비동기 이벤트를 식별하는 데 사용됩니다. 세션이 생성되면 다음과 같은 키/값 쌍을 포함하는 DS 맵이 async_load
변수에 담겨 이벤트가 트리거됩니다.
키 | 설명 |
---|---|
requestid |
호출 함수에서 반환된 요청 ID |
status |
"session_created" 문자열 |
num_results |
세션이 발견되면 1 이상, 그렇지 않으면 0 |
sessionid<index> |
세션 ID 또는 실패 시 -1 |
sessionOwner<index> |
세션 호스트의 ID |
error |
성공 시 0, 실패 시 -1 |
사용 예제
아래는 xboxlive_matchmaking_find
함수를 사용하는 예제입니다.
var userID = xboxone_user_for_pad(global.PadIndex);
result = xboxlive_matchmaking_find(userID, "MatchTicketSession", "MatchTicketHopper", "PeerServerTraffic");
이 코드는 주어진 게임패드에 대한 사용자 ID를 검색하고, 해당 사용자에 대한 매치메이킹 세션을 찾으려고 시도합니다.
활용 및 응용 예제
- 세션 찾기: 사용자가 특정 게임 패드에서 매치메이킹 세션을 찾을 수 있도록 하는 기능을 구현할 수 있습니다.
gml var userID = xboxlive_user_for_pad(global.PadIndex); var sessionResult = xboxlive_matchmaking_find(userID, "MySessionTemplate", "MyHopper", "MySDATemplate");
- 세션 상태 확인: 세션이 성공적으로 생성되었는지 확인하는 로직을 추가할 수 있습니다.
gml if (sessionResult.error == 0) { show_message("세션이 성공적으로 생성되었습니다."); } else { show_message("세션 생성에 실패했습니다."); }
- 여러 세션 검색: 여러 세션을 동시에 검색하여 사용자에게 선택할 수 있는 옵션을 제공할 수 있습니다.
gml var userID1 = xboxlive_user_for_pad(global.PadIndex1); var userID2 = xboxlive_user_for_pad(global.PadIndex2); var result1 = xboxlive_matchmaking_find(userID1, "Session1", "Hopper1", "SDA1"); var result2 = xboxlive_matchmaking_find(userID2, "Session2", "Hopper2", "SDA2");
이러한 예제들은 Xbox Live의 매치메이킹 기능을 활용하여 다양한 게임 시나리오를 구현하는 데 도움이 될 것입니다.