Pular para o conteúdo principal

OnNPCDeath

aviso

Esta função foi adicionada no omp v1.5.8.3079 e não funcionará em versões anteriores!

Descrição

Esse callback é chamado quando um NPC morre.

NomeDescrição
npcidO ID do NPC que morreu
killeridO ID do jogador/NPC que matou o NPC (ou INVALID_PLAYER_ID se nenhum)
WEAPON:reasonO motivo da morte (arma ID ou causa da morte)

Exemplos

public OnNPCDeath(npcid, killerid, WEAPON:reason)
{
printf("[NPC] NPC %d died (killer: %d, weapon: %d)", npcid, killerid, _:reason);

// Notifique os jogadores que estão rastreando este NPC
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
if (killerid == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, 0xFF0000FF, "Your tracked NPC %d died (weapon: %d)", npcid, _:reason);
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Your tracked NPC %d was killed by player %d (weapon: %d)", npcid, killerid, _:reason);
}
}
}
return 1;
}

Notas

  • O parâmetro killerid será INVALID_PLAYER_ID se a morte do NPC não tiver sido causada por um jogador
  • O parâmetro reason contém a arma ID que causou a morte (255 por causas desconhecidas/outras)

Funções Relacionadas

As funções a seguir podem ser úteis, pois estão relacionadas a esse callback de uma forma ou de outra.

Callbacks Relacionadas