Pular para o conteúdo principal

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.

NomeDescrição
npcidO ID do NPC que disparou a arma
WEAPON:weaponidA arma ID que foi disparada
BULLET_HIT_TYPE:hittypeO tipo de entidade atingida (se houver)
hitidO ID da entidade que foi atingida (se houver)
Float:fXA coordenada X onde a bala atingiu
Float:fYA coordenada Y onde a bala atingiu
Float:fZA coordenada Z onde a bala atingiu

Retornos

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

Exemplos

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.

Callbacks Relacionadas