Сам я в скриптах не силён. Поэтому прошу помочь профессионалов.

Проблема:
http://www.heroeswt.net/forum/viewtopic.php?f=2&t=2#p8

Выявился баг, которой как я думал недопустит сама игра (((

В таверне могут появлятся одинаковые герои. Теоретически давно была известна эта проблема, но при разработке ни разу на это не натыкался, думал уже в игре заложены некоторые массивы из которых генерятся герои для таверни для разных игроков, но оказалось не так.

Техническое задание:
В ход красного игрока в начале дня:
- Проверяем если текущая дата > даты одновременного хода, то массив доступных героев пустой, отправляем эту информацию синему. Выходим из процедуры.
Дата одновременного хода записана в какой-нть v-переменной в формате MWD (например, 116)
- Создаём массив из свободных героев: нет у любого игрока или компа, не сидит в любом из замков, не сидит в тюрьме, не сидит ни одного игрока в таверне. Вобщем-то достаточно этих критериев.
- Распределяем этот массив пополам случайным образом между красныи и синим игроком.
- отправляем синему его половину героев, для красного оставляем свою.

При покупке героя в таверне:
1. Проверять если не заполнен массив доступных героев, то работаем в обычном режиме
Иначе:
2. Проверяем входит ли вновь появившийся герой в массив доступных
3. если нет, то перегенериваем, переходим в п.2

Доп. требования:
- совместимость со скриптами ТЕ

План тестирования:
- Включить одновременный ход до 111 (создать соответствующую v-переменную и так же выставить 111)
- Вставить сохраниние массивов в ЛОГ файл, убедиться что не содержат пересечений
- при заказе героя в таверне вставить отладочное сообщение, входит или нет следующий герой в массив
- сделать побольше денег и купить много героев красным и синим
- убедиться что на 112 (одновременный ход отключён) массив не заполниться и заказ гроев работает по старому.

Если кто возьмётся помочь, то вот моя аська - 343-425-087