Pular para o conteúdo principal

NPC_AimAtPlayer

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 mirar em um jogador.

NomeDescrição
npcidO ID do NPC
playeridO ID do jogador a ser mirado
shootSeja para atirar enquanto mira
shootDelayAtraso entre disparos em milissegundos
updateAngleSe deve atualizar o ângulo de visão do NPC
offsetXO deslocamento X da posição do alvo
offsetYO deslocamento Y da posição do alvo
offsetZO deslocamento Z da posição do alvo
offsetFromXO deslocamento X da posição de disparo do NPC
offsetFromYO deslocamento Y da posição de disparo do NPC
offsetFromZO deslocamento Z da posição de disparo do NPC
checkInBetweenFlagsSinalizadores de verificação de entidade para detecção de colisão

Retornos

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

Exemplos

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

NPC_AimAtPlayer(npcid, playerid, true, 800, true, 0.0, 0.0, 0.8, 0.0, 0.0, 0.6, NPC_ENTITY_CHECK_PLAYER);
SendClientMessage(playerid, 0xFF0000FF, "NPC %d is now hostile towards you!", npcid);
return 1;
}

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

NPC_AimAtPlayer(npcid, playerid, false, 0, true, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6, NPC_ENTITY_CHECK_PLAYER);
SendClientMessage(playerid, 0x00FF00FF, "NPC %d is now guarding you.", npcid);
return 1;
}
return 0;
}

Notas

  • O NPC rastreará continuamente o movimento do jogador enquanto mira
  • Se o jogador alvo se desconectar ou ficar inválido, o NPC irá parar de mirar/disparar
  • Os parâmetros de deslocamento do alvo permitem mirar partes específicas do corpo (cabeça, tronco, etc.)
  • O NPC atualiza automaticamente sua mira conforme o jogador se move
  • Use NPC_IsAimingAtPlayer para verificar se NPC está visando um jogador específico

Funções Relacionadas

Callbacks Relacionadas