22/12/2020 10:44
Código-base funcional.
Retorna -1 caso todas as posição estejam ocupadas e caso retorne acima de -1 então este é o novo index da posição aleatória que ainda não foi ocupada.
Retorna -1 caso todas as posição estejam ocupadas e caso retorne acima de -1 então este é o novo index da posição aleatória que ainda não foi ocupada.
Código:
new Float:pos[][] =
{
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 },
{ 0.0, 0.0, 0.0 }
};
new bool:usedPos[sizeof(pos)];
stock GetRandomAvaliablePos()
{
new maxp = sizeof(usedPos);
new maxPos = maxp;
new rndPos = random(maxp);
while(usedPos[rndPos] && maxPos > -1)
{
rndPos = random(maxp);
maxPos --;
}
if(maxPos > -1)
{
usedPos[rndPos] = true;
return rndPos;
}
else
return -1;
}
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