Автоматическое управление баллистой - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Общий - Герои Меча и Магии 3 - Heroes OF Might And Magic 3 Информация об игре и ее обсуждения.

Ответ
Страница 1 из 3
 
Опции темы
#1
Старый 08.04.2007, 15:13
  #1
^
vbn
 
Аватар для vbn
📖
Регистрация: 15.12.2006
Адрес: Russia
Сообщения: 1018
1489
Отправить сообщение для  vbn с помощью ICQ
Выставка наград
Регистрация: 15.12.2006
Адрес: Russia
Сообщения: 1018
1489
Отправить сообщение для  vbn с помощью ICQ
Выставка наград
По умолчанию
Автоматическое управление баллистой

Баллиста-убивалка для Heroes of Might & Magic III, версия 2.0

Рассмотрим следющую ситацию в режиме сражения: игрок имеет в армии 1 фею. Также у него есть баллиста. Он нападает на 100 зомби.
Теоретически, выйграть этот бой возможно. А вот практически — это займет слишком много времени.
Помочь в решении этой проблемы призвана программа, которую я опишу и выложу ниже. Описание программы будет производиться на вышеуказанном примере.
Данная программа может перемещать курсор мыши в нужное место на поле боя, а также делать щелчки на поле боя в нужное время.


Описание.

Кнопки:
Test — позволяет осуществить 1 прогон, для тестирования.
Exit — немедленный выход из программы.
Fight — начало боя с указанной продолжительностью раундов (Rounds to pause).

Скриншоты битвы создаются в месте расположения программы через указанное число раундов
(для возможности создания скриншотов установите галочку в поле CopyScreen after)
Скриншот создается и при тестировании.

Внизу, под кнопками, есть поля CurrentX и CurrentY.
Они помогут быстро определить нужные координаты экрана (положения курсора).

Поле Rounds to pause обозначает количество раундов боя,
в течение которых мышь будет захвачена программой.
По истечению этого количества раундов программа остановится.

Обратите внимание при установке задержек: время задается в миллисекундах (1 с = 1000 мс).
Допустим мы имеем фею+крестьянина+баллисту v.s. зомби. Предположим, наш игровой цикл начинается с феи.
Ход 1. Феи, надо полагать, будут сматываться от зомби, после чего ход перейдет к зомби, и те ринутся на фей. И только потом ход перейдет к крестьянам. Но до того как ход дойдет до крестьян, нужно успеть походить феям и зомби, а это займет порядка 1-3 секунд.
Поэтому рекомендуется вначале, на этапе тестирования,выставить все задержки не менее 3000 мс.
После успешного тестирования задержки можно будет уменьшить.


Обновления:
1) Теперь делаются скриншоты только окна героев (в оконном режиме).

2) Появились кнопки "Настройки" и "?"
Кнопка "Настройки" содержит пока только версию героев, которую вы запускаете (H3 Rus/Eng, H4 Rus/Eng+, по умолчанию - H3 Rus).

3) Предпринята очердная попытка предотвратить "зависание" программы. При нажатии клавиши Esc программа выполняет до конца текущий цикл и предлагает произвести остановку. Для преждевременной остановки рекомендуется нажать клавишу Esc и удерживать ее, пока не появится соответствующее сообщение.

4) Добавлена горячая клавиша для немедленного завершения работы приложения: +Q.

5) Перед началом работы выводится сообщение о предполагаемом времени работы программы.

6) Добавлено окно, отображающее статистику работы программы.

7) Количество шагов для одного цикла увеличено до 14-ти!

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

В текущей версии программы можно осуществить 14 перемещений курсора:
1-6, за ними следует 7-е — нажатие левой кнопки мыши (MoveTo + Click);
7-е перемещение не осуществляет нажатие кнопки мыши (только MoveTo);
Оно разрабатывалось для просмотра кол-ва выстрелов у баллисты, но, как потом оказалось,
выстрелы у балисты можно просмотреть только при нажатии правой кнопки мыши;

8-13 перемещения, аналогично 1-6;
14-е перемещение аналогично 7-му.

P.S. Программа работает только в оконном режиме Героев (клавиша F4 в игре).
Если Вы собираетесь позволить программе делать скриншоты,
не забудьте, что должно быть достаточно свободного места на диске.
Для разрешения 800 х 600 (а окно Героев имеет именно такое разрешение) файл *.bmp занимает порядка 1 Мб.
При бое в 5000 раундов и одном скриншоте раз в 100 раундов
Вам понадобится около 50 Мб свободного дискового пространства.
Миниатюры
Нажмите на изображение для увеличения
Название:  bu_main.jpg
Просмотров: 475
Размер:	41.4 Кбайт
ID:	7850  Нажмите на изображение для увеличения
Название:  bu_stat.jpg
Просмотров: 437
Размер:	12.2 Кбайт
ID:	7851  
Вложения
Тип файла: zip Ballista-Ubivalka.zip (179.0 Кбайт, 386 просмотров)
Тип файла: zip BallistaUbivalka_v2.zip (183.9 Кбайт, 235 просмотров)
vbn вне форума
Ответить с цитированием
#2
Старый 08.04.2007, 15:15
  #2
^
Agilist
 
Аватар для Agilist
📖
Регистрация: 12.01.2007
Адрес: Украина, Пентагон
Сообщения: 204
Отправить сообщение для  Agilist с помощью ICQ
Регистрация: 12.01.2007
Адрес: Украина, Пентагон
Сообщения: 204
Отправить сообщение для  Agilist с помощью ICQ
По умолчанию
Re: Автоматическое управление баллистой

Это тапа у нас навык управления баллистой, но нам лень ею управлять и прога делает это за нас?
__________________
Умирает не тот, кто устал, а тот, кто остановился.
Умирает не тот, кто устал, а тот, кто остановился.
Agilist вне форума
Ответить с цитированием
#3
Старый 08.04.2007, 15:34
  #3
^
Agilist
 
Аватар для Agilist
📖
Регистрация: 12.01.2007
Адрес: Украина, Пентагон
Сообщения: 204
Отправить сообщение для  Agilist с помощью ICQ
Регистрация: 12.01.2007
Адрес: Украина, Пентагон
Сообщения: 204
Отправить сообщение для  Agilist с помощью ICQ
По умолчанию
Re: Автоматическое управление баллистой

Короче говоря, прога ведет бой, но не как комп хочет, а как нам надо? И причем тут мораль?
__________________
Умирает не тот, кто устал, а тот, кто остановился.
Умирает не тот, кто устал, а тот, кто остановился.
Agilist вне форума
Ответить с цитированием
#4
Старый 08.04.2007, 15:37
  #4
^
Nightly Edelweiss
 
Аватар для Nightly Edelweiss
📖
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

Я так думаю, что условие отсутствия морали необходимо для правильных рассчетов - ведь мораль нарушает порядок хода юнита => программа может сработать не так, как задумывалось.
__________________
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Nightly Edelweiss вне форума
Ответить с цитированием
#5
Старый 08.04.2007, 15:42
  #5
^
Nightly Edelweiss
 
Аватар для Nightly Edelweiss
📖
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

А почему у феи мораль +1? Да и к тому же за 2 расы мораль не понижается - минимальное количество рас, понижающее мораль, насколько я знаю, 3 и больше...
__________________
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Nightly Edelweiss вне форума
Ответить с цитированием
#6
Старый 08.04.2007, 15:46
  #6
^
Nightly Edelweiss
 
Аватар для Nightly Edelweiss
📖
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
Регистрация: 14.02.2007
Адрес: Милиандор, Фрост
Сообщения: 290
Отправить сообщение для  Nightly Edelweiss с помощью ICQ
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

Разве? Хотя вообще-то похоже, что так... Просто привыкла собирать большие армии дипломатией черти из кого - вот и получается иногда по 7 () рас в одном войске... Ладно, это оффтоп уже. Просто мне казалось, что 2 расы еще не влияют на мораль.
__________________
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Im Herzen der Stille

Im Herzen der Nacht

Wie oft hab ich mich schon gefragt

Wo Du gerade bist

Wie oft hab ich mich schon gefragt

Ob Dir gerade Liebe widerfahrt...
Nightly Edelweiss вне форума
Ответить с цитированием
#7
Старый 08.04.2007, 15:49
  #7
^
IronAxe
 
Аватар для IronAxe
📖
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

vbn;81248Именно так, но у героя может и не быть навыка управления баллистой.В зависимости от этого нужно заставить программу работать по-разному.
Если у героя есть навык управления баллистой, то по моему в менюхе настройки боя можно включить ее на автоматическое управление, тогда не надо будет настраивать программу на два варианта (на героя с навыком управления и на героя без навыка). Я это не проверял (так думаю навскидку) - посмотрите сами.
vbn;81248Сейчас я выкладываю карту, на которой будет тестироваться программа,
и для которой будет приведено описание.
Если будет работать так как я написал выше, то отразите это в описание программы (функционал программы будет улучен без дополнительных изменений и настроек самой программы
vbn;81248Данная программа будет работать только при условии
нейтральной морали нападающей и защищающейся армии.
Угу Принято.
vbn;81248Здесь возможны следующие варианты:
1) повесить дух угнетения морали;
С этим согласен.
vbn;812482) взять армии из другого замка для понижения морали до нейтральной.
А вот это нада проверять. Нет гарантии что отряд монстра противника не ломанется к дополнительному юниту, а потом и не выйдет и на саму баллисту. И еще одно уточнение. Если отряд монстров поделиться на 7 отрядов То сами понимаете - скорее всего будет кирдык. Без программы еще можно будет попытаться. А с программой хана. Я помню на Best of Best выносил кучу дендроидов (где-то 250-300) 25-30 вампирами (без баллисты). Дык вот спасло тока "общее замедление". Причем наблюдался такой глюк. Одиночное замедление по моему не работает на дендроида, а общее - вешается на них Кое-как маны хватило
IronAxe вне форума
Ответить с цитированием
#8
Старый 08.04.2007, 16:19
  #8
^
IronAxe
 
Аватар для IronAxe
📖
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

vbn;81268Ага, если у героя есть навык управления баллистой, то в меню настройки боя можно включить ее на автоматическое управление.Но у нас-то бой проводится не в режиме авто .
Поэтому все равно остается 2 варианта.
Ты не понял. Если Герой с навыком управления, то надо в этой менюхе настройки автоматической битвы ВСЕ отключить, КРОМЕ баллисты. Затем нажать кнопку автоматической битвы. Тогда ты будешь управлять всем сам, но тока баллиста должна работать на автомате. Соответсвенно программа должна работать корректно по прежнему алгоритму ! Проверь ! Мож так и будет
vbn;81268Насчет гарантии что отряд монстра противника не ломанется к дополнительному юниту, а потом и не выйдет и на саму баллисту - ты прав. Но вот на рассматриваемом примере - баллиста и крестьянин очень далеко, зомби будут охотиться только за феей.
Ну дык как насчет кинуть мне на мыло прогу и исходник (на всяк случай)
А то в приаттаченном файле я нашел тока вот это: Ballista.h3m
У меня есть идеи усовершенствования алгоритма проги , но там 10 строками наверно не отделаешься, зато будет работать и с моралью своего отряда, наверное. Интересует ? Здесь описать идею ?
IronAxe вне форума
Ответить с цитированием
#9
Старый 08.04.2007, 16:52
  #9
^
IronAxe
 
Аватар для IronAxe
📖
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

vbn;81294"...Затем нажать кнопку автоматической битвы."
Что-то мы друг друга не поймем.
Мы не будем нажимать кнопку автоматической битвы.
Битва будет идти в обычном режиме.
Да почему не будем то Ты возьми попробуй проделать то что я написал выше. Когда настройка автоматической битвы будет выполнена именно так, то когда ты нажмешь кнопку автоматической битвы , то никто никуда не ломанется Все будут ждать как ты ими походишь и лишь баллиста должна будет работать на автомате, что и требуется чтоб привести второй вариант к первому !
vbn;81294Хм, видимо это и будет нечто типа x-startera.
Тогда прога будет бесполезна, и если чё качайте starter.
Прога лучше и проще. И потом как насчет усовершенствования проги для работы с моралью ? зайди в асю
IronAxe вне форума
Ответить с цитированием
#10
Старый 09.04.2007, 00:14
  #10
^
IronAxe
 
Аватар для IronAxe
📖
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

vbn;81312Ага, я наконец-то понял насчет баллисты. Ты прав.
Но для программы это будет безразлично.
vbn, круто ты тут написал В последнем посте где уже выложил готовую программу Особенно - "Ага, я наконец-то понял насчет баллисты." Я выпал со стула
--------------------------------------------------------------------
Но эт чо я хотел тут написать !!
vbn !!! Это круто ! Сенькс огромный за прогу. Вот так вот нада делать полезные утилитки и делиться со всеми. Чтоб все игроки были в равных условиях на турнирах и соревновались именно по игре в герои, а не у кого больше свободного времени на долгие бои и кто луче программирует !! Представьте вот что vbn никому бы не показал и не дал эту утилитку.

vbn !! Респект тебе лично от меня - Железного !

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

PS. Свое рекордное честное прохождение битвы я сбросил на 6ом часу прохождения !! Найдите теперь идиота в другом месте, который будет проходить 20ти часовую битву вручную, когда есть такая программка !!!!!!!
IronAxe вне форума
Ответить с цитированием
#11
Старый 09.04.2007, 12:46
  #11
^
Geksorin
 
Аватар для Geksorin
📖
Регистрация: 20.08.2006
Адрес: на Матушке Земле
Сообщения: 715
Регистрация: 20.08.2006
Адрес: на Матушке Земле
Сообщения: 715
По умолчанию
Re: Автоматическое управление баллистой

vbn - согласен с IronAxe , главное начать, а потом найдутся те люди, которые пойдут дальше ...
Большое спасибо за старания, облагородить нашу любимую иргу.
__________________
Герой в каждом из нас...


"Истинно могуч тот, кто побеждает самого себя"
Герой в каждом из нас...


"Истинно могуч тот, кто побеждает самого себя"
Geksorin вне форума
Ответить с цитированием
#12
Старый 09.04.2007, 16:25
  #12
^
Ataman
 
Аватар для Ataman
📖
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
По умолчанию
Re: Автоматическое управление баллистой

vbn, спасибо за прогу! Но есть два вопроса:
1) Как можно узнать расположение курсора на экране (координаты)?
2) Как заставить юнитов пропускать ходы?
Ataman вне форума
Ответить с цитированием
#13
Старый 09.04.2007, 19:27
  #13
^
Ataman
 
Аватар для Ataman
📖
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
По умолчанию
Re: Автоматическое управление баллистой

vbn;816631) Местоположение курсора на экране отображается в полях CurrentX, CurrentY, расположенных сразу под кнопками...
Ну да, это я видел, но вот при запущенных героях посмотреть координаты курсора невозможно (кроме как запомнить положение в игре, свернуть ее и посмотреть в прогу. Но тут еще проблема: в героях разрешение экрана 800х600, а программа полностью видна только на 1024х768 и более, следовательно координаты будут неверны)
Ataman вне форума
Ответить с цитированием
#14
Старый 09.04.2007, 20:27
  #14
^
Ataman
 
Аватар для Ataman
📖
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
Регистрация: 28.02.2007
Адрес: Московская область
Сообщения: 290
Отправить сообщение для  Ataman с помощью ICQ
По умолчанию
Re: Автоматическое управление баллистой

vbn;81684При запущенных героях посмотреть координаты курсора можно.
Для этого в игре нужно выйти в оконный режим (клавиша F4).

По умолчанию программа находится в левой части экрана.
Окошко с Героями лучше всего поместить немного правее от программы.

А насчет координат - все работает ок

P.S. В оконном режиме Герои 3 запускаются при любом разрешении не менее 800 х 600.
Спасибо, разобрался
Ataman вне форума
Ответить с цитированием
#15
Старый 12.04.2007, 18:29
  #15
^
IronAxe
 
Аватар для IronAxe
📖
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
Регистрация: 23.06.2006
Сообщения: 1585
Выставка наград
По умолчанию
Re: Автоматическое управление баллистой

VDV, все что тут Вы потерли было связано с обсуждением программы, программа связана с длинным боем, длинный бой связан с правилами и с отношением игроков к такому бою. Мы потратили кучу трафика за свои кровные - а вы подропали посты, которые непосредственно относятся к этой теме Ладно, сделаем выводы - пишем поменьше на форум - се равно сотрут Так на фига денюжку тратить Чтоб этот пост не дропнули пишу теперь по программе:
vbn - а как запустить программу чтоб бой был на весь экран ?? А то скриншот фиксирует и саму запущенную прогу. То есть сначала надо настроить координаты, потом развернуть Героев на весь экран, настроиться в бою, свернуть Героев на панель и нажать в программе на кнопку Fight и быстро поднять Героев с панели ? Правильно ? Успеть это можно или мышь уже будет захвачена. Или надо после нажатия на кнопку Fight в программе нажать на клавиатуре кнопку F4 ?
IronAxe вне форума
Ответить с цитированием
Ответ
Страница 1 из 3


Опции темы



Часовой пояс GMT +4, время: 11:17.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru