OnPlayerDeath
Mô Tả
Callback này được gọi khi một người chơi chết, có thể là tự sát hoặc bị giết bởi một người chơi khác.
| Tên | Mô Tả | 
|---|---|
| playerid | ID của người chơi đã chết. | 
| killerid | ID của người chơi đã giết người chơi đó, hoặc INVALID_PLAYER_ID nếu không có ai cả. | 
| WEAPON:reason | ID của lý do (xem danh sách vũ khí) cho cái chết của người chơi. | 
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.
Ví Dụ
new PlayerDeaths[MAX_PLAYERS];
new PlayerKills[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, WEAPON:reason)
{
    SendDeathMessage(killerid, playerid, reason); // Hiển thị cái chết trong killfeed
    // Kiểm tra rằng killerid là hợp lệ trước khi thực hiện bất kỳ hành động nào với nó
    if (killerid != INVALID_PLAYER_ID)
    {
        PlayerKills[killerid]++;
    }
    // Ngoài kiểm tra, xử lý thông tin cho playerid (luôn hợp lệ)
    PlayerDeaths[playerid]++;
    return 1;
}
Ghi Chú
mẹo
- Lý do sẽ trả về 37 (vũ khí phun lửa) từ bất kỳ nguồn lửa nào (ví dụ: molotov, 18).
- Lý do sẽ trả về 51 từ bất kỳ vũ khí nào tạo ra vụ nổ (ví dụ: RPG, grenade).
- Bạn không cần kiểm tra xem killerid có hợp lệ không trước khi sử dụng nó trong SendDeathMessage. INVALID_PLAYER_ID là một tham số ID hợp lệ trong hàm đó.
- playerid là người duy nhất có thể gọi callback này (hữu ích cho chống giả chết).
cảnh báo
Bạn PHẢI kiểm tra xem 'killerid' có hợp lệ (không phải INVALID_PLAYER_ID) trước khi sử dụng nó trong một mảng (hoặc bất kỳ đâu), vì điều này sẽ gây ra sự cố với script OnPlayerDeath (không phải toàn bộ script). INVALID_PLAYER_ID được định nghĩa là 65535, và nếu một mảng chỉ có 'MAX_PLAYERS' phần tử, ví dụ 500, bạn đang cố gắng truy cập một chỉ số vượt quá 499, điều này sẽ ra ngoài phạm vi.
Các Callback Liên Quan
- OnPlayerSpawn: Callback này được gọi khi một người chơi xuất hiện lại.
Các Hàm Liên Quan
- SendDeathMessage: Thêm một cái chết vào danh sách cái chết.
- SetPlayerHealth: Đặt sức khỏe của người chơi.