На комьюнити я как-то излагал алгоритм получения вторичных навыков. Предлагаю Вашему вниманию слегка адаптированный исходник процедуры GetSecSkill(), отвечающей за генерацию вторичных навыков в игре (H3). Комментарии прилагаются.
Kluka
16 лет назад
// Исключение №2. Магические Школы (15, 16, 17, 18 - номера Школ)
Почему в комментариях нумерация вдруг пошла с единицы? :)
Начальное значение R зависит от номера дерева N и уровня героя.
Самая таинственная фраза в приведённом файле. Поясните что это за зверь такой - номер дерева? Это псевдослучайное число R, имеющееся во времена, когда герой был 1го уровня или что?
Да, и разумный вопрос: а посещение объектов, как мы раньше говорили, "сбивающих" дерево навыков, оставляет ли неизменным R? Если да, то что означает фраза "... и уровня героя"?
PS. Благодарю за отличную работу! Жаль что сам выискивать нужные части кода не умею :)
AlexSpl
16 лет назад
Почему в комментариях нумерация вдруг пошла с единицы?
Улыбнулся, спасибо :)
Поясните что это за зверь такой - номер дерева?
Это моё название (так удобней). Используется для получения Seed, проще говоря.
Seed = 343FDh * Hero_Level + 26497h * N + 259DFh
Да, и разумный вопрос: а посещение объектов, как мы раньше говорили, "сбивающих" дерево навыков, оставляет ли неизменным R?
Да, просто новый навык добавляется. Соотвественно меняется сумма SUM_W и генерируются другие навыки (т.е. дерево ломается). Алгоритм работает и в этом случае.
Kluka
16 лет назад
Таким образом, теперь, чтобы знать всё дерево навыков, нужно всего лишь знать этот номер дерева N, который должен быть зашит где-то в сейве (и Вы наверняка уже знаете где!). Скоро старая древокачалка отправится в музей под стекло :)
Для полноты анализа осталось только дать объяснение тому, откуда берётся баг с кривой "первой помощью", при нажатии на которую игра вылетает. Может быть та самая, таинственная, кривая, первая, - помощь - является 28м псевдонавыком?
AlexSpl
16 лет назад
Скоро старая древокачалка отправится в музей под стекло
Всё давно уже сделано (отмотайте тред насколько назад) :) Качайте последнюю версию. Строит деревья, а также осуществляет поиск нужного набора навыков. Нужна лога + земля - пожалуйста.
Кроме того, там есть режим исследования, т.е. можно строить любое из 255 деревьев.
Добавлено через 2 минуты
Для полноты анализа осталось только дать объяснение тому, откуда берётся баг с кривой "первой помощью", при нажатии на которую игра вылетает.
О таком не слышал. Опишите суть.
Игра иногда вылетает, казалось бы, без всяких видимых причин. Последний раз наблюдал, когда пытался поставить второй Грааль.
Kluka
16 лет назад
Качайте последнюю версию.
Ага, спасибо. Что-то её проглядел :) Только я так и не понял, как там дерево смотреть. Или оно работает только в 4.0? Вообще непросто разобраться в программе: какие-то команды в меню, какие-то в контекстном меню. Похоже на китайский брелок для ключей, в который вмонтировано всё от штопора до зубочистки :)
Про упомянутый баг я нашёл древний пост Vbn: /topic/at/148639/ Я 1-2 раза с этим сталкивался, но ни одного сейва с этим навыком не нашёл.
AlexSpl
16 лет назад
2Kluka: Деревья строит по двойному клику на номере героя в списке для версий 3.2 EN, 4.0 EN, 4.0 RU.
Вообще непросто разобраться в программе: какие-то команды в меню, какие-то в контекстном меню.
А некоторых нет ни там, ни там :) Считайте это тестом на интуицию.
Поддерживаемые версии: HoMM III 3.2 EN (heroes3.exe) HoMM III 4.0 EN (heroes3.exe) HoMM III 4.0 RU (heroes3.exe) HoMM II 2.1 RU (hmm2pl.exe) HoMM I 1.1 RU (heroes.exe)
Инструкция: 1) Запустите Вашу копию HoMM, поддерживаемую данной программой; 2) Запустите данную программу; 3) В меню "Options -> Version" выберите Вашу версию HoMM; 4) Нажмите "Start".
Контекстное меню открывается по правому клику на списке.
Вы можете, например: 1. Искать героев, удовлетворяющих определённым требованиям (например, принадлежащих синему игроку, имеющих вторичный навык Логистика и т.п.); 2. Смотреть их запас хода; 3. Строить деревья прокачки для любого героя (двойной клик на номере героя в списке); 4. Планировать присоединение нейтралов с помощью Diplomacy Oracle (двойной клик на имени героя в списке); 5. Смотреть доступную магию в любом городе на карте.
Об остальных функциях можно прочитать в этой теме.
dimis (форум хироузкомьюнити) написал интересную статью по вопросам прокачки вторичных навыков: http://www.math.uic.edu/~diochnos/research/publications/heroes-fun-10.pdf С ней он выступит на Пятой интернациональной конференции FUN WITH ALGORITHMS, которая пройдёт 2-4 июня сего года в Италии. В конференции примут участие представители известных университетов и научных обществ, в том числе представитель MIT Erik Demaine. Герои станут популярней, определённо :) http://fun2010.dia.unisa.it/index.html
Nukem
15 лет назад
пожалуйста, дайте версию программы LM Oracle под win7, на rghost/google или какой нибудь другой хостинг,
Nukem
15 лет назад
скачал с буржуйского сайта, прогой пользоватся не могу т.к. нет кнопки старт. ЮАК отрублен, нод всем доволен.
я не знаю как увеличить размер окна, оно фиксированного размера и кнопки старт не видно
Somuraj
15 лет назад
я не знаю как увеличить размер окна, оно фиксированного размера и кнопки старт не видно
Измените размер шрифта на Обычный (100%) (ПКМ -> Разрешение).
Zuzuka
15 лет назад
И все-таки господа, не нашел ни одной рабочей ссылки этой проги, чем крайне расстроен....(((((
И все-таки господа, не нашел ни одной рабочей ссылки этой проги, чем крайне расстроен....(((((
А если бы Вы только знали, как расстроен я ... Автор этой замечательной программы - талантливый программист и интересный человек AlexSpl. К моему большому сожалению, в начале лета этого года он решил идти по пути стирания личной истории ... Единственное, что мне стало известно - AlexSpl, к счастью, жив. Но я с ним связаться по-прежнему не могу ...