25/05/2021 09:17
(24/05/2021 17:44)ProKillerPa Escreveu: Boa tarde.
Sim, seu codigo possui uns errinhos, veja só: Em loops quando voce quer imprimir uma mensagem como a sua que o jogador nao está proximo de um deposito por exemplo, voce precisa usar a criatividade. Eu geralmente uso uma variavel e atribuo um valor a ela, e depois verifico se é igual a 0 ou igual a 1. O Problema do seu script é o seguinte: Voce identifica no loop que começa em 0, que é a coordenada de LV, até aí OK. Porém voce usa um else logo abaixo, fazendo com que o script encerre o loop através do return caso o jogador não esteja na coordenada encontrada pelo primeiro giro do loop ( lv ).
Para sanar seu problema, voce fará o seguinte:
Código PHP:new Float:x, Float:y, Float:z, pqp = 0;
for(new i = 0; i < sizeof(ACourierDepots); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 1000.0, ACourierDepots[i][DepotX], ACourierDepots[i][DepotY], ACourierDepots[i][DepotZ]))
{
x = ACourierDepots[i][DepotX];
y = ACourierDepots[i][DepotY];
z = ACourierDepots[i][DepotZ];
pqp++;
SendClientMessage(playerid, -1, "Voce esta no Range 1000.0 de um dos 3 depositos.");
break;
}
}
if(pqp == 0) SendClientMessage(playerid, -1, "* Fora do alcance de depósitos.");
Foram erros bobos, muito obrigado! +rep
virtuS_#6832