[Duvida] Criar locais de descarregamento aleatуrios -
LeonardoMD - 24.06.2018
Galera, como eu faзo pra criar locais de descarregamento aleatуrio? Exemplo, cada vez que o player digitasse /carregar na HQ, apareceria um local aleatуrio para ele descarregar. Tipo, eu definiria uns 5 locais de descarregar, que seria escolhido um desses 5 aleatoriamente quando desse /carregar. Alguйm sabe como faz isso?
Re: [Duvida] Criar locais de descarregamento aleatуrios -
1sbedx - 24.06.2018
http://forum.sa-mp.com/showpost.php?...21&postcount=6
Re: [Duvida] Criar locais de descarregamento aleatуrios -
Cauezin - 24.06.2018
Nгo sei se estб certo, mas testa ae.
PHP код:
static Float: Descarregar[5][3] = {
{0.0,0.0,0.0}. // X Y Z coord 1
{1.0,2.0,3.0}. // X Y Z coord 2
{4.0,5.0,6.0} // X Y Z coord 3
{7.0,8.0,9.0} // X Y Z coord 4
{10.0, 11.0, 12.0} // X Y Z coord 5
};
new random = random(sizeof(Descarregar));
SetPlayerCheckpoint(playerid, Descarregar[random][0], Descarregar[random][1], Descarregar[random][2], 5.0);
Re: [Duvida] Criar locais de descarregamento aleatуrios -
LeonardoMD - 24.06.2018
Quote:
Originally Posted by Cauezin
Nгo sei se estб certo, mas testa ae.
PHP код:
static Float: Descarregar[5][3] = {
{0.0,0.0,0.0}. // X Y Z coord 1
{1.0,2.0,3.0}. // X Y Z coord 2
{4.0,5.0,6.0} // X Y Z coord 3
{7.0,8.0,9.0} // X Y Z coord 4
{10.0, 11.0, 12.0} // X Y Z coord 5
};
new random = random(sizeof(Descarregar));
SetPlayerCheckpoint(playerid, Descarregar[random][0], Descarregar[random][1], Descarregar[random][2], 5.0);
|
Mas como eu faria pra quando digitasse /carregar marcar no mapa 1 desses locais aleatoriamente para descarregar?
Re: [Duvida] Criar locais de descarregamento aleatуrios -
Cauezin - 24.06.2018
Quote:
Originally Posted by LeonardoMD
Mas como eu faria pra quando digitasse /carregar marcar no mapa 1 desses locais aleatoriamente para descarregar?
|
PHP код:
CMD:carregar(playerid)
{
SetPlayerCheckpoint(playerid, Descarregar[random][0], Descarregar[random][1], Descarregar[random][2], 5.0);
SendClientMessage(playerid, -1, "[Caminhoneiros] Descarregue no ponto vermelho em seu mapa");
return 1;
}
Re: [Duvida] Criar locais de descarregamento aleatуrios -
LeonardoMD - 24.06.2018
Quote:
Originally Posted by Cauezin
PHP код:
CMD:carregar(playerid)
{
SetPlayerCheckpoint(playerid, Descarregar[random][0], Descarregar[random][1], Descarregar[random][2], 5.0);
SendClientMessage(playerid, -1, "[Caminhoneiros] Descarregue no ponto vermelho em seu mapa");
return 1;
}
|
Vlw mano! Tmj.
Mais uma dъvida hehe', como eu faria pra adaptar o comando /descarregar nesse caso? Tipo, pra verificar se o player estб em um dos 5 locais que foi aleatoriamente marcado no mapa quando ele deu /carregar? :/
Re: [Duvida] Criar locais de descarregamento aleatуrios -
Cauezin - 24.06.2018
Quote:
Originally Posted by LeonardoMD
Vlw mano! Tmj.
Mais uma dъvida hehe', como eu faria pra adaptar o comando /descarregar nesse caso? Tipo, pra verificar se o player estб em um dos 5 locais que foi aleatoriamente marcado no mapa quando ele deu /carregar? :/
|
Cara й um sistema de checkpoints, nгo precisa de /descarregar, quando vocк entrar no checkpoint vai ser exatamente /descarregar , sу que sem digitar comandos.
Estude como funciona os checkpoints para completar seu sistema.
Re: [Duvida] Criar locais de descarregamento aleatуrios -
FerrariL - 24.06.2018
Vocк terб que transformar a variбvel random em um vetor usando o MAX PLAYERS pois cada player terб seu checkpoint randomico. No comando descarregar vocк usa a funзгo IsPlayerInRangeOfPoint e usa como argumentos a matriz Carregar com нndice da variбvel criada.
Exemplo:
PHP код:
static Float: Descarregar[5][3] = {
{0.0,0.0,0.0}. // X Y Z coord 1
{1.0,2.0,3.0}. // X Y Z coord 2
{4.0,5.0,6.0} // X Y Z coord 3
{7.0,8.0,9.0} // X Y Z coord 4
{10.0, 11.0, 12.0} // X Y Z coord 5
};
new random[MAX_PLAYERS];
CMD:carregar(playerid)
{
random[playerid] = random(sizeof(Descarregar));
new index = random[playerid];
SetPlayerCheckpoint(playerid, Descarregar[index][0], Descarregar[index][1], Descarregar[index][2], 5.0);
SendClientMessage(playerid, -1, "[Caminhoneiros] Descarregue no ponto vermelho em seu mapa");
return 1;
}
CMD:descarregar(playerid)
{
new index = random[playerid];
if(!IsPlayerInRangeOfPoint(playerid,5.0,Descarregar[index][0], Descarregar[index][1], Descarregar[index][2]);
return SendClientMessage(playerid, -1,"Vocк nгo estб no local de entrega!");
return 1;
}