07.01.2019, 23:45
Pq nгo usa CheckPoints?
Nгo testei, pode haver alguns bugs. se tiver vc da uma corrigida e deixar do seu jeito. e claro se vc for usar esta base! 
Obs:
eu peguei essa funзгo ( GetDistanceBetweenPlayers ) em um post qualquer aqui do fуrum se der algum erro nisso busque outro e coloque no final do GM ou acima dos comandos ( CMD: )
PHP код:
new TimerProcura[MAX_PLAYERS];
new bool:Procurando[MAX_PLAYERS];
CMD:procurar(playerid, params[])
{
new id, string[100];
if(sscanf(params, "u", id))
return SendClientMessage(playerid, -1, "| ERRO | Use: /Procurar [id]");
if(!IsPlayerConnected(id))
return SendClientMessage(playerid, -1, "| ERRO | ID Invбlido!");
if(playerid == id)
return SendClientMessage(playerid, -1, "| ERRO | Vocк nгo pode usar este comando em vocк mesmo!");
if(Procurando[playerid] == true)
return SendClientMessage(playerid, -1, "| ERRO | Vocк jб estб procurando alguem!");
Procurando[playerid] = true;
TimerProcura[playerid] = SetTimerEx("ProcurarPlayer", 1000, false, "uu", playerid, id);
format(string, sizeof(string), "| INFO | Vocк estб procurando o jogador(a) %s (%d) Siga o ponto Vermelho para achб-lo!", Nome(id), id);
SendClientMessage(playerid, -1, string);
return 1;
}
CMD:procuraroff(playerid)
{
if(Procurando[playerid] == false)
return SendClientMessage(playerid, -1, "| ERRO | Vocк nгo estб procurando ninguйm!");
DisablePlayerCheckpoint(playerid);
KillTimer(TimerProcura[playerid]);
Procurando[playerid] = false;
SendClientMessage(playerid, -1, "| INFO | Vocк nгo estб mais procurando ninguйm!");
return 1;
}
forward ProcurarPlayer(playerid, id);
public ProcurarPlayer(playerid, id)
{
new Float:Pos[3], Float:Distance;
GetPlayerPos(id, Pos[0], Pos[1], Pos[2]);
Distance = GetDistanceBetweenPlayers(playerid, id);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, Pos[0], Pos[1], Pos[2], 1.0);
SetPlayerMarkerForPlayer(playerid, id, 0xFF0000AA);
if(Distance <= 6.0)
{
DisablePlayerCheckpoint(playerid);
KillTimer(TimerProcura[playerid]);
Procurando[playerid] = false;
SendClientMessage(playerid, -1, "| INFO | Vocк encontrou o(a) jogador que estava procurando!");
}
return 1;
}
GetDistanceBetweenPlayers(playerid, id)
{
new Float:Distancia, Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid, x1, y1, z1);
GetPlayerPos(id, x2, y2, z2);
Distancia = floatsqroot(floatpower(floatabs(floatsub(x2, x1)),2)+floatpower(floatabs(floatsub(y2, y1)),2)+floatpower(floatabs(floatsub(z2, z1)), 2));
return floatround(Distancia);
}

Obs:
eu peguei essa funзгo ( GetDistanceBetweenPlayers ) em um post qualquer aqui do fуrum se der algum erro nisso busque outro e coloque no final do GM ou acima dos comandos ( CMD: )