На комьюнити я как-то излагал алгоритм получения вторичных навыков. Предлагаю Вашему вниманию слегка адаптированный исходник процедуры GetSecSkill(), отвечающей за генерацию вторичных навыков в игре (H3). Комментарии прилагаются.
Kluka
// Исключение №2. Магические Школы (15, 16, 17, 18 - номера Школ)
Почему в комментариях нумерация вдруг пошла с единицы? :)
Начальное значение R зависит от номера дерева N и уровня героя.
Самая таинственная фраза в приведённом файле. Поясните что это за зверь такой - номер дерева? Это псевдослучайное число R, имеющееся во времена, когда герой был 1го уровня или что?
Да, и разумный вопрос: а посещение объектов, как мы раньше говорили, "сбивающих" дерево навыков, оставляет ли неизменным R? Если да, то что означает фраза "... и уровня героя"?
PS. Благодарю за отличную работу! Жаль что сам выискивать нужные части кода не умею :)
AlexSpl
Почему в комментариях нумерация вдруг пошла с единицы?
Улыбнулся, спасибо :)
Поясните что это за зверь такой - номер дерева?
Это моё название (так удобней). Используется для получения Seed, проще говоря.
Seed = 343FDh * Hero_Level + 26497h * N + 259DFh
Да, и разумный вопрос: а посещение объектов, как мы раньше говорили, "сбивающих" дерево навыков, оставляет ли неизменным R?
Да, просто новый навык добавляется. Соотвественно меняется сумма SUM_W и генерируются другие навыки (т.е. дерево ломается). Алгоритм работает и в этом случае.
Kluka
Таким образом, теперь, чтобы знать всё дерево навыков, нужно всего лишь знать этот номер дерева N, который должен быть зашит где-то в сейве (и Вы наверняка уже знаете где!). Скоро старая древокачалка отправится в музей под стекло :)
Для полноты анализа осталось только дать объяснение тому, откуда берётся баг с кривой "первой помощью", при нажатии на которую игра вылетает. Может быть та самая, таинственная, кривая, первая, - помощь - является 28м псевдонавыком?
AlexSpl
Скоро старая древокачалка отправится в музей под стекло
Всё давно уже сделано (отмотайте тред насколько назад) :) Качайте последнюю версию. Строит деревья, а также осуществляет поиск нужного набора навыков. Нужна лога + земля - пожалуйста.
Кроме того, там есть режим исследования, т.е. можно строить любое из 255 деревьев.
Добавлено через 2 минуты
Для полноты анализа осталось только дать объяснение тому, откуда берётся баг с кривой "первой помощью", при нажатии на которую игра вылетает.
О таком не слышал. Опишите суть.
Игра иногда вылетает, казалось бы, без всяких видимых причин. Последний раз наблюдал, когда пытался поставить второй Грааль.
Kluka
Качайте последнюю версию.
Ага, спасибо. Что-то её проглядел :) Только я так и не понял, как там дерево смотреть. Или оно работает только в 4.0? Вообще непросто разобраться в программе: какие-то команды в меню, какие-то в контекстном меню. Похоже на китайский брелок для ключей, в который вмонтировано всё от штопора до зубочистки :)
Про упомянутый баг я нашёл древний пост Vbn: /topic/at/148639/ Я 1-2 раза с этим сталкивался, но ни одного сейва с этим навыком не нашёл.
AlexSpl
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
пожалуйста, дайте версию программы LM Oracle под win7, на rghost/google или какой нибудь другой хостинг,
Nukem
скачал с буржуйского сайта, прогой пользоватся не могу т.к. нет кнопки старт. ЮАК отрублен, нод всем доволен.
я не знаю как увеличить размер окна, оно фиксированного размера и кнопки старт не видно
Somuraj
я не знаю как увеличить размер окна, оно фиксированного размера и кнопки старт не видно
Измените размер шрифта на Обычный (100%) (ПКМ -> Разрешение).
eno tuohtiw hguone yzarc si efil nalp a deen od elpoep tsom
Zuzuka
И все-таки господа, не нашел ни одной рабочей ссылки этой проги, чем крайне расстроен....(((((
И все-таки господа, не нашел ни одной рабочей ссылки этой проги, чем крайне расстроен....(((((
А если бы Вы только знали, как расстроен я ... Автор этой замечательной программы - талантливый программист и интересный человек AlexSpl. К моему большому сожалению, в начале лета этого года он решил идти по пути стирания личной истории ... Единственное, что мне стало известно - AlexSpl, к счастью, жив. Но я с ним связаться по-прежнему не могу ...