Current time: 13.06.2025, 19:02 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Если просто нужен скрипт
Author Message
Ethereal Offline

Posts: 369
Post: #886

(25.06.2023 07:26)XEPOMAHT Wrote:  Непосредственно в коде ВоГ-а. Пример - бонусный опыт для командира Замка:

Code:
if(Type==0) DelExp=DelExp*150/100;

После нескольких бэкапов понял, что туда лезть не следует. С "UN:C" тем более. Проще HEX-ом и надежней. А то о чём раньше писал - решилось обновлением Тифона. Фиг его знает, как это связано, но проблема решена.


Космос Просто
Space Room
(This post was last modified: 11.07.2024 20:54 by Ethereal.)
11.07.2024 20:53
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 833
Post: #887

Добрый день! В процессе игры, перед выполнением какого-либо скрипта, можно ли запустить особый скрипт, позволяющий в принудительном порядке установить скорость передвижения вражеского героя на минимум.

Image: image.png

Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.

Платформа ERA.


Моя страница в ВК
Моя разработка мода
(This post was last modified: 07.04.2025 11:34 by Barin.)
07.04.2025 11:30
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1344
Post: #888

Barin, этот параметр есть в опциях игры:
Code:
COMP_WALK_SPEED_OPT    !!UN:C6916008/4/y1;
Замена значения y1 изменит скорость передвижения компьютерных героев.

P.S. вот здесь есть все опции игры:
http://wforum.heroes35.net/showthread.ph...#pid108551


Карта-мод "Война на Холсте"
(This post was last modified: 07.04.2025 13:39 by SergOz.)
07.04.2025 13:34
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2452
Post: #889

(07.04.2025 11:30)Barin Wrote:  Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.

В структуре стека есть walkAnimationTime аж в 2-х местах: дефолтная и модифицированная от заклинания (когда на отряд накидывается ускорение/замедление). Выбирай любую.
07.04.2025 13:42
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 833
Post: #890

(07.04.2025 13:42)XEPOMAHT Wrote:  
(07.04.2025 11:30)Barin Wrote:  Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.

В структуре стека есть walkAnimationTime аж в 2-х местах: дефолтная и модифицированная от заклинания (когда на отряд накидывается ускорение/замедление). Выбирай любую.

Я ничего не понял.

А что касается !!UN:C6916008/4/y1; то тут есть нюанс.

Установил я значит так: !!UN:C6916008/4/1; Скорость действительно меняется на минимальную, но только если выставил значения, выделенные зеленым. А вот если выбрать то, что красным - код не срабатывает. Движение героя не видно, согласно выбранной опции.

Image: image.png


Моя страница в ВК
Моя разработка мода
07.04.2025 14:27
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 833
Post: #891

Проверил значения кнопок:

Image: image.png

Хоть и ставил там единичку, разницы никакой (двойка на самом деле). По-прежнему, код не действует на кнопку со значением 5. Что тут можно придумать? 3 и 4 меняются. 5-ка игнорит нашу команду.


Моя страница в ВК
Моя разработка мода
(This post was last modified: 07.04.2025 15:02 by Barin.)
07.04.2025 14:45
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 833
Post: #892

Странно, кнопка определяется:
!!UN:C6916008/4/?y1; узнать какая кнопка (заранее выставил 5-ю)
!!IF:M^%Y1^; Да, показывает, что установлена 5-я кнопка
!!UN:C6916008/4/2; меняю значение. Но 5-я кнопка всё равно срабатывает. Может на неё существует отдельный адрес команды !!UN ?

А то получается, что смысла нет в вышеуказанных кодах на смену скорости. Если выставлена 5-я кнопка (не показывать движение врага), то ничего не поделать.


Моя страница в ВК
Моя разработка мода
(This post was last modified: 07.04.2025 16:16 by Barin.)
07.04.2025 16:11
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1344
Post: #893

Barin, нужно предварительно внести правку в !!UN:C6916064/4/y1; выставив там 0


Карта-мод "Война на Холсте"
07.04.2025 16:56
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 833
Post: #894

(07.04.2025 16:56)SergOz Wrote:  Barin, нужно предварительно внести правку в !!UN:C6916064/4/y1; выставив там 0

О как! Спасибо, вроде бы работает.


Моя страница в ВК
Моя разработка мода
07.04.2025 17:02
Find all posts by this user Quote this message in a reply
SheCKter Offline

Posts: 3
Post: #895

Господа, всех приветствую!

Отписал в "столе заказов", но на всякий продублирую еще сюда.
Прошу помощи в следующем вопросе. Естественно, не бесплатно.

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

Чтобы была возможность задать конкретное значение опыта, дальше которого оно бы не поднималось – сколько бы он там ни побеждал в сражениях.

Или же – ограничить рост героя конкретно прописанным уровнем.

Это не обязательно должен быть какой-то отдельный скрипт / плагин.
Вполне допускаю, что это может быть просто расширенная функция в каком-нибудь существующем редакторе сохранений. Таком как Heroes3 Savegame Editor. Там ведь тоже можно в любом сейве открыть конкретного героя и задать ему любое значение опыта – и тут же сохранить эти изменения.

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

Знаю, что уровень героя можно ограничить в редакторе карт – но там возможности ограничены 2-значным числом, а мне нужно задать 4-значное.

Если это можно исправить – т.е. расширить инструментарий редактора карт, чтобы он позволял ограничить уровень героя именно 4-значным числом – или же ограничить опыт героя в конкретном прописанном значении – это тоже решит проблему.

Может быть, есть возможность создать такой артефакт?

В общем, воспользовался бы любой лазейкой.

Если у кого есть идеи / возможности это реализовать, прошу в ЛС
10.06.2025 20:58
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2452
Post: #896

(10.06.2025 20:58)SheCKter Wrote:  Знаю, что уровень героя можно ограничить в редакторе карт – но там возможности ограничены 2-значным числом, а мне нужно задать 4-значное.

4-значное физически невозможно, т.к. ограничение уровня героя хранится в байте (максимум 127, выше - уйдёт в минус). ERA+ ограничивает прокачку 75-м уровнем, всё что выше - сбрасывается до 75 уровня, т.к. Тифон мониторит уровни всех героев в игре. Скриптом менять ограничитель уровня в любой момент игры очень просто: получаешь адрес памяти главной игровой структуры и перезаписываешь в ней байт по адресу +1F877h. Это 1 строчка на эровском UN:C.
10.06.2025 23:48
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16770
Post: #897

Максимальный реальный безопасный опыт где-то 1.5 млрд или 73 уровень, если не ошибаюсь. Можно сделать меньше, но не больше.


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

Posts: 2452
Post: #898

(11.06.2025 01:37)Berserker Wrote:  Максимальный реальный безопасный опыт где-то 1.5 млрд или 73 уровень, если не ошибаюсь. Можно сделать меньше, но не больше.

В ERA+ максимальный 75 уровень. С небольшим запасом на всякийпожарный. Работает вполне себе безопасно, т.к. кривой содовский код в этом месте был сменён, но для сохранения содовского темпа прокачки и совместимости с плагинами/скриптами потолок установлен именно 75, теоретически можно сделать хоть 1000, если хранить опыт в квадро вместо дворда (хотовцы могут себе такое позволить, а вот кто уже работает с ЭРА - нет). В оригинальном СоД-е безопасный - 74-й, выше - опыт минусуется и СоД заглючивает.
11.06.2025 02:32
Find all posts by this user Quote this message in a reply
SheCKter Offline

Posts: 3
Post: #899

Друзья, всем спасибо, кто отписался.
Ок, больше вопрос не поднимаю. Буду знать, что это неосуществимо, по крайней мере, не в ЭРА / СоД.

Попутно хотел спросить еще вот что: возможно ли решить момент с переполнением золота?
В моем паке, например, примерно после 2 млрд 114 млн золотых монет происходит переполнение, и оно уходит в минус.
Есть ли возможность заставить игру нормально воспринимать, скажем, 11-ти / 12-ти / 13-ти / 14-ти значные числа?
Интересует ТОЛЬКО золото
Yesterday 16:59
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2452
Post: #900

(Yesterday 16:59)SheCKter Wrote:  Попутно хотел спросить еще вот что: возможно ли решить момент с переполнением золота?
В моем паке, например, примерно после 2 млрд 114 млн золотых монет происходит переполнение, и оно уходит в минус.
Есть ли возможность заставить игру нормально воспринимать, скажем, 11-ти / 12-ти / 13-ти / 14-ти значные числа?
Интересует ТОЛЬКО золото

Тоже нет, т.к. под такое лютое читерство игра изначально не рассчитана - там обычное ограничение двойного слова, которое можно обойти только перекомпиляцией всей игры, но исходными кодами обладает только Юбисофт.
Yesterday 17:08
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-2025 MyBB Group