[Ajuda] Procurar Player
#1

Bom tenho uma dъvida sobre um possнvel comando que estou querendo "criar".

Quando o jogador digitar o comando /procurar ID, vai criar uma GangZoneFlashForPlayer ou GangZoneCreate para marcar a localizaзгo do jogador.
Estou querendo uma Base para fazer esse comando, nгo sei mecher muito com GangZoneCreate.
Reply
#2

Use checkpoint, bem mais fбcil
https://forum.sa-mp.com/showpost.php...50&postcount=7
Reply
#3

Se tratando de GangZone, acho que vocк quer que a бrea possнvel de um jogador seja marcada no mapa. O cуdigo para essa situaзгo fica da seguinte forma:


Код:
new Float:Pos[3];
GetPlayerPos(newplayerid, Pos[0], Pos[1], Pos[2]);//Captura as coordenadas do player

//Serб criada uma GangZone com uma variaзгo aleatуria, com base na coordenada do player, podendo ter uma variaзгo de 0 atй 0.5
new gz = GangZoneCreate(Pos[0] + random(5)/10, Pos[1] + random(5)/10, Pos[0] + random(5)/10, Pos[1] + random(5)/10);
GangZoneShowForPlayer(playerid, gz, 0xFFFFFFFF);
A nгo ser que vocк esteja se referindo a Map icon, que й o seguinte:
https://sampwiki.blast.hk/wiki/Map_icons

Nesse caso, й outro procedimento, mas verifique se isso te atende.
Reply
#4

Pq nгo usa CheckPoints?

PHP код:
new TimerProcura[MAX_PLAYERS];
new 
bool:Procurando[MAX_PLAYERS];
CMD:procurar(playeridparams[])
{
    new 
idstring[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"1000false"uu"playeridid);
    
format(stringsizeof(string), "| INFO | Vocк estб procurando o jogador(a) %s (%d) Siga o ponto Vermelho para achб-lo!"Nome(id), id);
    
SendClientMessage(playerid, -1string);
    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(playeridid);
public 
ProcurarPlayer(playeridid)
{
    new 
Float:Pos[3], Float:Distance;
    
GetPlayerPos(idPos[0], Pos[1], Pos[2]);
    
    
Distance GetDistanceBetweenPlayers(playeridid);
    
    
DisablePlayerCheckpoint(playerid);
    
SetPlayerCheckpoint(playeridPos[0], Pos[1], Pos[2], 1.0);
    
SetPlayerMarkerForPlayer(playeridid0xFF0000AA);
    
    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(playeridid)
{
    new 
Float:DistanciaFloat:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    
GetPlayerPos(playeridx1y1z1);
    
GetPlayerPos(idx2y2z2);
    
    
Distancia floatsqroot(floatpower(floatabs(floatsub(x2x1)),2)+floatpower(floatabs(floatsub(y2y1)),2)+floatpower(floatabs(floatsub(z2z1)), 2));
    return 
floatround(Distancia);

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: )
Reply
#5

Isso mesmo quero fazer IHollyZinho, vou criar uma possнvel localizaзгo do player.

Nгo vou usar CheckPoint no /procurar, porque nгo vai dar uma dificuldade para encontrar o player.

Vou tentar fazer a programaзгo.
Reply
#6

Bom fui testar o comando, mas nгo esta criando a gang zone.

PHP код:
forward LocalizarJogador(playeridID);
public 
LocalizarJogador(playeridID)
{
  new 
Float:Pos[3];
  
GetPlayerPos(IDPos[0], Pos[1], Pos[2]);
  new 
gz GangZoneCreate(Pos[0] + random(5)/10Pos[1] + random(5)/10Pos[0] + random(5)/10Pos[1] + random(5)/10);
  
GangZoneShowForPlayer(playeridgz0xFFFFFFFF);
  
  
Distance GetDistanceBetweenPlayers(playeridID); 
  if(
Distance <= 6.0)
  {
      
      
GangZoneHideForPlayer(playeridgz);
      
KillTimer(TimerLocalizar[playerid]);
      
Localizar[playerid] = false;
      
SendClientMessage(playeridCorBranca"{FF0040}[Comando]{FFFFFF} Voce encontrou a pessoa que estava localizando");
  }
  return 
1;

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)