Chuyển tới nội dung chính

OnPlayerDisconnect

Mô Tả

Callback này được gọi khi một người chơi rời khỏi server.

TênMô Tả
playeridID của người chơi đã rời khỏi server.
reasonLý do rời khỏi server. Xem bảng dưới đây.

Trả Về

0 - Sẽ ngăn các filterscripts khác nhận được callback này.

1 - Chỉ ra rằng callback này sẽ được chuyển đến filterscript tiếp theo.

Callback này luôn được gọi đầu tiên trong filterscripts.

Các Lý Do

IDLý DoChi Tiết
0Timeout/CrashKết nối của người chơi đã bị mất. Có thể là do trò chơi bị treo hoặc lỗi mạng.
1QuitNgười chơi rời khỏi server một cách chủ động, qua lệnh /quit (/q) hoặc qua menu tạm dừng.
2Kick/BanNgười chơi bị đá khỏi server hoặc bị cấm.

Ví Dụ

public OnPlayerDisconnect(playerid, reason)
{
new
szString[64],
playerName[MAX_PLAYER_NAME];

GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);

new szDisconnectReason[3][] =
{
"Timeout/Crash",
"Quit",
"Kick/Ban"
};

format(szString, sizeof szString, "%s đã rời khỏi server (%s).", playerName, szDisconnectReason[reason]);

SendClientMessageToAll(0xC4C4C4FF, szString);
return 1;
}

Ghi Chú

mẹo

Một số hàm có thể không hoạt động chính xác khi sử dụng trong callback này vì người chơi đã bị ngắt kết nối khi callback được gọi. Điều này có nghĩa là bạn không thể lấy thông tin rõ ràng từ các hàm như GetPlayerIpGetPlayerPos.

Vấn đề này được giải quyết trong server open.mp.

Các Callback Liên Quan

  • OnPlayerConnect: Callback này được gọi khi một người chơi kết nối đến server.
  • OnIncomingConnection: Callback này được gọi khi một người chơi đang cố gắng kết nối đến server.
  • OnPlayerFinishedDownloading: Callback này được gọi khi một người chơi hoàn thành việc tải xuống các mô hình tùy chỉnh.