Xbox Live 통계 데이터 플러시 함수
xboxlive_stats_flush_user
함수는 특정 사용자의 통계 데이터를 통계 관리자에서 라이브 서버로 플러시하는 데 사용됩니다. 이 함수는 서버가 현재 값으로 최신 상태를 유지하도록 보장합니다. Xbox 문서에 따르면, 개발자는 이 함수를 너무 자주 호출하지 않도록 주의해야 하며, Xbox는 요청에 대해 속도 제한을 적용합니다. 또한 Xbox OS는 약 5분마다 자동으로 통계를 플러시합니다.
주의: 사용자를 제거할 경우, 사용자의 통계가 유효하지 않은 경우(예: 통계 이름에 비알파벳 숫자 문자가 포함된 경우) 오류가 발생할 수 있습니다.
함수 사용법
이 함수를 사용하려면 xboxlive_get_user()
와 같은 함수에서 반환된 사용자 ID와 우선 순위 값을 제공해야 합니다. 우선 순위 값은 높은 우선 순위의 경우 1, 낮은 우선 순위의 경우 0입니다. 함수 호출이 성공적으로 이루어지면 다른 값을 반환하며, 오류가 발생하면 -1을 반환합니다. 이 함수는 또한 System Asynchronous Event
를 트리거하는 콜백을 생성합니다. 이 이벤트는 다음 키를 포함하는 특별한 DS 맵 async_load
를 가집니다:
키 | 설명 |
---|---|
id | 상수 achievement_stat_event 를 보유합니다. |
eventname | 문자열 "StatisticUpdateComplete"를 보유합니다. |
userid | 요청과 관련된 사용자 ID입니다. |
error | 성공 시 0, 오류가 발생한 경우 다른 값을 가집니다. |
errormessage | 오류 메시지가 있을 경우 문자열로 제공됩니다. |
사용자를 통계 관리자에서 제거할 경우 통계는 자동으로 플러시됩니다. 더 많은 정보는 xboxlive_stats_remove_user()
를 참조하세요.
함수 문법
xboxlive_stats_flush_user(user_id, priority);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
user_id | Xbox User ID | 사용할 사용자 ID (포인터) |
priority | Real | 우선 순위 값 (0 또는 1) |
반환값
- Real: 호출이 성공하면 다른 값을 반환하고, 오류가 발생하면 -1을 반환합니다.
활용 예제
다음은 xboxlive_stats_flush_user
함수를 활용하는 몇 가지 예제입니다.
예제 1: 사용자 통계 플러시
for(var i = 0; i < array_length(user_id); ++i){
xboxlive_stats_flush_user(user_id[i], 0);
}
이 코드는 저장된 사용자 계정 ID를 반복하여 각 사용자의 통계 관리자 데이터를 플러시합니다.
예제 2: 오류 처리
var result = xboxlive_stats_flush_user(user_id, 1);
if (result == -1) {
show_error("사용자 ID가 유효하지 않거나 오류가 발생했습니다.", true);
}
이 코드는 플러시 호출 후 오류가 발생했는지 확인하고, 오류가 발생한 경우 메시지를 표시합니다.
예제 3: 비동기 이벤트 처리
function async_event_handler(async_load) {
var error = async_load[? "error"];
if (error == 0) {
// 성공적으로 업데이트됨
} else {
var errorMessage = async_load[? "errormessage"];
show_error("오류 발생: " + errorMessage, true);
}
}
이 코드는 비동기 이벤트가 발생했을 때 오류를 처리하는 방법을 보여줍니다.