Загрузка данных


@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;
}