[1.0] Team Balance (мгновенный баланс по числу игроков)

Однорукий Джо

Пользователь
Регистрация
10 Июн 2017
Сообщения
32
Симпатии
29
Пол
Мужской
#1
Автор: neygomon

Team Balance
— аналог стандартного авто-баланса игроков. Моментально балансирует команды по числу игроков перед началом нового раунда. В команду с меньшим числом игроков перекидывает случайно выбранных игроков из команды с большим числом игроков.

Особенности:
  • Моментальная балансировка команд, в каждом раунде
  • Высокая скорость работы
  • Не убивает живых игроков, так как переносит не в игре, а перед началом раунда, когда игра ещё не началась.
Требования:
  • mp_autoteambalance 0
Установка:
  1. Как обычный плагин amxx. Компилим, заливаем, прописываем в plugins.ini.
 

Вложения

Последнее редактирование: Однорукий Джо

Nebo

Пользователь
Регистрация
9 Июн 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#2
Установил данный плагин, но баланс работает как то криво. Т.е делает баланс не по числу игроков, а например:
было 11 игроков, потом раз и плагин сделал так, 8 на 3
 

Nebo

Пользователь
Регистрация
9 Июн 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#6
wareznik, это в game.cfg как я понимаю?
Если же в game.cfg, то что со стандартной командой делать, которая в server.cfg?
 

famas

Пользователь
Регистрация
13 Июн 2017
Сообщения
39
Симпатии
2
Пол
Мужской
#9
и подскажите пожалуйста у данного плагина можно сделать иммунитет?
 

Вложения

web.dark.angel190

Пользователь
Регистрация
20 Авг 2017
Сообщения
1
Симпатии
0
Пол
Мужской
#10
Странная математическая система в коде..
Вначале заполняются массив игроками ТТ, затем КТ..
Код:
    get_players(pl, tt, "e", "TERRORIST");
    get_players(pl, ct, "e", "CT");
Например первые 9 -- ТТ, а остальные -- 11 КТ.
Иначе говоря 9 vs 11.

>> (abs(9 - 11) / 2) == 1
>> random((9 > 11) ? 9 : 11 - 1) -> random(10)

Т.е. переместим случайного из первых 10-и игроков, аля ТТ за КТ создавая ещё больший дисбаланс?

Или я не правильно понял работу функции get_players() . Если она работает так, как я описал выше, то мб вернее было сделать так:

arr = random((tt > ct) ? tt : ct - 1) + ((tt > ct) ? 0 : tt);

Если ошибаюсь, поправьте!
 
Последнее редактирование: web.dark.angel190