롤백 게임 생성 함수 설명
rollback_create_game
함수는 새로운 멀티플레이어 게임을 호스팅하는 기능을 제공합니다. 이 함수는 게임이 시작되기 위해 연결되어야 하는 플레이어 수를 입력받으며, 선택적으로 Sync Test를 비활성화할 수 있습니다.
기능 설명
- 플레이어 수: 게임이 시작되기 위해 연결되어야 하는 플레이어 수를 설정합니다.
- Sync Test 비활성화: Sync Test를 비활성화하면, 시스템은 지정된 수의 플레이어가 참여할 때까지 기다립니다.
- 게임 시작 전 인스턴스 수정 금지: 게임이 시작되기 전에는 관리되는 인스턴스를 생성하거나 수정하지 않아야 합니다.
팁
- 모든 플레이어가 참여하기 전에 게임을 강제로 시작하려면
rollback_start_game()
함수를 호출할 수 있습니다. - 현재 한 게임에 최대 4명의 플레이어만 참여할 수 있습니다.
문법
rollback_create_game(num_players, [enable_sync_test, region]);
인자 설명
인자 이름 | 타입 | 설명 |
---|---|---|
num_players | Real | 게임이 시작되기 위해 연결되어야 하는 플레이어 수. rollback_define_player() 가 사용되면 자동으로 생성되는 인스턴스 수. |
enable_sync_test | Boolean | 선택 사항. Sync Test를 활성화할지 여부를 지정하며 기본값은 true입니다. false로 설정하면 온라인 기능이 활성화됩니다. |
region | String | 선택 사항. 가상 방이 생성될 기본 지역을 지정합니다. |
반환값
- N/A
예제 코드
rollback_define_player(obj_player);
var _joined = rollback_join_game();
if (!_joined) {
rollback_create_game(2, false, "Europe");
}
위 코드는 플레이어 객체를 정의한 후 게임에 참여를 시도합니다. 만약 참여하지 못했다면, 최대 2명의 플레이어와 Sync Test가 비활성화된 새로운 게임을 생성합니다.
지역 이름 가져오기
기본 지역을 지정하려면 지역 문자열이 필요합니다. 이를 위해 HTTP 요청을 통해 지역 목록을 가져올 수 있습니다.
// Create event
http_get(rollback_api_server + "/gg/regions");
// Async - HTTP event
if (async_load[? "http_status"] == 200) {
var _struct = json_parse(async_load[? "result"]);
var _data = _struct.data;
var _num_regions = array_length(_data);
global.regions = [];
for (var i = 0; i < _num_regions; i++) {
global.regions[i] = _data[i];
}
}
이 코드는 GX.games에서 지역 목록을 요청하고, 비동기 HTTP 이벤트에서 목록을 반복하여 모든 지역을 전역 배열에 저장합니다.