(25.06.2023 07:26)XEPOMAHT Wrote: [ -> ]Непосредственно в коде ВоГ-а. Пример - бонусный опыт для командира Замка:
Code:
if(Type==0) DelExp=DelExp*150/100;
После нескольких бэкапов понял, что туда лезть не следует. С "UN:C" тем более. Проще HEX-ом и надежней. А то о чём раньше писал - решилось обновлением Тифона. Фиг его знает, как это связано, но проблема решена.
Добрый день! В процессе игры, перед выполнением какого-либо скрипта, можно ли запустить особый скрипт, позволяющий в принудительном порядке установить скорость передвижения вражеского героя на минимум.
Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.
Платформа ERA.
(07.04.2025 11:30)Barin Wrote: [ -> ]Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.
В структуре стека есть walkAnimationTime аж в 2-х местах: дефолтная и модифицированная от заклинания (когда на отряд накидывается ускорение/замедление). Выбирай любую.
(07.04.2025 13:42)XEPOMAHT Wrote: [ -> ] (07.04.2025 11:30)Barin Wrote: [ -> ]Мне это нужно для визуального эффекта в некоторых сюжетах. Чтобы человек-игрок видел передвижение врага на максимально медленной скорости.
В структуре стека есть walkAnimationTime аж в 2-х местах: дефолтная и модифицированная от заклинания (когда на отряд накидывается ускорение/замедление). Выбирай любую.
Я ничего не понял.
А что касается !!UN:C6916008/4/y1; то тут есть нюанс.
Установил я значит так: !!UN:C6916008/4/1; Скорость действительно меняется на минимальную, но только если выставил значения, выделенные зеленым. А вот если выбрать то, что красным - код не срабатывает. Движение героя не видно, согласно выбранной опции.

Проверил значения кнопок:
Хоть и ставил там единичку, разницы никакой (двойка на самом деле). По-прежнему, код не действует на кнопку со значением 5. Что тут можно придумать? 3 и 4 меняются. 5-ка игнорит нашу команду.
Странно, кнопка определяется:
!!UN:C6916008/4/?y1; узнать какая кнопка (заранее выставил 5-ю)
!!IF:M^%Y1^; Да, показывает, что установлена 5-я кнопка
!!UN:C6916008/4/2; меняю значение. Но 5-я кнопка всё равно срабатывает. Может на неё существует отдельный адрес команды !!UN ?
А то получается, что смысла нет в вышеуказанных кодах на смену скорости. Если выставлена 5-я кнопка (не показывать движение врага), то ничего не поделать.
Barin, нужно предварительно внести правку в !!UN:C6916064/4/y1; выставив там 0
(07.04.2025 16:56)SergOz Wrote: [ -> ]Barin, нужно предварительно внести правку в !!UN:C6916064/4/y1; выставив там 0
О как! Спасибо, вроде бы работает.
Господа, всех приветствую!
Отписал в "столе заказов", но на всякий продублирую еще сюда.
Прошу помощи в следующем вопросе. Естественно, не бесплатно.
Требуется средство, которое могло бы технически перекрыть герою возможность получать дальнейший опыт, начиная с определенного момента.
Чтобы была возможность задать конкретное значение опыта, дальше которого оно бы не поднималось – сколько бы он там ни побеждал в сражениях.
Или же – ограничить рост героя конкретно прописанным уровнем.
Это не обязательно должен быть какой-то отдельный скрипт / плагин.
Вполне допускаю, что это может быть просто расширенная функция в каком-нибудь существующем редакторе сохранений. Таком как Heroes3 Savegame Editor. Там ведь тоже можно в любом сейве открыть конкретного героя и задать ему любое значение опыта – и тут же сохранить эти изменения.
Нужна только функция выставления запрета на получение дальнейшего опыта.
Знаю, что уровень героя можно ограничить в редакторе карт – но там возможности ограничены 2-значным числом, а мне нужно задать 4-значное.
Если это можно исправить – т.е. расширить инструментарий редактора карт, чтобы он позволял ограничить уровень героя именно 4-значным числом – или же ограничить опыт героя в конкретном прописанном значении – это тоже решит проблему.
Может быть, есть возможность создать такой артефакт?
В общем, воспользовался бы любой лазейкой.
Если у кого есть идеи / возможности это реализовать, прошу в ЛС
(10.06.2025 20:58)SheCKter Wrote: [ -> ]Знаю, что уровень героя можно ограничить в редакторе карт – но там возможности ограничены 2-значным числом, а мне нужно задать 4-значное.
4-значное физически невозможно, т.к. ограничение уровня героя хранится в байте (максимум 127, выше - уйдёт в минус). ERA+ ограничивает прокачку 75-м уровнем, всё что выше - сбрасывается до 75 уровня, т.к. Тифон мониторит уровни всех героев в игре. Скриптом менять ограничитель уровня в любой момент игры очень просто: получаешь адрес памяти главной игровой структуры и перезаписываешь в ней байт по адресу +1F877h. Это 1 строчка на эровском UN:C.
Максимальный реальный безопасный опыт где-то 1.5 млрд или 73 уровень, если не ошибаюсь. Можно сделать меньше, но не больше.
(11.06.2025 01:37)Berserker Wrote: [ -> ]Максимальный реальный безопасный опыт где-то 1.5 млрд или 73 уровень, если не ошибаюсь. Можно сделать меньше, но не больше.
В ERA+ максимальный 75 уровень. С небольшим запасом на всякийпожарный. Работает вполне себе безопасно, т.к. кривой содовский код в этом месте был сменён, но для сохранения содовского темпа прокачки и совместимости с плагинами/скриптами потолок установлен именно 75, теоретически можно сделать хоть 1000, если хранить опыт в квадро вместо дворда (хотовцы могут себе такое позволить, а вот кто уже работает с ЭРА - нет). В оригинальном СоД-е безопасный - 74-й, выше - опыт минусуется и СоД заглючивает.
Друзья, всем спасибо, кто отписался.
Ок, больше вопрос не поднимаю. Буду знать, что это неосуществимо, по крайней мере, не в ЭРА / СоД.
Попутно хотел спросить еще вот что: возможно ли решить момент с переполнением золота?
В моем паке, например, примерно после 2 млрд 114 млн золотых монет происходит переполнение, и оно уходит в минус.
Есть ли возможность заставить игру нормально воспринимать, скажем, 11-ти / 12-ти / 13-ти / 14-ти значные числа?
Интересует ТОЛЬКО золото
(12.06.2025 16:59)SheCKter Wrote: [ -> ]Попутно хотел спросить еще вот что: возможно ли решить момент с переполнением золота?
В моем паке, например, примерно после 2 млрд 114 млн золотых монет происходит переполнение, и оно уходит в минус.
Есть ли возможность заставить игру нормально воспринимать, скажем, 11-ти / 12-ти / 13-ти / 14-ти значные числа?
Интересует ТОЛЬКО золото
Тоже нет, т.к. под такое лютое читерство игра изначально не рассчитана - там обычное ограничение двойного слова, которое можно обойти только перекомпиляцией всей игры, но исходными кодами обладает только Юбисофт.