Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

[Помощь] Как исправить "зацикливание" в функции?

trollface
сообщение 17.5.2014, 20:38
Сообщение #1
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Всем привет.
Есть функция:
Код:
RandomSpawn(id)
{
if(!is_user_alive(id) || spawnCount <= 0) return;

static Float:vecHolder[3];
new sp_index = random_num(0,spawnCount-1);

vecHolder[0] = spawns[sp_index][0];
vecHolder[1] = spawns[sp_index][1];
vecHolder[2] = spawns[sp_index][2];

if(!is_hull_vacant(vecHolder,HULL_HUMAN) && spawnCount > 1)
{
new i
for(i=0;i<3;i++)
{
sp_index = random_num(0,spawnCount-1);

vecHolder[0] = spawns[sp_index][0];
vecHolder[1] = spawns[sp_index][1];
vecHolder[2] = spawns[sp_index][2];

if(is_hull_vacant(vecHolder,HULL_HUMAN)) break;
}

if(i == 3)
{
for(i=sp_index+1;i!=sp_index;i++)
{
if(i >= spawnCount) i = 0;

vecHolder[0] = spawns[i][0];
vecHolder[1] = spawns[i][1];
vecHolder[2] = spawns[i][2];

if(is_hull_vacant(vecHolder,HULL_HUMAN))
{
sp_index = i;
break;
}
}
}
}

vecHolder[0] = spawns[sp_index][0];
vecHolder[1] = spawns[sp_index][1];
vecHolder[2] = spawns[sp_index][2];
engfunc(EngFunc_SetOrigin,id,vecHolder);

vecHolder[0] = spawns[sp_index][3];
vecHolder[1] = spawns[sp_index][4];
vecHolder[2] = spawns[sp_index][5];
set_pev(id,pev_angles,vecHolder);

vecHolder[0] = spawns[sp_index][6];
vecHolder[1] = spawns[sp_index][7];
vecHolder[2] = spawns[sp_index][8];
set_pev(id,pev_v_angle,vecHolder);
set_pev(id,pev_fixangle,1);
}


Предположительно проблемный участок:
Код:
if(i == 3)
{
for(i=sp_index+1;i!=sp_index;i++)
{
if(i >= spawnCount) i = 0;

vecHolder[0] = spawns[i][0];
vecHolder[1] = spawns[i][1];
vecHolder[2] = spawns[i][2];

if(is_hull_vacant(vecHolder,HULL_HUMAN))
{
sp_index = i;
break;
}
}
}

Вот этот(наверное этот) участок загоняется в вечный цикл, после чего сервер фейлится sad.gif

Подскажите, пожалуйста, как его зафиксить?;)
Или может есть другой способ организовать рандомные спавны?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
trollface
сообщение 18.5.2014, 8:58
Сообщение #2
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

С позволения администрации, UPну ка я тему ^_^
Проблема очень серьезная sad.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: