Создал систему, при которой ИИ призывает в первую очередь героя кампании, либо во вторую очередь обычного героя.
В самом начале я назначаю порядковый номер для каждого типа героя:
И затем выбрасываю кости. И в зависимости от типа, компьютер проверяет, доступен ли герой кампании (на всех игроков доступен только один игрок!) Например если выпал Far Seer, он попытается призвать Тралла.
Проблема возникает, если двум разным ИИ выпадет один и тот же тип героя. В этом случае один из ИИ просто никого не купит! И я не понимаю в чём дело. Не могу понять где ошибся. Подписал все триггеры, и всё равно не понимаю.
Также принимается любая критика по моим триггерам, т.к. в кодинге не шарю.
Открыть
Суть в том, что мне нужно проверять пикнул ли героя кампании уже кто-то. И я не нашёл ничего умнее, кроме как сохранять переменную Boolean для каждого типа героя. Т.е. если какой-то герой был выбран, я сохраняю True. Затем проверяю.

С помощью дебагов обнаружил, что функция Hashtable - Load Integer of X of get handle ( units of type ) не работает.
Методом многочисленных проб и ошибок я смог найти как обойти баг с Units of Type в Хэштаблицах. Нужно сделать следующее:
Key ( Convert String to Integer ( Convert Unit type to String)
Т.е. нам нужно представить ключ в хэш таблице как число. Конвертировать строку в число. Конвертировать тип юнита в строку. Чтобы в конечном счёте получить зашифрованное число типа юнита. Т.к. хэш таблицы понимают только числа.
Если кто знает способ лучше - сообщите.
`
ОЖИДАНИЕ РЕКЛАМЫ...
9
С помощью дебагов обнаружил, что функция Hashtable - Load Integer of X of get handle ( units of type ) не работает.
Методом многочисленных проб и ошибок я смог найти как обойти баг с Units of Type в Хэштаблицах. Нужно сделать следующее:
Key ( Convert String to Integer ( Convert Unit type to String)
Т.е. нам нужно представить ключ в хэш таблице как число. Конвертировать строку в число. Конвертировать тип юнита в строку. Чтобы в конечном счёте получить зашифрованное число типа юнита. Т.к. хэш таблицы понимают только числа.
Если кто знает способ лучше - сообщите.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.