Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как зациклить вход при автоматическом выборе команды?
Ихtианdр
Дата: Пятница, 08.03.2013, 15:33 | Сообщение # 1
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
Приветствую!
Суть проблемы такова. В плагине регистрации есть функция автовыбора команды. В исходнике такой код:

if(g_team_num == 5)
{
g_team_num = random_num(1, 2)
}
else if(g_team_num != 1 && g_team_num != 2)
return PLUGIN_HANDLED

То есть, если стоит автовыбор команды (5), то выбирается рандомно команда 1 или 2, если они обе заняты, то выдаётся сообщение, что мест в команде нет.
НО у меня на сервере стоит автобаланс, так что если рандом выпадает за команду с большим количеством людей, то человеку говорится, что все места заняты, хотя в другой команде полно мест.

Попробовал зациклить так:

if(g_team_num == 5)
{
g_team_num = random_num(1, 2)
}
else if(g_team_num != 1 && g_team_num != 2)
{
g_team_num = random_num(1, 2)
}
else if(g_team_num != 1 && g_team_num != 2)
{
g_team_num = random_num(1, 2)
}
 else if(g_team_num != 1 && g_team_num != 2) и т.д. ещё несколько раз.

Вроде работает, но хотелось бы сделать не одноразовое прохождение всех if else, потому что рандом есть рандом, а сделать это до тех пор пока игрок не зайдёт за какую-нибудь команду. Слотов на сервере 32, так что все зашедшие должны попасть в какую-либо команду.
Помогите пожалуйста, подскажите свои идеи.
Спасибо!
 
Contra63
Дата: Пятница, 08.03.2013, 22:55 | Сообщение # 2
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
Ихtианdр, проход цыклом по всем, если не в команде делать random_num

 
Ихtианdр
Дата: Суббота, 09.03.2013, 00:34 | Сообщение # 3
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
Не прокатит, сразу после смены карты эта проблема проявляется сильнее всего. Вот пример: человек заходит, сначала его посылает в команду теров, но там слишком много человек, но в этот момент за контров заходит другой человек и количество контров увеличивается, поэтому и за контров зайти не получится, надо посылать его снова за теров и т.д. из-за этого многие не могли зайти.
 
Contra63
Дата: Суббота, 09.03.2013, 01:42 | Сообщение # 4
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
Ихtианdр, смотри

Описание:
Плагин, предназначенный для мгновенной балансировки команд, вместо стандартной
балансировки при mp_autoteambalance "1" в конце раунда.

Серверные настройки:
iatb_active 0/1
0 - плагин выключен
1 - плагин включен, если mp_autoteambalance "1"

iatb_admins_immunity 0/1
Выключить/включить использование иммунитета админов.
Примечание: данная опция не спасает админов от стандартной балансировке команд.

http://dfiles.ru/files/bgr3r4svz




Сообщение отредактировал Contra63 - Суббота, 09.03.2013, 01:44
 
Ихtианdр
Дата: Суббота, 09.03.2013, 11:36 | Сообщение # 5
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
Contra63, Спасибо, попробую:)
Мне просто уже самому интересно стало, как же можно максимально практично реализовать вход в том плагине?))


Сообщение отредактировал Ихtианdр - Суббота, 09.03.2013, 12:11
 
  • Страница 1 из 1
  • 1
Поиск: