@Select_SpawnPoint(id)
{
if (m_arrSpawnPointsVec == Invalid_Array)
return -1;
new count = ArraySize(m_arrSpawnPointsVec);
if (count <= 0)
return -1;
new SpawnData:data;
new index;
for (new i = 0; i < count; i++)
{
index = random(count);
if (index < 0 || index >= count)
continue;
ArrayGetArray(m_arrSpawnPointsVec, index, data);
if (IsHullVacant(id, data[SpawnOrigin], HULL_HUMAN))
return index;
}
// Если свободную точку не нашли — возвращаем любую валидную.
index = random(count);
if (index < 0 || index >= count)
index = 0;
return index;
}