note Help Needed
This wiki is the result of an ongoing community effort — thank you all for helping!
If you want to provide changes to this page then please click here.
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ú
tip
- 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).
warning
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.