Pular para o conteúdo principal

NPC_RemovePointFromPath

aviso

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

Descrição

Remove um waypoint de um caminho NPC.

NomeDescrição
pathidO ID do caminho
point_indexO índice do ponto a ser removido

Retornos

Retorna true em caso de sucesso, false em caso de falha.

Exemplos

public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strncmp(cmdtext, "/removepatrolpoint ", 19, true))
{
if (!NPC_IsValidPath(PlayerPatrolPath[playerid]))
{
SendClientMessage(playerid, 0xFF0000FF, "No valid patrol path. Use /createpatrol first.");
return 1;
}

new pointIndex = strval(cmdtext[19]);
new totalPoints = NPC_GetPathPointCount(PlayerPatrolPath[playerid]);

if (pointIndex < 0 || pointIndex >= totalPoints)
{
SendClientMessage(playerid, 0xFF0000FF, "Invalid point index. Valid range: 0-%d", totalPoints - 1);
return 1;
}

if (NPC_RemovePointFromPath(PlayerPatrolPath[playerid], pointIndex))
{
SendClientMessage(playerid, 0x00FF00FF, "Removed point %d from path %d (now has %d points)", pointIndex, PlayerPatrolPath[playerid], totalPoints - 1);
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Failed to remove point %d from path", pointIndex);
}
return 1;
}
return 0;
}

Notas

  • Os índices de pontos começam em 0
  • A remoção de um ponto deslocará todos os pontos subsequentes para baixo em um índice
  • Se o índice especificado estiver fora dos limites, a função retornará false
  • Você não pode remover pontos de um caminho inválido

Funções Relacionadas

Callbacks Relacionadas