Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Улучшение ИИ

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Улучшение ИИ

Сообщение as239 » 11 май 2020, 08:58

Разобрался с причиной, но вот где это происходит в коде не понятно.
В 4500 MP от этого героя сидит Солмир с бесконечными очками движения.
Если его удалить, убрать в город или вернуть ему обычное количество MP, то ИИ город забирает.
В чем здесь логика, не понятно.
Может ИИ рассчитал угрозу и пытается убежать от нее как можно дальше?
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 11 май 2020, 09:16

Да, так и есть. И логика здесь абсолютно понятна.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Улучшение ИИ

Сообщение as239 » 11 май 2020, 15:27

А в какой функции можно управлять, на какой стек ИИ будет накладывать заклинание?
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 11 май 2020, 16:59

Так просто не ответишь.
Но все начинается здесь CombatAI_0043C450_SpellsAI

И в конце этой функции можно видеть итог:
Код: Выделить всё
pCombatManager->ActionTarget = v25;
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Улучшение ИИ

Сообщение as239 » 13 май 2020, 14:50

А где функция конец ход для ИИ?
Т.е. точка где ИИ сделал все что хотел, но еще не передал ход.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Улучшение ИИ

Сообщение AlexSpl » 13 май 2020, 14:56

Попробуйте хук на 0x408B3D, сразу после вызова sub_00526360.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Улучшение ИИ

Сообщение as239 » 13 май 2020, 15:11

А как можно купить существ из замка?
Например первый уровень.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Улучшение ИИ

Сообщение AlexSpl » 13 май 2020, 21:18

Функция покупки существ ИИ довольно большая. Там и уплотнение армии, и сброс отрядов в гарнизон, и поиск лучших существ для покупки, и обмен ресурсов, если их не хватает. Проще найти в гарнизоне свободный слот, вычесть кол-во нанимаемых существ из кол-ва доступных и их стоимость из казны игрока. ИИ потом сам придёт и заберёт войска (я надеюсь).

Вот тут 0x42BBB9 начинается вызов функции, в которой ИИ скупает войска в замке. Можно хукнуть и купить всё за него. По этому адресу в стек пушится последний аргумент (экипирован ли герой артефактом Angelic Alliance). Наверно, для проверки морали. Типа мораль может повлиять на решение о покупке войск, я думаю. Или на то, какие войска забирать с собой, а какие оставлять в гарнизоне.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Улучшение ИИ

Сообщение as239 » 14 май 2020, 06:22

Доступная для найма, армия города, хранится в recruits[2][7].
А как проще всего перевести уровень существа в городе в его тип, чтобы получить стоимость найма?
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 14 май 2020, 06:49

Код: Выделить всё
int creature_id = *(int*)(0x6747B4 + 4 * i + 56 * town->type);
int gold += o_pCreatureInfo[creature_id].cost.gold * town->available_creatures[i];


i = от 0 до 6 для негрейженных, от 7 до 13 для грейженных.
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2