Добавьте рандом в функцию
Т.е. если это город такого-то класса и уровень существ такой-то, то если Random(1, 100) > 75, то умножаем коэффициент на 100, например, если нет - возвращаем дефолт.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Улучшение ИИДобавьте рандом в функцию
Т.е. если это город такого-то класса и уровень существ такой-то, то если Random(1, 100) > 75, то умножаем коэффициент на 100, например, если нет - возвращаем дефолт. |
Re: Улучшение ИИКстати вариант
Только надо ее еще как-то по дням распределить. Наверное просто сделаю один раз за первую неделю. |
Re: Улучшение ИИНо она же будет срабатывать каждый день.
И в итоге за неделю грейд скорее всего всегда будет. |
Re: Улучшение ИИМожно много условий добавить в эту функцию. Например, проверять, построены ли строения, которые должны идти в связке (типа комбо юнитов), построены ли более важные строения, чем грейд двеллинга и т.п.
|
Re: Улучшение ИИНе понимаю какой синтаксис для получения массива v41[44] [esp+58Ch] [ebp-114h] в LowHook по 0x42B1E2
... Вот так вроде получилось:
|
Re: Улучшение ИИ
|
Re: Улучшение ИИВот скажите, пожалуйста, почему функция sub_5C14F0 (GetResourcesRequirements) декомпилируется как
? Куда подевался случай, когда a2 >= 30 с веткой TownDwellingResourcesReq? Я считаю это критической ошибкой декомпиляции. Ассемблерный листинг:
Ghidra не ошибается (хоть и не распознаёт qmemcpy()):
|
Re: Улучшение ИИДавайте декомпилируем руками.
0. Ветка a2 < 17:
Итак,
* В базе Heroes3f TownNormalBuildingResourcesReq определёна как dd, а не db, поэтому в листинге IDA индекс [7 * a2].
1. Ветка a2 < 30:
Итак,
2. Ветка a2 >= 30:
Итак,
Итого:
28 - очевидно sizeof(_Resource_). Тогда аргумент a3 имеет тип _Resource_. Последний раз редактировалось AlexSpl 07 май 2020, 13:34, всего редактировалось 5 раз(а).
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1