rollback_chat 함수 설명
rollback_chat
함수는 다른 플레이어에게 문자열 메시지를 전송하는 데 사용됩니다. 최대 128 바이트의 문자열을 전송할 수 있으며, 두 번째 인자를 지정하지 않으면 메시지가 발신자를 포함한 모든 플레이어에게 전송됩니다. 두 번째 인자로 플레이어 ID를 지정하면 해당 플레이어에게만 메시지가 전송됩니다.
사용 방법
이 함수는 "로컬"에서 사용되며, 로컬 입력에 의해 호출됩니다. Rollback 입력에 의해 호출되지 않습니다. 아래의 사용 예제를 참고하세요. 메시지를 수신하기 위해 Rollback 이벤트를 청취해야 합니다.
문법
rollback_chat(message, [to]);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
message | String | 전송할 메시지, 문자열 형식입니다. |
to | Real | 선택적 인자. 메시지를 받을 플레이어의 ID입니다. 이 인자를 지정하지 않거나 -1을 지정하면 모든 플레이어에게 메시지가 전송됩니다. |
반환값
- N/A
예제
if (keyboard_check_pressed(vk_enter)) {
rollback_chat(keyboard_string);
keyboard_string = "";
}
위의 예제에서 Enter 키가 로컬에서 눌리면 keyboard_string
값이 모든 플레이어에게 전송됩니다. 그 후 문자열은 지워져 새로운 메시지를 입력할 수 있습니다. 이 메시지가 모든 클라이언트(발신자 포함)에게 수신되면 Rollback 이벤트가 트리거됩니다.
Rollback 이벤트 예제
if (rollback_event_id == rollback_chat_message) {
// 수신된 정보 가져오기
var _message = rollback_event_param.message;
var _from = rollback_event_param.from;
// 발신자의 이름 찾기
var _name = rollback_get_info(_from).player_name;
// 출력 로그에 표시
show_debug_message(_name + " says: " + _message);
}
활용 예제
- 게임 내 채팅 시스템: 플레이어들이 서로 소통할 수 있는 채팅 기능을 구현할 수 있습니다.
gml if (keyboard_check_pressed(vk_enter)) { rollback_chat("Hello, everyone!"); }
- 특정 플레이어에게 메시지 전송: 특정 플레이어에게만 메시지를 보내는 기능을 추가할 수 있습니다.
gml var target_player_id = 1; // 예시로 플레이어 ID 1 rollback_chat("Hello, Player 1!", target_player_id);
- 게임 이벤트 알림: 특정 게임 이벤트가 발생했을 때 모든 플레이어에게 알림을 보낼 수 있습니다.
gml if (event_occurred) { rollback_chat("A new event has started!"); }
- 플레이어 상태 업데이트: 플레이어의 상태가 변경될 때 다른 플레이어에게 알릴 수 있습니다.
gml if (player_health < 50) { rollback_chat("Warning: Player is low on health!"); }
- 팀 채팅 기능: 팀원끼리만 소통할 수 있는 채팅 기능을 구현할 수 있습니다.
gml if (is_team_member) { rollback_chat("Team, let's strategize!", team_player_id); }