Объявления

Форум о Героях Меча и Магии и King's Bounty. Если Вы любите эти игры, мы будем рады видеть Вас в наших рядах. :smile2:.

Программа для разведки

Не запускается игра? Проблемы со звуком? Где, в конце концов, взять игру, скачать патчи, приложения и карты? Как установить все это? Все проблемы обсуждаем в этом разделе

Re: Программа для разведки

Сообщение AlexSpl » 09 фев 2015, 21:51

В процессе прохождения новогоднего турнира впервые столкнулся с неверным предсказанием пары навыков, предлагаемых при повышении уровня. Программа рассчитала, что выпадет пара (Wisdom 1; Estates 2). Каково же было моё удивление, когда на очередном левел-апе я получил пару (Wisdom 1; Scouting 2). Начал разбираться в причинах и выяснил, что следующий подход, призванный существенно уменьшить время построения дерева прокачки:

Цитата:
В новой версии программы LM Oracle используется более эффективный подход:

«выбираемый вторичный навык будет таким же, как если бы мы заменили выпавшую грань 201-гранного «кубика» остатком от деления её на сумму весов навыков-кандидатов, с одним лишь отличием: если остаток оказывается равным 0, выбирается последний навык из списка, а не первый».


не учитывает одну маленькую деталь.

Цитата:
... от выпавшей грани последовательно отнимаются веса навыков из списка кандидатов, пока разность не станет равна 0 или меньше. Навык, при вычитании веса которого разность становится равной 0 или отрицательному числу, выбирается в слот.


Дело оказалось в том, что когда выпадает грань 0 (довольно редкий случай), вес первого же навыка-кандидата при вычитании делает разность отрицательной. Однако, согласно более эффективному подходу, в этом случае следует выбирать последний навык из списка навыков-кандидатов, т.к. остаток от деления нуля есть нуль.

Рассмотрим ещё раз пример из статьи "Первичные и вторичные навыки"

Пусть теперь выпала грань 22.

Шаг 1
22 — 3 = 19 (вычли вес Logistics)
19 — 4 = 15 (вычли вес Scouting)
15 — 2 = 13 (вычли вес Diplomacy)
13 — 3 = 10 (вычли вес Navigation)
10 — 1 = 9 (вычли вес Wisdom)
9 — 1 = 8 (вычли вес Mysticism)
8 — 1 = 7 (вычли вес Eagle Eye)
7 — 2 = 5 (вычли вес Estates)

Список навыков кончился, начинаем отнимать снова с начала списка:

Шаг 2
5 — 3 = 2 (вычли вес Logistics)
2 — 4 = -2 (вычли вес Scouting)

Здесь сумма весов навыков-кандидатов равна 3 + 4 + 2 + 3 + 1 + 1 + 1 + 2 = 17, поэтому выпавшую грань 22 можно заменить на остаток от деления её на 17. Другими словами, мы сразу же переходим к шагу 2, пропуская шаг 1, чем существенно экономим на вычислениях. Если вместо грани 22 выпала бы грань 17, остаток оказался бы равен нулю, и мы, согласно оговорке "с одним лишь отличием...", выбрали бы последний навык из списка кандидатов, а не первый. Почему так? Смотрите сами:

17 - 3 = 14 (вычли вес Logistics)
14 - 4 = 10 (вычли вес Scouting)
10 - 2 = 8 (вычли вес Diplomacy)
8 - 3 = 5 (вычли вес Navigation)
5 - 1 = 4 (вычли вес Wisdom)
4 - 1 = 3 (вычли вес Mysticism)
3 - 1 = 2 (вычли вес Eagle Eye)
2 - 2 = 0 (вычли вес Estates)

При вычитании веса последнего навыка получили неположительное число, поэтому именно последний навык (Estates) выбирается в слот. Если заменить выпавшую грань игральной кости на остаток от деления её на сумму весов навыков-кандидатов, мы бы получили следующее:

0 - 3 = -3 (вычли вес Logistics)

и без оговорки должны были бы выбрать первый навык, что привело бы к ошибке. Теперь самое интересное :) Рассмотрим случай, когда выпадает грань 0. Мы по-прежнему имеем:

0 - 3 = -3 (вычли вес Logistics),

т.е. в слот отправляется Логистика, но, т.к. 0 mod 17 = 0, то программа вместо первого навыка отправляет в слот последний, что и приводит к ошибке.

* * *
Дима, замени, пожалуйста, в статье фразу

Цитата:
выбираемый вторичный навык будет таким же, как если бы мы заменили выпавшую грань 201-гранного «кубика» остатком от деления её на сумму весов навыков-кандидатов, с одним лишь отличием: если остаток оказывается равным 0, выбирается последний навык из списка, а не первый.


на

Цитата:
выбираемый вторичный навык будет таким же, как если бы мы заменили выпавшую грань 201-гранного «кубика» остатком от деления её на сумму весов навыков-кандидатов, с одним лишь отличием: если остаток оказывается равным 0, выбирается последний навык из списка, а не первый. Исключением является грань 0: при её выпадении всегда выбирается первый навык-кандидат.


P. S. Соответствующие исправления будут внесены в LM Oracle.
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Re: Программа для разведки

Сообщение AlexSpl » 09 фев 2015, 22:44

LM Oracle 3.19.1.0 XE

Теперь направление сортировки списка героев и городов показывается стрелочками.

[ HoMM II 2.1 RU ]
1. Исправлена ошибка в Level-Up Oracle, которая приводила к неправильному определению предлагаемых при повышении уровня вторичных навыков, если выпадала грань 0.
2. Добавлена консольная команда GETCHEAT. Показывает, использовались ли при игре чит-коды: 1 - использовались, 0 - нет.
Последний раз редактировалось AlexSpl 29 фев 2016, 14:14, всего редактировалось 3 раз(а).
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Re: Программа для разведки

Сообщение VDV_forever » 12 фев 2015, 14:50

Александр, у меня выдает ошибку на XP:
lm.jpg
lm.jpg (19.29 КБ) Просмотров: 1076
http://www.handbookhmm.ru- Познай все тонкости игры!
Аватара пользователя
VDV_forever
Администратор
 
Сообщения: 3560
Зарегистрирован: 22 мар 2009, 12:36
Награды: 39
Высшая медаль (1) Победителю этапа по HMM1 (1) Лучшему из лучших (2) Победителю турнира по KB (1) 1 место 1 этапа по HMM1 (2) 1 место 2 этапа по HMM2 (1)
2 место 2 этапа по HMM2 (1) Победителю турнира по KBL (7) KBL - клановые испытания 1.2 (4) KBL - клановые испытания 1.3 (2) KBL - клановые испытания 3.1 (2) KBL - клановые испытания 2.2 (4)
KBL - клановые испытания 2.3 (3) KBL - клановые испытания 3.2 (1) KBL - клановые испытания 3.3 (1) KBL - клановые испытания 2.1 (5) Ледяной Шлем (1)
Поблагодарили: 833 раз.

Re: Программа для разведки

Сообщение DeathLust » 12 фев 2015, 15:33

Ну так приложение вин64, а не вин32.
Аватара пользователя
DeathLust
Подмастерье
Подмастерье
 
Сообщения: 140
Зарегистрирован: 29 ноя 2012, 15:19
Поблагодарили: 60 раз.

Re: Программа для разведки

Сообщение AlexSpl » 12 фев 2015, 16:27

Это потому, что, начиная с версии 3.19, программа стала 64-разрядной.
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Re: Программа для разведки

Сообщение AlexSpl » 12 фев 2015, 17:01

Залил 32-разрядную версию, обновил пост (см. выше).
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Re: Программа для разведки

Сообщение AlexSpl » 14 фев 2015, 04:45

LM Oracle 3.19.1.1 XE

Апдейт для тех, у кого не видна кнопка Start.

Цитата:
Теперь с программой можно работать при разрешении выше 96 dpi.
Последний раз редактировалось AlexSpl 29 фев 2016, 14:15, всего редактировалось 1 раз.
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Re: Программа для разведки

Сообщение bobchik » 20 фев 2015, 12:26

А я не пойму, в чем отличие 86 от 64 версии? У меня обе запускаются.
И кстати, там версия Героев 1 указана как 1,04 ТЕ, а у меня обычные буковские - это не страшно?

И это.. я правильно понял, что в этой программе и есть тот легендарный светофор, которые позволяет ловить мораль/удачу?
bobchik
Новичок
Новичок
 
Сообщения: 22
Зарегистрирован: 15 апр 2013, 12:57
Поблагодарили: 10 раз.

Re: Программа для разведки

Сообщение DR28 » 20 фев 2015, 16:30

86 для 32-х разрядной ОС, 64 - для 64-х разрядной
Аватара пользователя
DR28
Мастер
Мастер
 
Сообщения: 251
Зарегистрирован: 25 июн 2012, 18:59
Откуда: Санкт-Петербург
Награды: 8
Победителю турнира по HMM2 (1) Победителю этапа по HMM2 (3) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) 3 место 2 этапа по HMM2 (1)
Поблагодарили: 91 раз.

Re: Программа для разведки

Сообщение AlexSpl » 20 фев 2015, 17:06

Цитата:
86 для 32-х разрядной ОС, 64 - для 64-х разрядной

Всё верно. x64 можно запустить только под 64-разрядной Windows, а x86 работает на обеих системах. Однако если у Вас 64-разрядная Windows, лучше использовать "родную" версию, т.к. она быстрее. По функционалу версии не отличаются.

Цитата:
И кстати, там версия Героев 1 указана как 1,04 ТЕ, а у меня обычные буковские - это не страшно?

Не страшно. Но есть нюансы. Например, программа считает артефакт Fizbin of Misfortune как дающий -3 к удаче, а не -2 к морали со всеми вытекающими. Программа считает содержимое таких объектов, как Кораблекрушение, Скелет и т.п. фиксированным на конкретном сейве, а не рандомным, как в оригинальных Героях 1.

Цитата:
И это.. я правильно понял, что в этой программе и есть тот легендарный светофор, которые позволяет ловить мораль/удачу?

В LMOracle два "светофора": один - для Героев 1, другой - для Героев 3. Если первый полностью дописан, то разработка второго прекращена в 2009 году, полагаю. "Светофор" для Героев 3 работает только под 32-разрядной Windows и не учитывает многие факторы, такие, например, как спецабилки существ, мультиатака гидр и т.п. Кроме того, для его корректной работы необходимо для каждого конкретного действия правильно указать целый ряд параметров (размер атакующего и атакуемого отрядов, особенности атаки: с ответкой или без, двойная атака или нет, погибнет ли отряд в результате атаки или нет). В "светофоре" для Героев 1 всё это делается автоматически.
Аватара пользователя
AlexSpl
Эксперт
Эксперт
 
Сообщения: 2606
Зарегистрирован: 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)
Поблагодарили: 1144 раз.

Пред.След.

Вернуться в Техническая часть

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

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