Pular para o conteúdo principal

NPC_Shoot

aviso

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

Descrição

Faz um NPC disparar um tiro de arma.

NomeDescrição
npcidO ID do NPC
weaponA arma ID para usar para atirar
hitIdO ID da entidade alvo sendo baleada
hitTypeO tipo de entidade atingida (jogador, NPC, veículo, etc.)
endPointXCoordenada X do ponto final do marcador
endPointYCoordenada Y do ponto final do marcador
endPointZCoordenada Z do ponto final do marcador
offsetXDeslocamento X do ponto de acerto
offsetYDeslocamento Y do ponto de acerto
offsetZDeslocamento Z do ponto de acerto
isHitSe o tiro realmente atinge o alvo
checkInBetweenFlagsSinalizadores de verificação de entidade (padrão: NPC_ENTITY_CHECK_ALL)

Retornos

Retorna true se a operação foi bem-sucedida, caso contrário, false.

Exemplos

public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/npcshoot", true))
{
new npcid = PlayerNPC[playerid];
if (npcid == INVALID_NPC_ID)
return SendClientMessage(playerid, 0xFF0000FF, "You are not debugging a NPC.");

if (!NPC_IsValid(npcid))
return SendClientMessage(playerid, 0xFF0000FF, "Invalid NPC.");

new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);

new weapon = NPC_GetWeapon(npcid);
NPC_Shoot(npcid, WEAPON:weapon, playerid, 1, x, y, z, 0.0, 0.0, 0.0, true, NPC_ENTITY_CHECK_ALL);

SendClientMessage(playerid, 0x00FF00FF, "NPC %d fired a shot at you.", npcid);
return 1;
}
return 0;
}

Notas

  • O NPC deve ter uma arma definida com NPC_SetWeapon antes de disparar
  • Use isHit = false para tiros de advertência ou fogo de supressão
  • O parâmetro checkInBetweenFlags determina quais entidades bloqueiam o disparo

Funções Relacionadas

Callbacks Relacionadas