Procurar Player -
Solan - 07.01.2019
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.
Re: Procurar Player -
NelsonC - 07.01.2019
Use checkpoint, bem mais fбcil
https://forum.sa-mp.com/showpost.php...50&postcount=7
Re: Procurar Player -
iHollyZinhO - 07.01.2019
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.
Re: Procurar Player -
AutoMatic2 - 07.01.2019
Pq nгo usa CheckPoints?
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);
}
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: )
Re: Procurar Player -
Solan - 08.01.2019
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.
Re: Procurar Player -
Solan - 08.01.2019
Bom fui testar o comando, mas nгo esta criando a gang zone.
PHP код:
forward LocalizarJogador(playerid, ID);
public LocalizarJogador(playerid, ID)
{
new Float:Pos[3];
GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
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);
Distance = GetDistanceBetweenPlayers(playerid, ID);
if(Distance <= 6.0)
{
GangZoneHideForPlayer(playerid, gz);
KillTimer(TimerLocalizar[playerid]);
Localizar[playerid] = false;
SendClientMessage(playerid, CorBranca, "{FF0040}[Comando]{FFFFFF} Voce encontrou a pessoa que estava localizando");
}
return 1;
}