---
title: "OnPlayerDeath | open.mp"
description: "Esta callback é chamada quando um jogador morre, tanto por suicídio ou por ser morto por outros jogadores."
canonical: https://omp.itsneufox.com/pt-BR/docs/scripting/callbacks/OnPlayerDeath
language: pt-BR
---

# OnPlayerDeath

## Descrição

Esta callback é chamada quando um jogador morre, tanto por suicídio ou por ser morto por outros jogadores.

| Nome | Descrição |
| --- | --- |
| playerid | O ID do jogador que morreu |
| killerid | O ID do jogador que matou o jogador que morreu, ou INVALID\_PLAYER\_ID se não houve um. |
| WEAPON:reason | O ID do motivo da morte do jogador. |

## Retorno

1 - Irá previnir que outro filterscript receba esta callback.

0 - Indica que esta callback será passada para o próximo filterscript.

Sempre é chamada primeiro em filterscripts.

## Exemplos

```c
new PlayerDeaths[MAX_PLAYERS];
new PlayerKills[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, WEAPON:reason)
{
    SendDeathMessage(killerid, playerid, reason); // Mostra o kill no killfeed

    // Verifica se o ID do jogador que matou é valido antes de fazer qualquer coisa
    if (killerid != INVALID_PLAYER_ID)
    {
        PlayerKills[killerid] ++;
    }

    // Fora da verificação, faça os códigos desejados para o jogador que morreu.
    PlayerDeaths[playerid] ++;
    return 1;
}
```

## Notas

nota

-   O motivo da morte retornará 37 (Lança Chamas) para qualquer fonte que utilize fogo (EX: Molotov).
-   O motivo da morte retornará 51 para qualquer fonte que utilize explosões (EX: RPG, granada).
-   Você não precisa verificar se o killerid é valido antes de usa-lo no SendDeathMessage. INVALID\_PLAYER\_ID é um parâmetro valido nesta função.
-   playerid é o único que pode chamar esta callback.

aviso

Você PRECISA verificar se 'killerid' é valido (não INVALID\_PLAYER\_ID) antes de usa-lo em uma array (ou qualquer outro lugar), pois isso irá ocasionar no crash do OnPlayerDeath (não o script todo). Isto é devido ao INVALID\_PLAYER\_ID ser definido como 65535, e se uma array tem apenas 'MAX\_PLAYERS' como definição do número de elementos, você estaria tentando acessar um index inválido.

## Callbacks Relacionadas

Os seguintes callbacks podem ser úteis, pois estão relacionados a este callback de alguma forma.

-   [OnPlayerSpawn](https://omp.itsneufox.com/pt-BR/docs/scripting/callbacks/OnPlayerSpawn): Este evento é chamado quando um jogador spawna.

## Related Functions

-   [SendDeathMessage](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/SendDeathMessage): Adiciona a kill para a lista de mortes.
-   [SetPlayerHealth](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/SetPlayerHealth): Define a vida de um jogador.

## Recursos relacionados

-   [Arma IDs](https://omp.itsneufox.com/pt-BR/docs/scripting/resources/weaponids)
