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를 검색하고, 해당 사용자에 대한 매치메이킹 세션을 찾으려고 시도합니다.

활용 및 응용 예제

  1. 세션 찾기: 사용자가 특정 게임 패드에서 매치메이킹 세션을 찾을 수 있도록 하는 기능을 구현할 수 있습니다. gml var userID = xboxlive_user_for_pad(global.PadIndex); var sessionResult = xboxlive_matchmaking_find(userID, "MySessionTemplate", "MyHopper", "MySDATemplate");
  2. 세션 상태 확인: 세션이 성공적으로 생성되었는지 확인하는 로직을 추가할 수 있습니다. gml if (sessionResult.error == 0) { show_message("세션이 성공적으로 생성되었습니다."); } else { show_message("세션 생성에 실패했습니다."); }
  3. 여러 세션 검색: 여러 세션을 동시에 검색하여 사용자에게 선택할 수 있는 옵션을 제공할 수 있습니다. 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의 매치메이킹 기능을 활용하여 다양한 게임 시나리오를 구현하는 데 도움이 될 것입니다.