---
title: "OnNPCWeaponShot | open.mp"
description: "Este callback é chamado quando um NPC dispara uma arma."
canonical: https://omp.itsneufox.com/pt-BR/docs/scripting/callbacks/OnNPCWeaponShot
language: pt-BR
---

# OnNPCWeaponShot

aviso

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

## Descrição

Este callback é chamado quando um NPC dispara uma arma.

| Nome | Descrição |
| --- | --- |
| npcid | O ID do NPC que disparou a arma |
| WEAPON:weaponid | A arma ID que foi disparada |
| BULLET\_HIT\_TYPE:hittype | O tipo de entidade atingida (se houver) |
| hitid | O ID da entidade que foi atingida (se houver) |
| Float:fX | A coordenada X onde a bala atingiu |
| Float:fY | A coordenada Y onde a bala atingiu |
| Float:fZ | A coordenada Z onde a bala atingiu |

## Retornos

Retorne `false` para evitar que o disparo seja processado ou `true` para permitir isso.

## Exemplos

```c
public OnNPCWeaponShot(npcid, WEAPON:weaponid, BULLET_HIT_TYPE:hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
    // Notifique apenas os jogadores que estão rastreando este NPC
    for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
        if (!IsPlayerConnected(playerid))
            continue;

        if (PlayerNPC[playerid] == npcid)
        {
            static hitTypeNames[5][32] = {
                "None",
                "Player",
                "Vehicle",
                "Object",
                "Player Object"
            };

            SendClientMessage(playerid, 0xFFFF00FF, "NPC %d fired weapon %d at %s %d (%.2f, %.2f, %.2f)",
                npcid, _:weaponid, hitTypeNames[_:hittype], hitid, fX, fY, fZ);
        }
    }
    return 1;
}
```

## Notas

-   Este callback é chamado para cada tiro disparado pelo NPC
-   O parâmetro `hittype` indica o que foi atingido (nenhum, jogador, veículo, objeto, etc.)
-   O parâmetro `hitid` contém o ID da entidade atingida (jogador ID, veículo ID, etc.)
-   As coordenadas do acerto mostram onde a bala impactou
-   Retornar `false` evita que o disparo seja processado pelo servidor

## Funções Relacionadas

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

-   [NPC\_AimAt](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/NPC_AimAt): Faça NPC mirar em uma posição
-   [NPC\_AimAtPlayer](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/NPC_AimAtPlayer): Faça NPC mirar em um jogador
-   [NPC\_StopAim](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/NPC_StopAim): Impede que NPC mire
-   [NPC\_SetWeapon](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/NPC_SetWeapon): Defina a arma de NPC
-   [NPC\_GetAmmo](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/NPC_GetAmmo): Obtenha a contagem de munição de NPC

## Callbacks Relacionadas

-   [OnNPCGiveDamage](https://omp.itsneufox.com/pt-BR/docs/scripting/callbacks/OnNPCGiveDamage): Chamado quando NPC causa dano a um jogador
-   [OnPlayerWeaponShot](https://omp.itsneufox.com/pt-BR/docs/scripting/callbacks/OnPlayerWeaponShot): Chamado quando um jogador dispara uma arma
