28/03/2023 10:53
(28/03/2023 10:10)hiwyn Escreveu:(28/03/2023 08:06)Dr Editor Escreveu: Não encontrei a distância em que os veículos aparecem para os jogadores, mas você pode ver isso utilizando a função OnVehicleStreamIn e no momento em que for chamada você pega a distância entre o player e o veículo.
Utilizando essa distância-base basta criar um loop com o mesmo alcance e identificar quais veículos estão dentro desta condição.
A questão não é a distancia
O problema do tópico que é o que eu não sei fazer é:
Como criar a lista de veiculos streammados pra players com o Interator da lib foreach
E conseguir percorrer ela sem cair meu servidor
Entendi exatamente o ponto do tópico e te dei um norte de como resolver isso através de outra alternativa.
Seu código é curto e não apresenta nenhum erro lógico. Neste caso temos que otpar por um plano B.
Espero que consiga compreender com o exemplo abaixo baseado na minha primeira resposta:
Vamos supor que a distância do stream de veículos é 200;
Código:
CMD:test(playerid) {
new Float:stream = 200.0, Float:x, Float:y, Float:z;
for(new i = 0; i < MAX_VEHICLES; i ++) {
if(!IsValidVehicle(i))
continue;
GetVehiclePos(i, x, y, z);
if(IsPlayerInRangeOfPoint(playerid, stream, x, y, z))
printf("%i", vehid);
}
return true;
}
É um código apenas para exemplificar o que estava tentando explicar. Fiz na marra, não compilei e serve apenas para se basear na lógica.
Para maior precisão basta diminuir a distância de stream.
SA:MP Dev Tools
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140