Как зациклить вход при автоматическом выборе команды?
|
|
Их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 |
|
| |