Xbox Live 통계 리더보드 가져오기

이 문서는 Xbox Live에서 특정 통계에 대한 글로벌 리더보드를 가져오는 함수인 xboxlive_stats_get_leaderboard에 대해 설명합니다. 이 함수를 사용하면 사용자 ID, 통계 문자열, 그리고 리더보드 정보를 가져오기 위한 여러 세부 정보를 제공해야 합니다.

함수 설명

함수 사용법

  • 사용자 ID: xboxlive_get_user() 함수로 반환된 사용자 ID를 사용합니다.
  • 통계 문자열: "Featured Stat"로 등록된 통계 문자열을 입력합니다.
  • 리더보드 정보: 가져오고자 하는 리더보드 정보의 세부 사항을 지정합니다.
중요! 글로벌 리더보드에 사용되는 통계는 XDP/Windows Dev Center에서 "Featured Stats"로 등록되어야 하며, 그렇지 않으면 오류가 발생합니다. 로컬(소셜) 리더보드를 원하신다면 xboxlive_stats_get_social_leaderboard() 함수를 참조하세요.

콜백 및 이벤트

이 함수는 Social Asynchronous Event를 트리거하는 콜백을 생성합니다. 이 이벤트는 다음과 같은 키를 포함하는 DS 맵을 반환합니다:

설명
"id" 상수 achievement_stat_event를 포함합니다.
"event" 문자열 "GetLeaderboardComplete"를 포함합니다.
"userid" 요청과 관련된 사용자 ID입니다.
"error" 성공 시 0, 오류 발생 시 다른 값이 반환됩니다.
"errormessage" 오류 메시지가 있을 경우 문자열로 포함됩니다.
"display_name" 제공자 대시보드에서 정의된 리더보드의 고유 ID입니다.
"numentries" 수신한 리더보드 항목의 수입니다.

리더보드 데이터는 다음 형식으로 포함됩니다:

설명
"PlayerN" 플레이어의 이름 (N은 리더보드 데이터에서의 위치)
"PlayeridN" 플레이어의 고유 사용자 ID (N)
"RankN" 리더보드에서 플레이어의 순위 (N)
"ScoreN" 플레이어의 점수 (N)

함수 구문

xboxlive_stats_get_leaderboard(user_id, stat, num_entries, start_rank, start_at_user, ascending);

인수 설명

인수 타입 설명
user_id Xbox User ID 리더보드를 가져올 사용자 ID입니다.
stat String 글로벌 리더보드를 생성할 통계 문자열입니다.
num_entries Real 가져올 글로벌 리더보드 항목의 수입니다.
start_rank Real 리더보드에서 시작할 순위입니다 (start_at_user가 true일 경우 0 사용).
start_at_user Boolean true로 설정하면 사용자 ID 순위에서 시작합니다. false일 경우는 다른 값 사용.
ascending Boolean true로 설정하면 오름차순, false로 설정하면 내림차순입니다.

확장 예제

다음은 이 함수를 사용하는 확장 예제입니다. Room Start 또는 Create 이벤트에서 호출할 수 있습니다.

xboxlive_stats_get_leaderboard(user_id, "GlobalTime", 20, 1, false, true);

위 코드는 게임의 모든 소셜 리더보드 위치를 가져오기 위해 호출되며, Social Asynchronous Event 콜백을 생성합니다. 이 콜백을 처리하는 방법은 다음과 같습니다:

if (async_load[? "id"] == achievement_stat_event) {
    if (async_load[? "event"] == "GetLeaderboardComplete") {
        global.numentries = async_load[? "numentries"];
        for(var i = 0; i < numentries; i++) {
            global.playername[i] = async_load[? "Player" + string(i)];
            global.playerid[i] = async_load[? "Playerid" + string(i)];
            global.playerrank[i] = async_load[? "Rank" + string(i)];
            global.playerscore[i] = async_load[? "Score" + string(i)];
        }
    }
}

위 코드는 반환된 DS 맵을 확인하고, "id"가 확인된 상수와 일치하는지 확인한 후, 리더보드 데이터로 트리거된 이벤트인지 확인합니다. 그 후, 맵을 반복하여 다양한 값을 여러 글로벌 배열에 저장합니다.

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA