On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Сообщение: 11
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 0
ссылка на сообщение  Отправлено: 28.03.09 14:23. Заголовок: Неточности и дополнения!


В первом посте данной темы будут публиковаться все найденные Вами неточности в справочнике:

1) Неточность в разделе "22. Тактики и стратегии используемые в игре":
атака двух клеток: Циклопы*, Фениксы, Драконы. Причём, при атаке двух отрядов второй - дружественный (т.е. принадлежащий к армии героя) отряд задет не будет. Это не относится к удару вражеских войск, которые задевают всех.
* циклопы при атаке двух клеток задевают и свои войска.

Как раз таки и циклопы, и фениксы, и драконы задевают дружественные войска. Vovik

2) По-моему в картах кампании выложен вариант прохождения только за лорда Айронфиста.
Играя за каждого лорда кампания отличается на одну карту. Играя за Айронфиста там есть среди прочих уровни:
"Замок Слейера, "Замок Ламанды", "Замок Аламара".

Но если играть за Слейера, то вместо "Замок Слейера" будет "Замок Айронфиста". Он-то и не упомянут. Abyss

C уважением, VDV_forever


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 81 , стр: 1 2 3 4 5 All [только новые]







Сообщение: 226
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 09:32. Заголовок: 1. Нанимаем Тсабу (л..


1. Нанимаем Тсабу (любого):


2. Смотрим - в Таверне по-прежнему сидит двойник:


3. Выходим из замка, снова заходим, и видим:


4. Снова выходим. Тсабу пропал:


5. Щёлкаем на Тсабу в списке героев, потом - на какой-нибудь замок из списка:




6. Видим зелёного игрока недалеко от замка:


7. Замок захвачен зелёным, но захватчик исчез. Красный Тсабу у ворот как ни в чём не бывало:


На самом деле, он синий Если напасть, например, на ближайших фей, то бой пройдёт на автомате. Возможен вылет.


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 227
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 12:34. Заголовок: Баг с ресурсами. При..



 цитата:
6. Баг с ресурсами.
При превышении количества ресурсов 8-значного значения (10 000 000+) игра заканчивается "ошибкой" (проверено на золоте).


Нужен сейв данной ситуации для выяснения причины ошибки.

Повторить не удалось (денег более 10 000 000, но ошибка так и не случилась):



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 357
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 13:44. Заголовок: AlexSpl пишет: 5. Щ..


AlexSpl пишет:

 цитата:
5. Щёлкаем на Тсабу в списке героев, потом - на какой-нибудь замок из списка:



И он появляется, но уже под флагом синего. Да?

AlexSpl пишет:

 цитата:
7. Замок захвачен зелёным, но захватчик исчез. Красный Тсабу у ворот как ни в чём не бывало:



А как он исчезает после захвата, ты наблюдал эти действия с открытой картой (т.е. видел все его телодвижения)?

AlexSpl пишет:

 цитата:
На самом деле, он синий Если напасть, например, на ближайших фей, то бой пройдёт на автомате. Возможен вылет.



прикольно, это все ты проделал из сейва который присутствует на справочнике, да?

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

Спасибо за описание, все очень подробно и наглядно. Так и включим в справочник


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 358
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 13:49. Заголовок: AlexSpl пишет: Нуже..


AlexSpl пишет:

 цитата:
Нужен сейв данной ситуации для выяснения причины ошибки.

Повторить не удалось (денег более 10 000 000, но ошибка так и не случилась):



Каюсь, этот баг я сам не повторял, т.е. включил его не проверяя, соответственно сейва нет. Хочешь сказать, что он выдуманный? Может на других версиях выскакивает?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 228
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 13:50. Заголовок: Дима, для кого я ста..


Дима, для кого я старался?
Попробуй повторить, и всё сразу станет понятно.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 359
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 13:58. Заголовок: AlexSpl пишет: Дима..


AlexSpl пишет:

 цитата:
Дима, для кого я старался?
Попробуй повторить, и всё сразу станет понятно.



Вот что заметил, при перещелкивании мышкой герой (Тсабу) - замок Блекбрибж, герой Тсабу меняет цвет! Про другие действия я перепутал с "Багом с героем в таверне".
Все повторилось как и у тебя.

Забавная ситуация происходит когда покупаешь еще одного героя в этом же замке!

(в этой ситуации, после нападения зеленого, идет полноценный бой за замок, но после поражения, замок все-равно караулит Тсабу синего цвета)

А было бы золото можно купить и еще одного 3-его в одном и том же замке, без перемещения героев!!!!


В ТЕ такой номер не проходит

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 230
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 14:09. Заголовок: Забавная ситуация пр..



 цитата:
Забавная ситуация происходит когда покупаешь еще одного героя в этом же замке!


А что случается?


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 232
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 14:10. Заголовок: В ТЕ такой номер не ..



 цитата:
В ТЕ такой номер не проходит


В TE такие ситуации исключены

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 361
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 20.06.11 14:13. Заголовок: Обнови страницу :sm1..


Обнови страницу У тебя 2 героя в одном замке будут сидеть

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 444
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 29.09.11 14:18. Заголовок: AlexSpl пишет: Разд..


AlexSpl пишет:

 цитата:
Раздел 17. Формула расчёта количества очков.

Согласно руководству Heroes of Might and Magic: The Official Strategy Guide, выложенному Miner'ом, формула расчёта количества очков, получаемых за прохождение сценария, отличается от той, что представлена в Разделе 17.

Points = max(0, floor(200 - N1 - N2 - N3 - N4)),
Score = floor(MapRating * Points), где

Points - количество очков, получаемых за прохождение сценария;
Score - итоговый счёт;
MapRating - рейтинг карты сценария, показываемый при старте;

N1 = max(1, min(N, 60));
N2 = 1/2 * max(0, min(N - 60, 60));
N3 = 1/4 * max(0, min(N - 120, 240));
N4 = 1/8 * max(0, N - 360);

N - количество дней, затраченных на прохождение карты;
floor() - округление вниз.

Иными словами, за каждый день, проведённый на карте:
1) с 1-го по 60-й: отнимается 1 единица базового рейтинга;
2) с 61-го по 120-й: отнимается пол-единицы (1/2) базового рейтинга;
3) со 121-го по 360-й: отнимается четверть единицы (1/4) базового рейтинга;
4) начиная с 361-го: отнимается одна восьмая единицы (1/8) базового рейтинга.

Пример 1. Сколько очков заработает игрок, пройдя карту с рейтингом 150% за 400 дней, и каков будет итоговый счёт?

N1 = max(1, min(400, 60)) = 60;
N2 = 1/2 * max(0, min(400 - 60, 60)) = 1/2 * 60 = 30;
N3 = 1/4 * max(0, min(400 - 120, 240)) = 1/4 * 240 = 60;
N4 = 1/8 * max(0, min(400 - 360)) = 1/8 * 40 = 5.

Итого,
Points = max(0, floor(200 - 60 - 30 - 60 - 5)) = 45,
Score = floor(150% * 45) = 67.

Пример 2. Рассчитать очки и итоговый счёт за прохождение карты с рейтингом 60% за 60, 61, 62 и 63 дня.

Опуская промежуточные вычисления, получим:

1) 60 дней: Очки = floor(200 - 60) = 140, Счёт = floor(0,6 * 140) = 84.
2) 61 день: Очки = floor(200 - 60,5) = 139, Счёт = floor(0,6 * 139) = 83.
3) 62 дня: Очки = floor(200 - 61) = 139, Счёт = floor(0,6 * 139) = 83.
4) 63 дня: Очки = floor(200 - 61,5) = 138, Счёт = floor(0,6 * 138) = 82.

Здесь я хочу подчеркнуть, что при расчётах выполняется два округления вниз! Т.е., например, для 63 дней без правильного округления получается неверный результат:
floor(0,6 * (200 - 61,5)) = floor(0,6 * 138,5) = floor(83,1) = 83! Правильный результат здесь - 82.

Вот оно как всё на самом деле!
Хотя формула в Справочнике верна (под Очками там подразумевается Счёт), если находиться на карте не более 60 дней.



Спустя пол года после написания целого раздела, я наконец то до него добрался! Со временем совсем напряг, увы.

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

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

В общем-то раздел я уже переписал сегодня, но хотелось бы упростить.


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 334
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 29.09.11 16:42. Заголовок: Points = max(0, floo..



 цитата:
Points = max(0, floor(200 - N1 - N2 - N3 - N4)),
Score = floor(MapRating * Points), где

Points - количество очков, получаемых за прохождение сценария;
Score - итоговый счёт;
MapRating - рейтинг карты сценария, показываемый при старте;

N1 = max(1, min(N, 60));
N2 = 1/2 * max(0, min(N - 60, 60));
N3 = 1/4 * max(0, min(N - 120, 240));
N4 = 1/8 * max(0, N - 360);

N - количество дней, затраченных на прохождение карты;
floor() - округление вниз.



Нетрудно заметить, что:
1) N2 = 0, N3 = 0, N4 = 0, если карта пройдена не более чем за 60 дней;
2) N3 = 0, N4 = 0, если карта пройдена не более чем за 120 дней;
3) N4 = 0, если карта пройдена не более чем за 360 дней.

 цитата:
1) 60 дней: Очки = floor(200 - 60) = 140, Счёт = floor(0,6 * 140) = 84.


N = 60 (N <= 60)
Здесь имеем N1 = max(1, min(N, 60)) = N = 60;
N2 = 0;
N3 = 0;
N4 = 0.
Поэтому Points = max(0, floor(200 - N1 - N2 - N3 - N4)) = floor(200 - N1) = floor(200 - 60) = 140;
Score = floor(MapRating * Points) = floor(60% * 140) = 84.

 цитата:
2) 61 день: Очки = floor(200 - 60,5) = 139, Счёт = floor(0,6 * 139) = 83.


N = 61 (60 < N <= 120)
Здесь имеем N1 = max(1, min(N, 60)) = 60;
N2 = 1/2 * max(0, min(N - 60, 60)) = 1/2 * max(0, min(61 - 60, 60)) = 1/2 * max(0, min(1, 60)) = 1/2 * max(0, 1) = 1/2 * 1 = 0,5;
N3 = 0;
N4 = 0.
Поэтому Points = max(0, floor(200 - N1 - N2 - N3 - N4)) = floor(200 - N1 - N2) = floor (200 - 60 - 0,5) = floor(139,5) = 139;
Score = floor(MapRating * Points) = floor(60% * 139) = 83.

Вообще, формула просто обобщает все возможные случаи и является, по сути, математической записью следующих правил:

 цитата:
Иными словами, за каждый день, проведённый на карте:
1) с 1-го по 60-й: отнимается 1 единица базового рейтинга;
2) с 61-го по 120-й: отнимается пол-единицы (1/2) базового рейтинга;
3) со 121-го по 360-й: отнимается четверть единицы (1/4) базового рейтинга;
4) начиная с 361-го: отнимается одна восьмая единицы (1/8) базового рейтинга.



Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 335
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 29.09.11 17:06. Заголовок: Конечно, нужно уточн..


Конечно, нужно уточнить, действительно ли минимальное количество очков, которое можно получить за прохождение карты, равно нулю. Вполне может быть, что оно равно 1.

Например, согласно формуле, ноль очков можно заработать, если пройти карту более чем за
60 + 60 + 240 + 392 = 752 дня :

Points = max(0, floor(200 – 60 – 1/2 * 60 – 1/4 * 240 – 1/8 * 392)) = 1, когда уже
Points = max(0, floor(200 – 60 – 1/2 * 60 – 1/4 * 240 – 1/8 * 393)) = 0!

Интересно, может ли игрок получить 0 очков?
Если да, то число 752 (дня) в Героях 1 является своебразной границей, отделяющей ненулевое количество очков от нулевого.

Счёт же может стать нулевым задолго от этой даты (зависит от рейтинга карты). Опять же вопрос: а может ли счёт быть нулевым?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 337
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 29.09.11 19:15. Заголовок: Не поленился провери..


Не поленился проверить. Оказывается, минимальное количество очков равно 20!
Таким образом, формулу придётся переписать так:

 Points = max(20, [200 - N1 - N2 - N3 - N4]),  
Score = [MapRating * Points], где

Points - количество очков, получаемых за прохождение сценария;
Score - итоговый счёт;
MapRating - рейтинг карты сценария, показываемый при старте;

N1 = max(1, min(N, 60));
N2 = 1/2 * max(0, min(N - 60, 60));
N3 = 1/4 * max(0, min(N - 120, 240));
N4 = 1/8 * max(0, N - 360);

N - количество дней, затраченных на прохождение карты;
[] - округление вниз.


Заметьте, что минимальный счёт (Score), в отличие от количества очков (Points), может быть меньше 20! Исходя из того, что минимальный рейтинг составляет 5%, находим, что наименьший возможный итоговый счёт равен Scoremin = [5% * 20] = 1!

Неплохо бы теперь найти зависимость ранга (Дракон, Феникс и т.д.) от счёта

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 338
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 29.09.11 21:13. Заголовок: Написал калькулятор ..


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

Так вот, оказывается, что минимальное количество очков (20) можно получить, если пройти карту за 593 или более (60 + 60 + 240 + 233) дней:

Points = [200 – 60 – 1/2 * 60 – 1/4 * 240 – 1/8 * 232] = 21,
Points = [200 – 60 – 1/2 * 60 – 1/4 * 240 – 1/8 * 233] = 20.

593 дня - это 22 месяц, 1 неделя, 5 день

Download H1RC

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 450
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 13:40. Заголовок: Раздел 17. Формула р..


Раздел 17. Формула расчёта количества очков. полностью переписан и обновлен!

http://handbookhmm1.narod.ru/17.html

Саша, огромное спасибо за написание раздела и за ответы на некоторые вопросы посвященные ему.

http://handbookhmm1.narod.ru/news.html

Я надеюсь, ты не станешь рвать и метать за мою корректировку некоторых моментов... я лишь максимально облегчил понимание этих формул, и не нарушил их оригинальной структуры. Согласен?


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 352
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 13:58. Заголовок: N1 = 1 ... 60; при к..



 цитата:
N1 = 1 ... 60; при количестве дней от 1 до 60;

N2 = 1/2 * (N - 60); при количестве дней от 61 до 120;

N3 = 1/4 * (N - 360); при количестве дней от 121 до 360;

N4 = 1/8 * (N - 360); при количестве дней с 361;



N3 = 1/4 * (N - 120); при количестве дней от 121 до 360.


 цитата:
Пример расчета №2
Рассчитать очки и итоговый счёт за прохождение карты с рейтингом 60% за 63 дней.


63 дня.


 цитата:
Здесь необходимо подчеркнуть, что при расчётах выполняется два округления вниз! Т.е. в данном случае без правильного округления получается неверный результат:

Points = floor(200 - 60 - 1,5) = 138,5
Score = floor(60% * 138,5) = 83.



Правильно будет так:
Points = 200 - 60 - 1,5 = 138,5
Score = floor(60% * 138,5) = 83.

Т.е. данный пример демонстрирует, что если не округлить вниз количество очков, то итоговый счёт будет подсчитан неверно.


 цитата:
Пример расчета №3
Сколько очков заработает игрок, пройдя карту с рейтингом 150% за 400 дней, и каков будет итоговый счёт?

N1 = 60;
N2 = 1/2 * (400 - 120) = 1/2 * 280 = 140;
N3 = 1/4 * (400 - 240) = 1/4 * 160 = 40;
N4 = 1/8 * (400 - 360) = 1/8 * 40 = 5.
Итого,
Points = floor(200 - 140 - 40 - 5) = 15
Score = floor(150% * 15) = 22.


Правильный ответ здесь:
Points = 45
Score = 67

Здесь интересно отметить, что результат игрока будет 45 / 67, также если он пройдёт карту за 393, 394, 395, 396, 397, 398, 399 или 400 дней!

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 454
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 14:44. Заголовок: AlexSpl пишет: Прав..


Все замечания по существу!

Что то я парюсь.., какая то лажа после пересчета

N1 = 60;
N2 = 1/2 * (400 - 60) = 1/2 * 340 = 170;
N3 = 1/4 * (400 - 120) = 1/4 * 280 = 70;
N4 = 1/8 * (400 - 360) = 1/8 * 40 = 5.
Итого,
Points = floor(200 - 60 - 170 - 70 - 5) = -105
Score = floor(150% * 15) = 22.



Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 355
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 14:50. Заголовок: Points = max(20, ),..


 Points = max(20, [200 - N1 - N2 - N3 - N4]),   
Score = [MapRating * Points], где

Points - количество очков, получаемых за прохождение сценария;
Score - итоговый счёт;
MapRating - рейтинг карты сценария, показываемый при старте;

N1 = max(1, min(N, 60));
N2 = 1/2 * max(0, min(N - 60, 60));
N3 = 1/4 * max(0, min(N - 120, 240));
N4 = 1/8 * max(0, N - 360);

N - количество дней, затраченных на прохождение карты;
[] - округление вниз.


Для 400 дней считать нужно так:
N1 = 60
N2 = 1/2 * 60
N3 = 1/4 * 240
N4 = 1/8 * (400 - 360) = 1/8 * 40

Points = 200 - 60 - 1/2 * 60 - 1/4 * 240 - 1/8 * 40 = 200 - 60 - 30 - 60 - 5 = 45!

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Сообщение: 456
Зарегистрирован: 22.03.09
Откуда: Россия, Омск
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 15:06. Заголовок: AlexSpl пишет: N3 =..


AlexSpl пишет:

 цитата:
N3 = 1/4 * (N - 120); при количестве дней от 121 до 360.



тогда здесь будет правильно так:

N3 = 1/4 * (N - 240); при количестве дней от 121 до 360.

поправил по горячим следам http://handbookhmm1.narod.ru/17.html

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 357
Зарегистрирован: 17.09.10
Репутация: 2
ссылка на сообщение  Отправлено: 04.10.11 15:07. Заголовок: N3 = 1/4 * (N - 360)..



 цитата:
N3 = 1/4 * (N - 120); при количестве дней от 121 до 360;


Потому что отрезок [121 .. 360] входит в [1 .. 400] целиком и его длина составляет 360 - 120 = 240 дней.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 81 , стр: 1 2 3 4 5 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет