И так у меня карта с жанром Мили(развитие). Там 3 расы. Сами юниты - изменённые стандартные с импортированными моделями. АИ конечно же стандартный близзардовский. Но в варике 4 расы. Изменены Альянс, Орки и Андеды. Ночные Эльфы лишние, поэтому я решил заменить их на одну из рас. Раскрыв БЖ стартовых функций Мили, я сделал так, что бы если раса АИ - Ночные Эльфы, то им выдаются юниты другой расы, и запускаются соответствующие скрипты АИ. С начала я заменял Ночных Эльфов на Альянс, т.е. игрок или АИ который выбрал Ночных Эльфов получал стартовых Альянсовых Юнитов, и если это АИ, то ему запускались АИ скрипты. А ещё я выставил RacePreference на Альянс (если игрок или АИ - Ночной Эльф).
Это работало, но не так как хотелось бы с АИ. Он начинает добывать ресурсы, строить дома (фермы) и строит либо Лесопилку либо Алтарь. И всё. Дальше ничего. Только рабочие добывают дерево и золото. Я попробовал менять Ночных Эльфов Орками (т.е. всё как положено, АИ крипты, стартовые юниты и RacePreference), но результат тот же.
Да знаю, похожую тему я создавал, но читайте дальше. Тут кое что возможно поможет вам помочь мне разобраться.
Тогда я попробовал заменять Ночных Эльфов на Андед, так же, как и раньше, создавая стартовых Андед юнитов, врубая Андед АИ скрипты, и триггерно меняя RacePreference на Андедовский Преференс, если раса - Ночные Эльфы.
Code
local integer i = 0
loop exitwhen i > 11 if GetPlayerRace( Player(i) ) == RACE_NIGHTELF then call SetPlayerRacePreference( Player(i), RACE_PREF_UNDEAD ) endif set i = i + 1 endloop
Я решил сыграть против 6 АИ игроков. Всем выбрал расу Ночной Эльф, и в игре естественно они стали Андедами. И оно заработало. АИ начал развиваться, строить боевые еденицы, охотиться на крипов, захватывать рудники и переходить в Тир2. И в Тир2 даже создали второго героя. Однако и тут проблема. АИ не всегда продолжает развиваться до Тир3. Почти все они дошли до Тир2 и на нём остановились. Лишь только один из 6-ти АИ развился до Ти3. Я решил опять проверить, и тот же результат. При любом раскладе, только 1 из АИ доходит до Тир3, остальные остаются и играют на Тир2.
Кто может помочь разобраться в чём дело? Есть и альтернативный вариант - кто то знает как запретить выбор расы Ночных Эльфов там где выбирается раса и комманды?
FatalBlade, недавно столкнулся с тем же отстоем в мили-карте, когда добавил темную охотницу для тренировки в алтаре андедов. Стандартный АИ дополнен триггерами, триггер даёт определённый шанс натренировать необычного дл расы героя. Если это происходит - андед остаётся в стадии развития 2, т.е. не строит тёмную цитадель. Мало того - стремится придерживаться лимита в 35 ед. пищи. Как это поправить в редакторе ИИ - неизвестно абсолютно. Но триггерами вручную можешь дописать АИ сам так как надо, сложного в этом нету совсем ничего
Naturekid, но ведь я ничего не добавлял. Я использую стандартных юнитов, стандартные здания, стандартные апгрейды и стандартные АИ скрипты. Да и тому же если я выберу игроку АИ расы Андед, то он нормально развивается. Проблема только тогда, когда я выбераю для АИ расу Ночных Эльфов, которые при Ините заменяются на Андед. То есть получается что АИ скриптов и стартовых юнитов заменить не достаточно. Дело в выбранной расе. Но что ещё можно поменять?
Да и кстати, 1 из игроков АИ всё же развивался до Тир3, хотя все они были выбранны как Ночные Эльфы.
Quote (Naturekid)
Но триггерами вручную можешь дописать АИ сам так как надо, сложного в этом нету совсем ничего
Вот я смотрю в открытый скрипт АИ для андедов. Тут СТОЛЬКО всего... функции внутри функций. Куча глобалок, локалок, ссылок, ифзенов... Как это всё можно иммитировать? Я уже не говорю о том что надо всё правильно иммитировать, что бы не пострадал баланс.
Сообщение отредактировал FatalBlade - Воскресенье, 11 Ноября 2012, 00:13:16
Но и АИ на разных патчах неидеальны. Например ненаю как на други а у мну на 1.21 Альянс в стандартной карте вообще может на всю игру в пехотинцах застрять. Вторичная база эльфов, точнее запутанный рудник на ней стоит без светляков, да там много всяких неприятностей выделить можно.
Вот кстати есть карта, с кое-каким набором триггеров, рекомендуемых мной для мили-карт. Ну так для наглядности. Без утечек есесно. http://www.epicwar.com/maps/216768/ Только как раз с переходом на Т3 нежити удалить баг я там забыл, но в принципе на примере других поправок всё и так ясно прекрасно. -_- Мудрённого там 0.
Добавлено (11 Ноября 2012, 00:20:17) --------------------------------------------- Открытая мапа офк, с триггерными добавлениями для улучшения ИИ стандартных карт. Смотреть категорию триггеров Computer AI
Добавлено (11 Ноября 2012, 00:24:33) ---------------------------------------------
Quote (FatalBlade)
Вот я смотрю в открытый скрипт АИ для андедов. Тут СТОЛЬКО всего... функции внутри функций. Куча глобалок, локалок, ссылок, ифзенов... Как это всё можно иммитировать? Я уже не говорю о том что надо всё правильно иммитировать, что бы не пострадал баланс.
неет, не советую лезть в эту мышиную возню. Проще оставить их как есть и пользоваться дополнением типа описанного парой строк выше.
Проблема решена! Оказывается дело в том, что я дал героям кастом спеллы, а в скриптах АИ героям прописываются изучение и использование стандартных спеллов. Пришлось поменять равкоды в скрипте АИ под название common.ai АИ должен был изучать спеллы, которых у героев не было, и от этого он часто ступорился либо на Тир1 либо на Тир2.
Сообщение отредактировал FatalBlade - Вторник, 13 Ноября 2012, 16:53:34