Current time: 26.11.2024, 14:58 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
[ERA 3] HoMM3 ERA Launcher Edition
» HoMM3 ERA + HD-mod + ERA Scripts. С автообновлениями и новостями в лаунчере.
Author Message
Berserker Offline
Administrators

Posts: 16657
Post: #2956

daemon_n, только навыков. Поведение ИИ случайное при перезагрузке, в том плане, что ГСЧ не сохраняется. Урон от заклинаний и сопротивление тоже.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.02.2022 01:32
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2957

Berserker, поведении ии не случайное. Достаточно просто загружать автосейв, и ии всегда будет повторять свой ход
Про заклинания - я имел в виду их расположение в гильдии магов - они предопределены из главного сида, как и навыки при повышении уровня.

А что касается урона заклинаний, так он вообще не зависит от рандома, а зависит от базовых параметров и модификаторов.

Сопротивление и физ урон в бою тоже повторяются, если ходы человеком всегда те же.
Даже герои в таверну те же приходят после перезагрузки. В общем, отличаются лишь результаты быстрой битвы (не авто, а именно квик, на q, потому что там ломаются оригинальные механики игры). То же касается и быстрой битвы без отображения поля боя.
В общем, в идеале, конечно, было бы прицепиться к текущему сиду карты, и от него уже делать все VR:R; а кто хочет хаоса, пусть использует VR:T.
К слову, те функции, которые я переписал, имели VR:R. Я лишь добавил сброс генератора при вызове данной функции, исходя из координатов объекта, контрольного числа клетки (+1, если объект можно использовать повторно) и случайной "константы" от старта карты. Возможно, позднее добавлю ещё и тип/подтип посещаемого объекта, просто потому что могу)

И тем не менее я подумаю об опции "сохраняемых значений".
Только, скорее всего, она будет противоположной твоей идеи : "случайные значения при перезагрузке", потому что показательная опция "книга заклинаний", где игрок просто за 1-n перезагрузок роляет себе все самые крутые заклинания. Дд, Армагеддон, ТП - мол, "а чё"?


Image: widget.png?style=banner2

Новейший Heroes Launcher
07.02.2022 02:50
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2958

Quote:Сопротивление и физ урон в бою тоже повторяются, если ходы человеком всегда те же.
Нет. Чистый рандом.

Quote:Достаточно просто загружать автосейв, и ии всегда будет повторять свой ход
По моей памяти не всегда. Нужно проверять с Debug.Rng=1, будет ли RSeed при старте хода ИИ. Скорее всего, нет.

Quote:В общем, в идеале, конечно, было бы прицепиться к текущему сиду карты, и от него уже делать все VR:R; а кто хочет хаоса, пусть использует VR:T.
Это не идеал. Случайные события должны быть случайными. И все вызовы random() в игре являются случайными. Состояние генератора намеренно не сохраняется в сейве. Только для отдельных элементов вроде навыков и заклинаний в городах, а также препятствий в бою сделаны исключения по понятным причинам.

Скажем так, если что-то логически должно генерировать на старте карты — это одно. Если что-то генерируется в процессе посещения объекта — это другое.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.02.2022 05:58
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2959

В героях ничего не генерируется при посещении объекта.

Хорошо, постараюсь вечером проверить, если не упаду без сил166


Image: widget.png?style=banner2

Новейший Heroes Launcher
07.02.2022 07:47
Visit this user's website Find all posts by this user Quote this message in a reply
Elmore Offline

Posts: 608
Post: #2960

А я за то, чтобы как можно больше значений генерировались при создании карты. Иначе игра "заставляет" перероливать через save/load в процессе игры. Если возможно, то сделать это опциональным для любителей выбить лучшее.


Image: widget.png?style=banner2
07.02.2022 09:29
Find all posts by this user Quote this message in a reply
Nevemor Offline

Posts: 49
Post: #2961

Добавлю свое важное мнение: ходы ИИ могут быть разными) замечал несколько раз.
При чем мне это сильно запомнилось из-за того, что при ходе ИИ игра вылетала. При 3-4 загрузке, ИИ пошел в совсем другую сторону, тем самым спас партию от вылета... еще на несколько ходовSm)
07.02.2022 23:27
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2962

Всё потому, что состояние ГСЧ никогда не сохранялось в файле сохранения. И не должно было. Точно также случайный ресурс в начале недели не привязан к чему-либо. И случайное событие колодца не должно. Либо должно зависеть в том числе от текущего дня. Имхо, игровой день + соль/секретный ключ/параметр карты = достаточно для псевдослучайного результата.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
08.02.2022 00:33
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2963

Nevemor, Berserker, вот вы и попалисьSpiteful

Всё верно! Чтобы ход изменился, надо самому сделать иные действия после загрузки, и тогда и только тогда меняется поведение ИИ.
Достаточно, порой, сделать лишнюю покупку/постройку, новое движение.
И совсем не обязательно делать это в пределах видимости ИИ. Тут как с поведением в бою: иные ходы - иной разброс на урон и морали.

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


Image: widget.png?style=banner2

Новейший Heroes Launcher
08.02.2022 01:00
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2964

Berserker, что касается ресурса пруда и, как ни странно героя в таверне, тут спорить не буду случайные (ну, наверно, недельный сброс я смогу простить), но объясните же мне, почему же заклинания в книжке заклинаний, ловля в колодце и смена заклинаний в шрайнах за мифрил должны быть так нещадно обузофильными?102


Image: widget.png?style=banner2

Новейший Heroes Launcher
08.02.2022 01:19
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2965

Потому что они никакого логического объяснения детерминированности для таких процессов нет. Тут именно что случайное значение, как бросок кубика в ролевой игре. Не нужно пытаться каждый вызов random() привязывать к чему-либо.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
08.02.2022 02:15
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2966

Berserker, я сделаю отдельной опцией, окей.
"И включу её по умолчанию116"



заодно скопирую вопрсо из дискорда:

Quote: тут проблем с плагином и скриптами оказалась - плагин на отображение мифрила обнулял очки передвижения, если я использовал
Code:
Era::y[1] = P_Game->GetPlayerID();
Era::ExecErmCmd("OW:Ry1/7/?y2");

   
это странно, так что временно закостылил на y66
есть ли возможность иначе получить число мифрила игрока, чтобы не использовать erm++?


Image: widget.png?style=banner2

Новейший Heroes Launcher
08.02.2022 02:32
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2967

А когда срабатывает указанный код? Кто его вызывает?


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
08.02.2022 02:53
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2968

Berserker, при обновлении экрана и строки ресурсов - я вызываю

Code:
_PI->WriteLoHook(0x403F00, OnResourceBarDlgUpdate);
_PI->WriteLoHook(0x417380, OnResourceBarDlgUpdate);


Image: widget.png?style=banner2

Новейший Heroes Launcher
08.02.2022 03:06
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #2969

Обновление ERA 3 Лаунчер-издания:
v2.49 (08.02.2022)

Список изменений:
[#] исправлено обнуление очков передвижения героя с опцией "Удвоенное число очков передвижения";
[#] Обелиски не предлагали использовать заклинание;
[#] иные мелкие исправления, но все ждали именно первый фикс 118


Image: widget.png?style=banner2

Новейший Heroes Launcher
08.02.2022 04:15
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2970

Ну тогда понятно. Ты прикинь, портишь y[1] во время вызова UN:R2.
Это если ты в обработчике события работаешь, то там y-переменные уже сохранены Эрой и можно кодить что угодно. А в произвольном хуке, активируемом ЕРМ командами портить память нельзя.
Решение простое → вернуть значение y[1], которое было до этого после выполнения команды.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
08.02.2022 05:03
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group