Исторические кампании и битвы - Страница 6 - Моды на MTW и STW - TWoW.Games - Сообщество любителей умных игр Перейти к содержанию
TWoW.Games - Сообщество любителей умных игр

Исторические кампании и битвы


Engineer

Рекомендуемые сообщения

  • Ответов 159
  • Создана
  • Последний ответ

Топ авторов темы

  • Mezhick

    14

  • Sartac

    15

  • Engineer

    60

  • Горог

    31

Топ авторов темы

LeChat

2 Engineer

Так а куда посылать то? Я твоего мыла не знаю. Кинь мне в приват адрес.

Издеваешься - да? :shot:

А посмотреть лень на сиреневые буквовки :bangin: :

А битва, карта и материалы по истории, если готовы - высылай, опубликую. Я вроде могу делать аттачи здесь до 1 Мб.

 

Это сообщение отредактировал Engineer - Feb 26 2004, 15:25 PM

 

 

--------------------

 

Engineer (wwtp@aha.ru)

 

Или вот сюда, например:

Изменено пользователем Engineer
Ссылка на комментарий

Увы мне грешному. Покритикуй, имеет ли смысл такую фигню для редактора баталий делать. И чего туда можно всандалить.

Ссылка на комментарий

Горог

Если я правильно понял, на старте если хочу отключить АИ (то есть сделать так чтоб ни один юнит нешевельнулся) хватит прописать вот это?

DefineAiTrigger::1 ENEMY_NEAR_ANY 150

AiAction::AtStart UntilTrigger 1 SETSTATE off

Да. Это команда отдаваемая всей армии (AiAction:: ) отключить АИ (SETSTATE off), начиная со старта (AtStart ) и пока (UntilTrigger 1) враг не подойдет к любому из отрядов этой арми ближе 150 метров (ENEMY_NEAR_ANY 150) (это, примерно, на выстрел из лука). Хороший способ заморозить армию в нужном тебе построении до начала боя. Только дать лучше метров 20-30: дистанцию прямой атаки (Charge), а потом не забыть отпустить АИ. Также можно отпустить АИ если враг начнет обстрел одного из ценных отрядов:

DefineAiTrigger::2 UNIT_UNDERFIRE 1 (Здесь 1=unitTag, для всех отрядов с тэгом =1)

Тогда делаем

DefineAiTrigger::3 OR 1 2

- т.е. либо враг близко, либо стреляет гад по нам (т.е. по армии, управляемой АИ) и уже тогда надо:

AiAction::AtStart UntilTrigger 3 SETSTATE off

 

Далее, как заставить юнита или групу юнитов обединеных одним тегом атаковать конкретную групу врага? Опять же, если правильно понимаю, можно заставить АИ атаковать все юниты которые находятся на определенном растоянии от определенной точки... А как не точку а юнит, который нужно атаковать, указывать?

Можно отдать команду АИ атаковать всей армией основные силы врага:

AiAction::OnTrigger 4 BATTLE_PLAN AttackMainBody

или любой из появившихся вблизи вражьих отрядов:

AiAction::OnTrigger 5 BATTLE_PLAN Attack

Можно ещё дать команду атаковать врага лишь вблизи (здесь 100 метров) определенной точки (здесь x=20000 y=25000):

AiAction::OnTrigger 6 ATTACK 20000 25000 100

Проблема в том, что только АИ знает что выйдет в результате (ведь это лишь общий план боя!) - он может, к примеру, решить, что силенок маловато и свалить всей армией. Либо пойти на помощь другой своей армии, а твое задание похерить. Чтобы этого не произошло надо дать ему команду делать только то что сказано и ни шагу вправо/влево:

AiAction::AtStart SETSTATE explicitOnly

 

Хочется вот такой сценарий разыграть - я атакую АИ, тот ждет до определенного момента и когда я подхожу на нужное растояние - атакует. Я отступаю, АИ должен преследовать но до определенной точьки. Потом он уже должен остановить преследование и атаковать другие мои юниты, которые где то в поле с остальными отрядами АИ режутся...

Ну тогда надо давать ему команду:

AiAction::AtStart SETSTATE explicitOnly

AiAction::OnTrigger 6 ATTACK 20000 25000 100

Преследование он может и не остановить, но ты можешь дать ему задание атаковать другие отряды так:

DefineAiTrigger::7 AFTERTRIGGER 6 95 // через 95 секунд после атаки указаной точки

AiAction::OnTrigger 7 BATTLE_PLAN Attack // предпишем ему теперь атаковать любой отряд врага

 

Можно ещё добавить вместо этого:

AiAction::OnTrigger 7 SETSTATE Full // полностью отпустить АИ на свободу - сам разберется кого мочить, а кого резать, - так даже лучше, наверное.

Изменено пользователем Engineer
Ссылка на комментарий

LeChat

Увы мне грешному. Покритикуй, имеет ли смысл такую фигню для редактора баталий делать. И чего туда можно всандалить

Не понял? Мой ящик пока пуст.

Ссылка на комментарий

Горог

Спасибо огромное! 

Будем делать (интересно ведь как, прям как дите малое ерзаю в нетерпении все это испробовать!..  )

Дык! Без привлечения хотя бы двух - трёх энтузиастов не реально создать даже десяток исторических битв и кампаний. А задумки есть отличные. Я потом ещё расскажу как кампанию сделать, может кто с графикой поможет. Придумывай пока как что назвать - ведь главная работа тут именно кропотливый сбор информации, редактирование карты, восстановление плана битвы, расстановка отрядов - времени куча уходит. Потом ещё оттестить надо, - черт знает как себя триггеры поведут. У меня вот команда: "AiAction::OnTrigger 2 RELEASE_UNIT " - глухо вешает битву :(:bangin: Не все юниты получаются - два уже нашел, которые не идут в кампаниях: бояре пешие и горменты русские.

Короче, с тригерами, тестами настроек и редакторами я готов помогать, но кампании и битвы сделать никакого времени не хватит. А задумки есть интересные. Я бы вот ещё, например, вместо тупой перспективы карты в окне выбора кампаний пустил на прокрутку барельеф сражения, - есть заготовки? Вот бы найти что-нибудь в стиле - а уж сделать барельеф можно и фотошопом - там есть фильтры. Стильно будет.

Ссылка на комментарий

Engineer

вместо тупой перспективы карты в окне выбора кампаний пустил на прокрутку барельеф сражения

 

Это имеется в виду пустить там крутится какую нить картину битвы? Вот файлчик - из этого можно че нить сделать?

 

Короче, с тригерами, тестами настроек и редакторами я готов помогать, но кампании и битвы сделать никакого времени не хватит

 

Ну вот я насчет триггеров и буду обращатся, так как вопросы все лезут - вот например, как указать юниту чтоб отступал к такой то точьке после определенного условия (60% состава погибло или че нить похожее) и встать там в глухую оборону? Как оборонять определленую линию понятно а как юнита после или во время резни туды отправить? Может быть достаточно указать aftertrigger такой то defend_line такую то и юнит сам попреть туды? :unsure:

Вобщем потестим, а то теперь на работе сижу и теории тут сочиняю... :bangin:

 

Насчет кампаний то там мне кажется несложно - в файле *.bdf указывается что в случае победы начать следующею битву. Главное все красиво расписать и в одну папку положить.

Я вот хочу со своими битвами разобратся - решил сделать кампанию из трех битв и начал с самой сложной :D Как только это окончу - я к вашим услугам насчет помощи с другими битвами... :worthy:

Grunwald_Matejko_v.zip

Ссылка на комментарий

Горог

вот например, как указать юниту чтоб отступал к такой то точьке после определенного условия (60% состава погибло или че нить похожее) и встать там в глухую оборону?

 

Процент можно задать в триггерах битв BDF, в ADF - не пробовал ещё.

 

Вот, например, как это работает в условиях победы в битве: "..\Battle\batinit\Historical Campaigns\Golden Horde\Liegnitz":

 

Player::"The Mongols" 15 15 LOCAL "The Mongols" 0 false 33808 43676 180 PAGAN_CULTURE

Player::"The Polish" 9 9 ARTIFICIAL "The Polish" 0 true 21849 5518 0 ORTHODOX_CULTURE

Player::"The Germans" 7 9 ARTIFICIAL "The Germans" 0 true 24601 5601 0 CATHOLIC_CULTURE

 

 

//triggers

Trigger::1, BT_GENERAL DIED CAPTURED, factions 7 9, LABEL "Liegnitz_Trigger1_Desc"

Trigger::2, BT_GENERAL FLED, factions 7, LABEL "Liegnitz_Trigger2_Desc"

Trigger::3, BT_GENERAL FLED, factions 9, LABEL "Liegnitz_Trigger3_Desc"

Trigger::4, BT_TROOPS DIED FLED CAPTURED, PERCENT 50, factions 7 9, LABEL "Liegnitz_Trigger4_Desc"

Trigger::5, BT_INCAPACITATE, factions 15, LABEL "Liegnitz_Trigger5_Desc", INVERT_CHECKBOX

с обороной сложнее- АИ не даст вывести отряд из боя, если его атакуют, либо это будет не просто.

 

Как оборонять определленую линию понятно а как юнита после или во время резни туды отправить? Может быть достаточно указать aftertrigger такой то defend_line такую то и юнит сам попреть туды?

Можно, то можно, но ограничения , видимо есть. Т.е. АИ сам решит можно ли занять эту позицию либо надо продолжать рубку, какую часть сил отвести, а какую бросить в бой и т.п. Т.е. ты только командуешь, а армия, как и в реале, ведёт битву сама по себе. Ну или близко к этому. Аи, значитса, слишком умный.

Ссылка на комментарий

Engineer

У меня вот команда: "AiAction::OnTrigger 2 RELEASE_UNIT " - глухо вешает битву

 

В каком смысле вешает? Она совсем незагружается? Если я ставил что то неправильно в триггерах, игра просто вылетала при загрузке битвы...

 

Как по твоему должен вести себя АИ когда в прописанны вот такие триггеры (имеется три групы юнитов с тремя разными тэгами)?

DefineAiTrigger::1 ENEMY_NEAR_ANY 100

DefineAiTrigger::2 UNIT_UNDERFIRE 1

DefineAiTrigger::3 OR 1 2

AiAction::AtStart UntilTrigger 3 SETSTATE off

AiAction::OnTrigger 3 SETSTATE ExplicitOnly

AiAction::OnTrigger 3 ATTACK 22000 42000 1000

AiAction::OnTrigger 3 RELEASE_UNIT 2

AiAction::OnTrigger 3 RELEASE_UNIT 3

 

Вот есть тут RELEASE_UNIT, но игра невылетала...

Я наверно что то перепутал здесь (ничего, учимся ;) ), но задумка была такой - все вражеские юниты стоят и недвигаются, пока я неподойду близко или неначну обстрел. Если я это делаю - меня начинают атаковать юниты с тэгом 1, а юниты с тэгом 2 и3 продолжают стоять...

До поры до времени все так и происходит, но после того, как враг с тэгом 1 начинает меня атаковать, проходит несколько секунд и все остальные его отряды начинают движение...

Как я понял, отряды с тэгом 2 и 3 должни неизпользоватся АИ пока триггер 3 =true... Но так небыло...

Ссылка на комментарий

Да, еще, кто копался с map editor и текстурами там - неподскажете есть там че нить, что могло бы считатся болотом? Глядел да и не понял которая из текстур соответсвует этому... :(

Ссылка на комментарий

Горог

В каком смысле вешает? Она совсем незагружается? Если я ставил что то неправильно в триггерах, игра просто вылетала при загрузке битвы...

Да вроде верно всё, но у меня игра вылетала именно при загрузке битвы

Как по твоему должен вести себя АИ когда в прописанны вот такие триггеры

АИ будет стоять пока ты не подойдешь близко к любому из его юнитов либо не начнешь стрелять погруппе юнитов 1, потом он тебя атакует сразу всеми юнитами.

чтобы придержать группы 2 и 3 на некоторое время, можно было бы сделать так:

DefineAiTrigger::4 AFTERTRIGGER 3 30 // 30 секунд ждать после триггера 3

DefineAiTrigger::5 AFTERTRIGGER 3 60 // 60 секунд ждать после триггера 3

AiAction::AtStart UntilTrigger 4 RELEASE_UNIT 2 // вторая волна пошла

AiAction::AtStart UntilTrigger 5 RELEASE_UNIT 3 // третья волна пошла

 

- но именно это у меня и вылетало! Не понял пока почему. Может настройки команд противоречат друг другу?

А иначе выходит:

отряды с тэгом 2 и 3 должни неизпользоватся АИ пока триггер 3 =true... Но так небыло...
Изменено пользователем Engineer
Ссылка на комментарий

Горог

Да, еще, кто копался с map editor и текстурами там - неподскажете есть там че нить, что могло бы считатся болотом? Глядел да и не понял которая из текстур соответсвует этому...

Вроде такая зеленая густая травка - ершиком, но точно не уверен.

Ссылка на комментарий

Engineer

А после релиза не надо давать команду на новую атаку? Думаете АИ догадывается, что после вашего релиза на новые войска распространяется предыдущая инструкция на битву? В этом случае возможно надо обновить инструкцию...

Ссылка на комментарий

LeChat

Engineer

А после релиза не надо давать команду на новую атаку? Думаете АИ догадывается, что после вашего релиза на новые войска распространяется предыдущая инструкция на битву? В этом случае возможно надо обновить инструкцию...

Кажется нет, во всяком случае у меня нет. Напротив, АИ слишком бурно начинает использовать войска. Атакует ,вместо того чтобы стоять на линии обороны, и т.п., короче, не ведёт себя так пассивно, как это предписано планом битвы. Строгие инструкци вместо плана, также выполняются не всегда точно. Например у меня, обе армии союзные атакуемой мною на левом фланге, бросились в атаку на меня, вместо того чтобы держать оборону по заданым им линиям обороны, - и это не смотря на Explicit инструкцию и на то, что к их отрядам я даже не приближался!! :bangin: Так что любой набор скриптов надо тестировать достаточно строго. Безусловно работает полное отключение АИ, но тогда довольно трудно сделать строгий план битвы - чаще АИ начинает перестраивать армию, как только получает такую возможность и выходит полная свалка. :ph34r::(

Ссылка на комментарий
вместо тупой перспективы карты в окне выбора кампаний пустил на прокрутку барельеф сражения

 

Это имеется в виду пустить там крутится какую нить картину битвы? Вот файлчик - из этого можно че нить сделать?

Вот, смотри чего получилось. Можно бы и поярче, но я вроде как из фильма или барельеф старый сделал. Если за это дело возьмется кто-нибудь из наших товарищей со склонностью к дизайну, - выйдет лучше.

GRUNVALD.ZIP

Ссылка на комментарий

Вот. Доделал практически битву на Липице. Можно бы ещё поиграться с составом войск и усложнить битву, но сценарий вроде вполне отрабатывается. В таком примерно виде я готов предложить её все желающим потюнить битву перед включением в мод или предложением широкой публике.

Lipitsa.zip

Ссылка на комментарий

Engineer

Цитата

Вот, смотри чего получилось. Можно

 

 

 

Спасибо - дома посмотрю...

 

Посмотрел... На мой взгляд немножко мрачновато и детали как то сложно уловить... А цветной вариант нелуче был бы?.. :unsure: И как то урезанная получилась (неба много...)... :unsure:

Ссылка на комментарий

Горог

Посмотрел... На мой взгляд немножко мрачновато и детали как то сложно уловить... А цветной вариант нелуче был бы?..  И как то урезанная получилась (неба много...)..

Плохо, я и сам вижу. Попробую цветную что ли.

Ссылка на комментарий
  • 4 месяца спустя...

Привет всем. Давно уже планировал сделать кампанию за князя Невского. Да вот некоторое бессилие в возможности иметь для русских собственные архитектурные ансамбли остановило. Впрочем кое-что сделал. Ну, все по порядку. В кампании планировались следующие битвы:

Невская битва 1240

Копорье 1241

Псков 1242

Ледовое побоище 1242

 

Пару первых битв я сделал. В присоединенном файле начало Невской битвы. Русские рати готовы форсировать Ижору. Вдали виднеется лагерь шведов.

post-13-1089934028.jpg

Ссылка на комментарий

Вот мы подошли довольно близко к лагерю шведов, но они все еще неподвижны. Они нас не заметили. Это достигается с помощью следующего: в adf-файле, в котором мы прописываем шведские войска, в конце необходимо установить

DefineAiTrigger::1 ENEMY_NEAR_ANY 100

AiAction::AtStart UntilTrigger 1 SETSTATE off

Это означает, что шведы не тронутся с места и не будут ничего предпринимать, пока наше войско не подойдет к одному из их отрядов на расстояние ближе 100 единиц (правда не знаю каких - метров или т.п., не выяснял, все методом тыка и на глаз). Можете установить величину, какая вам нравится. Шведы как бы нас не замечают. В данном случае я установил столь малую величину, т.к. в действительности русские напали внезапно, и шведам необходимо было время, чтобы собраться, а в игре они уже собраны, им остается лишь мобилизоваться или просто развернуть фронт.

post-13-1089934207.jpg

Ссылка на комментарий

Да, чуть не забыл, сделал большую карту Невы, и пожалел, потому что, когда шведы вступают в бой, наблюдается некоторое торможение. И еще: кораблики на карте с монгольскими флагами, но это исправимо. Копорье я также сделал, но видимо карту придется переделывать. На ней деревянные башни зависают в воздухе, т.к. я их расположил на неровной местности, да и речку Копорку "по левому борту" не поместил, а сейчас решил это сделать.

Кстати, пытался сделать портрет Невского на основе одного из муслимов, имеющегося в игре. Получился не то штобы совсем Невский и не то штобы получился, но все же

Alexander_Nevsky.rar

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...

Важная информация

Политика конфиденциальности Политика конфиденциальности.