11/01/2023 12:20
(Esta mensagem foi modificada pela última vez a: 11/01/2023 12:21 por xbruno1000x.)
(11/01/2023 09:29)MisteriumBr Escreveu: Opa, como ficaria o codigo acima com a função GetDistanceBetweenPlayers?
Função GetDistanceBetweenPlayers:
Código:
forward Float:GetDistanceBetweenPlayers(p1,p2);
public Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:Pos1[3], Float:Pos2[3];
if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
return -1.00;
GetPlayerPos(p1, Pos1[0], Pos1[1], Pos1[2]),
GetPlayerPos(p2, Pos2[0], Pos2[1], Pos2[2]);
return floatsqroot(floatpower(floatabs(floatsub(Pos2[0],Pos1[0])),2)+floatpower(floatabs(floatsub(Pos2[1],Pos1[1])),2)+floatpower(floatabs(floatsub(Pos2[2],Pos1[2])),2));
}
Comando:
Código:
CMD:teste(playerid, params[])
{
new Float:PosCP[3], str[40];
GetPlayerPos(playerid, PosCP[0], PosCP[1], PosCP[2]);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetDistanceBetweenPlayers(playerid, i) <= 10)
{
format(str, sizeof(str),"Você está próximo do jogador %s, você deu 1000 reais à ele.", nome(i));
SCM(playerid, -1, str);
GivePlayerMoney(i, 1000);
}
}
return 1;
}
Vale ressaltar que para dar o dinheiro apenas para 1 jogador, terá que usar o break para parar o looping.
Discente de Sistemas de Informação no Centro Federal de Ensino Tecnológico(CEFET/RJ)
Programador SA-MP desde 2012
Programador SA-MP desde 2012
Não envie dúvidas por inbox, crie um tópico. Sua dúvida pode ser a dúvida de outro alguém, e seu tópico ajudará outras pessoas no futuro.