Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: OnNPCCreate
sidebar_label: OnNPCCreate
description: "Este callback é chamado quando um NPC é criado com sucesso."
tags: ["npc"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC é criado e adicionado com êxito ao servidor.

| Nome | Descrição |
| ----- | ---------------------------------- |
| npcid | O ID do NPC que foi criado |

## Exemplos

```c
public OnNPCCreate(npcid)
{
printf("[NPC] NPC %d has been created", npcid);

// Notifique todos os jogadores conectados
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

SendClientMessage(playerid, 0x00FF00FF, "NPC %d has been created", npcid);
}
return 1;
}
```
## Notas

- Este callback é chamado imediatamente após o NPC ser criado, mas antes de ser gerado
- O NPC precisará ser gerado usando `NPC_Spawn` para se tornar visível no mundo do jogo

## 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_Create](../functions/NPC_Create): Crie um novo NPC
- [NPC_Destroy](../functions/NPC_Destroy): Destrua um NPC existente
- [NPC_Spawn](../functions/NPC_Spawn): Gera o NPC no mundo do jogo

## Callbacks Relacionadas

- [OnNPCDestroy](OnNPCDestroy): Chamado quando um NPC é destruído
- [OnNPCSpawn](OnNPCSpawn): Chamado quando um NPC é gerado
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: OnNPCDeath
sidebar_label: OnNPCDeath
description: "Esse callback é chamado quando um NPC morre."
tags: ["npc"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC morre.

| Nome | Descrição |
| ------------- | --------------------------------------------------------------------------- |
| npcid | O ID do NPC que morreu |
| killerid | O ID do jogador/NPC que matou o NPC (ou INVALID_PLAYER_ID se nenhum) |
| WEAPON:reason | O motivo da morte (arma ID ou causa da morte) |

## Exemplos

```c
public OnNPCDeath(npcid, killerid, WEAPON:reason)
{
printf("[NPC] NPC %d died (killer: %d, weapon: %d)", npcid, killerid, _:reason);

// Notifique os jogadores que estão rastreando este NPC
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
if (killerid == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, 0xFF0000FF, "Your tracked NPC %d died (weapon: %d)", npcid, _:reason);
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Your tracked NPC %d was killed by player %d (weapon: %d)", npcid, killerid, _:reason);
}
}
}
return 1;
}
```
## Notas

- O parâmetro `killerid` será `INVALID_PLAYER_ID` se a morte do NPC não tiver sido causada por um jogador
- O parâmetro `reason` contém a arma ID que causou a morte (255 por causas desconhecidas/outras)

## 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_Kill](../functions/NPC_Kill): Mate um NPC
- [NPC_Respawn](../functions/NPC_Respawn): Reaparece um NPC morto
- [NPC_GetHealth](../functions/NPC_GetHealth): Obtenha a saúde de NPC
- [NPC_SetHealth](../functions/NPC_SetHealth): Define a saúde de NPC

## Callbacks Relacionadas

- [OnNPCSpawn](OnNPCSpawn): Chamado quando um NPC surge
- [OnNPCRespawn](OnNPCRespawn): Chamado quando um NPC reaparece
- [OnNPCTakeDamage](OnNPCTakeDamage): Chamado quando um NPC sofre dano
- [OnPlayerDeath](OnPlayerDeath): Chamado quando um jogador morre
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: OnNPCDestroy
sidebar_label: OnNPCDestroy
description: "Este callback é chamado quando um NPC é destruído."
tags: ["npc"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC é destruído e removido do servidor.

| Nome | Descrição |
| ----- | ------------------------------------ |
| npcid | O ID do NPC que foi destruído |

## Exemplos

```c
public OnNPCDestroy(npcid)
{
printf("[NPC] NPC %d has been destroyed", npcid);

// Limpe qualquer jogador que esteja rastreando este NPC e notifique
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
PlayerNPC[playerid] = INVALID_NPC_ID;
SendClientMessage(playerid, 0xFF0000FF, "Your tracked NPC %d has been destroyed", npcid);
}
else
{
SendClientMessage(playerid, 0xFFFF00FF, "NPC %d has been destroyed", npcid);
}
}
return 1;
}

```
## Notas

- Este callback é chamado imediatamente antes de NPC ser removido do servidor
- O NPC será desconectado e seu slot de jogador liberado após este callback

## 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_Create](../functions/NPC_Create): Crie um novo NPC
- [NPC_Destroy](../functions/NPC_Destroy): Destrua um NPC existente
- [NPC_IsValid](../functions/NPC_IsValid): Verifique se NPC ID é válido

## Callbacks Relacionadas

- [OnNPCCreate](OnNPCCreate): Chamado quando um NPC é criado
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: OnNPCFinishMove
sidebar_label: OnNPCFinishMove
description: "Esse callback é chamado quando um NPC termina de se mover para seu destino."
tags: ["npc", "movement"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC termina de se mover para seu destino.

| Nome | Descrição |
| ----- | -------------------------------------- |
| npcid | O ID do NPC que terminou de se mover |

## Exemplos

```c
public OnNPCFinishMove(npcid)
{
// Encontre todos os jogadores rastreando este NPC
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
new Float:x, Float:y, Float:z;
NPC_GetPos(npcid, x, y, z);
SendClientMessage(playerid, 0x00FF00FF, "NPC %d finished moving to position (%.2f, %.2f, %.2f)", npcid, x, y, z);
}
}
return 1;
}
```
## Notas

- Este callback é chamado para todos os tipos de movimento do NPC (caminhar, correr, sprintar, dirigir)
- É chamado quando NPC atinge a posição alvo definida pelas funções de movimento
- Para movimentação baseada em caminho, isso é chamado quando todo o caminho é concluído (consulte `OnNPCFinishMovePath` para callback específico do caminho)
- Para seguir o jogador, isso é chamado quando NPC para de seguir (se a reinicialização automática estiver desabilitada)

## 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_Move](../functions/NPC_Move): Faça NPC se mover para uma posição
- [NPC_MoveToPlayer](../functions/NPC_MoveToPlayer): Faça NPC seguir um jogador
- [NPC_StopMove](../functions/NPC_StopMove): Parar o movimento NPC
- [NPC_IsMoving](../functions/NPC_IsMoving): Verifique se NPC está em movimento no momento

## Callbacks Relacionadas

- [OnNPCFinishNodePoint](OnNPCFinishNodePoint): Chamado quando NPC atinge um ponto de nó
- [OnNPCFinishNode](OnNPCFinishNode): Chamado quando NPC termina a navegação do nó
- [OnNPCFinishMovePath](OnNPCFinishMovePath): Chamado quando NPC termina de se mover ao longo de um caminho
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: OnNPCFinishMovePath
sidebar_label: OnNPCFinishMovePath
description: "Esse callback é chamado quando um NPC termina de se mover ao longo de um caminho predefinido."
tags: ["npc", "movement", "path"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC termina de se mover ao longo de um caminho predefinido.

| Nome | Descrição |
| ------ | ---------------------------------------- |
| npcid | O ID do NPC que finalizou o caminho |
| pathid | O ID do caminho que foi concluído |

## Exemplos

```c
public OnNPCFinishMovePath(npcid, pathid)
{
// Encontre todos os jogadores rastreando este NPC
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
SendClientMessage(playerid, 0x00FF00FF, "NPC %d finished moving along path %d", npcid, pathid);
}
}
return 1;
}

```
## Notas

- Este callback é acionado quando um NPC atinge o ponto final de um caminho
- O NPC para de se mover automaticamente quando este callback é chamado

## Funções Relacionadas

- [NPC_MoveByPath](../functions/NPC_MoveByPath): Faça NPC seguir um caminho
- [NPC_CreatePath](../functions/NPC_CreatePath): Crie um novo caminho de movimento
- [NPC_IsValidPath](../functions/NPC_IsValidPath): Verifique se o caminho é válido

## Callbacks Relacionadas

- [OnNPCFinishMove](OnNPCFinishMove): Chamado quando NPC finaliza qualquer movimento
- [OnNPCFinishNode](OnNPCFinishNode): Chamado quando NPC termina a navegação do nó
- [OnNPCFinishNodePoint](OnNPCFinishNodePoint): Chamado quando NPC atinge um ponto de nó
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: OnNPCFinishMovePathPoint
sidebar_label: OnNPCFinishMovePathPoint
description: "Chamado quando um NPC termina de se mover para um ponto específico em um caminho."
tags: ["npc", "path", "movement"]
---


<VersionWarn version='omp v1.5.8.3079' />

## Descrição

Esse callback é chamado quando um NPC termina de se mover para um ponto específico em um caminho.

| Nome | Descrição |
| ------- | ---------------------------------------------- |
| npcid | O ID do NPC que finalizou o caminho ponto |
| pathid | O ID do caminho que está sendo seguido |
| pointid | O índice do ponto alcançado |

## Exemplos

```c
public OnNPCFinishMovePathPoint(npcid, pathid, pointid)
{
// Encontre todos os jogadores rastreando este NPC
for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
if (!IsPlayerConnected(playerid))
continue;

if (PlayerNPC[playerid] == npcid)
{
SendClientMessage(playerid, 0xFFFF00FF, "NPC %d reached point %d on path %d", npcid, pointid, pathid);
}
}
return 1;
}

```
## Notas

- Este callback é acionado para cada ponto do caminho
- Use [OnNPCFinishMovePath](OnNPCFinishMovePath) para detectar quando todo o caminho for concluído
- O NPC deve estar se movendo ao longo de um caminho usando [NPC_MoveByPath](../functions/NPC_MoveByPath)

## Funções Relacionadas

- [NPC_MoveByPath](../functions/NPC_MoveByPath): Faça NPC seguir um caminho
- [NPC_CreatePath](../functions/NPC_CreatePath): Crie um novo caminho
- [NPC_AddPointToPath](../functions/NPC_AddPointToPath): Adicionar um ponto a um caminho
- [NPC_GetCurrentPathPointIndex](../functions/NPC_GetCurrentPathPointIndex): Obtenha o ponto do caminho atual

## Callbacks Relacionadas

- [OnNPCFinishMovePath](OnNPCFinishMovePath): Chamado quando NPC termina o caminho inteiro
- [OnNPCFinishMove](OnNPCFinishMove): Chamado quando NPC finaliza qualquer movimento
Loading