Полная версия этой страницы:
ERM: Вопросы и ответы
1. в основном - да, они запрограммированы с помощью ERM
2. смотри скрипт №10 (в эре: №68 вроде)
Michel Strogoff
04 Dec 2015, 16:14
igrik, хочу напомнить, что я не использую Эру. И позволь интимный вопрос: куда или где смотреть?
"Data\s\script10.erm". Там он очень короткий.
Описания от него: вроде папка "Rus\script10.ert". Не помню уже структуру каталогов WoG 3.58
Michel Strogoff
30 Dec 2015, 11:10
У меня возникли проблемы со Снеговиками (это жилище Санта-Гремлинов), когда я первых раз посещаю их, ко мне нанимается один С-Гремлин, а через неделю, ко мне нанимаются аж 224 С-Гремлина. Вогофикацию я не проводил. Можно ли как-то это исправить, уменьшить эту невероятную численность?
feanor
30 Dec 2015, 12:32
!!DW:M же
Michel Strogoff
30 Dec 2015, 15:57
Короче, с этими Сантами какие-то проблемы. Снеговики работают так: первый раз можно нанять 1 Гремлина, а во все последующие разы 28 почему-то. На своей карте я "поселил" Сант в город Башня и, похоже, этот скрипт негативно воздействует на Снеговиков, из-за чего Гремлины нанимаются бесплатно и не по 28, а по 224. Словом, нельзя ли это как-то исправить? Чтобы Снеговики производили нужное мне количество Гремлинов. Мне очень нужно. А команда !!DW:M действует лишь одну неделю.
feanor
30 Dec 2015, 16:00
Цитата
А команда !!DW:M действует лишь одну неделю.
Таймер же.
Впрочем, приду домой, посмотрю, как сделан двеллинг Снеговиков - в Воге фичи ради сделали им подневный прирост насельников вместо понедельного.
DrSlash
13 Feb 2016, 22:07
Несколько вопросов накопилось...
1) Не работает скрипт
Код
ZVSE
!#HE71:R3/0;
!#HE144:R3/0;
Теоретически он должен запрещать Галтрана и Маллича, но в окне выбора героя в ГСК они присутствуют (точнее, присутствует из них только Галтран, но Маллич у мне всё равно попадался как стартовый)...
2) Не нашёл триггера, чтобы скрипт работал только на случайных картах.
3) Как применить команду !!CA ко всем замкам на карте?
на первое не подскажу.
Код
// на второе
; © feanor
!!UN:C6919480/4/?y10; получить адрес ссылки на указатель
!!VRy11:Sy10 +128980; получить адрес начала имени папки с картой
!!UN:Cy11/1/?y11; получить первый символ
!!FU&y11<>114:E; если не 'r' (random_maps), то выйти; 109 - maps; 104 - h2sw )
// на третье
!!UN:U98/-1/?y1; [узнать кол-во всех замков]
!!DO8368/1/y1/1&y1>0:Py1; [циклическая функция с проходом по всем замкам]
!?FU8368;
!!VRy1:Sx1 -x16 +1; [математические вычисления текущего в цикле замка]
!!UN:U98/-1/y1/1; [узнать координаты текущего в цикле замка]
!!CA1:B6/14 B6/15; [построить в текущем в цикле замке рынок и хранилище ресурсов]
hippocamus
14 Feb 2016, 17:34
Цитата(DrSlash @ 13 Feb 2016, 22:07)

Несколько вопросов накопилось...
1) Не работает скрипт
Код
ZVSE
!#HE71:R3/0;
!#HE144:R3/0;
Теоретически он должен запрещать Галтрана и Маллича, но в окне выбора героя в ГСК они присутствуют (точнее, присутствует из них только Галтран, но Маллич у мне всё равно попадался как стартовый)...
Ну так... ERM начинает работу при старте карты, чего ж ты хотел в меню? С другой стороны, некоторые инструкции и команды не прекращают своей работы при новом рестарте, так что, возможно, при следующем рестарте (или - в следующей карте) они как раз будут запрещены. Особенно если запрет прописывается через UN:C.
Для этого случая используются бинарники. Вот, например,
бинарник из Эры, адаптированный мной под ХД - который как раз делает наоборот -
разрешает всех героев на случайной карте. Если разберёшься - сможешь сделать наоборот.
shrooman
05 Jan 2018, 23:13
Подскажите, работает ли ERM с флагами и переменными из внешних данных? Если я правильно понимаю, ERM работает с каждой картой отдельно. При работе с компаниями герой последовательно передвигается из карты в карту. Сможет ли ERM сохранить данные по завершении одной карты, а затем прочитать эти данные в следующей карте?
hippocamus
05 Jan 2018, 23:40
ERM - нет.
Era - может. Что угодно и куда угодно сохранить и, соответственно прочитать. Хоть свой ini-файл создай для кампании. Но вот не знаю насчёт того, возможно ли это сделать высокоуровнево, без написания собственной dll. Но, насколько помню, что-то подобное там было.
Berserker
06 Jan 2018, 00:01
Для Эры сохранить данные в ini-файле можно было бы.
Код
!!SN:L^era.dll^/?y1 Ay1/^WriteStrToIni^/?y2 Ey2/0/^key^/^value^/^section^/^Data\myfile.ini^;
!!SN:Ay1/^SaveIni^/?y2 Ey2/0/^Data\myfile.ini^;
По ходу игры появилась пара вопросов. Первый - какой файл отвечает за связь двойных двусторонних монолитов между собой? У меня бывают такие баги, что связаны не 2 монолита, а 4. Из одного монолита можно переместиться в 3 другие точки, а не одну. Хочу поправить.
Второе - какой файл отвечает за количество нейтральных замков на карте? Их слишком много в моей версии вога, никакого удовольствия от макроменеджемента с каждым новым замком.. Хочу уменьшить количество нейтральных замков раза в два.
Аскал, и какой из этих вопросов относится к ERM?
Навскидку, обе твои проблемы решатся, когда ты выберешь другой шаблон для генерации случайных карт.
TiTanK911
29 Oct 2018, 20:06
Народ нужна помощь,сам не шарю.Есть Script 44 (Изумрудная башня). В нём есть таймер посещения, хотелось бы понять как отключить таймер
или что сделать что бы эту башню можно было посещать постоянно? Просто на данный момент башню можно посетить 1 раз за игру.
Собственно часть скрипта , Если же тут нет нужного могу предоставить весь скрипт.
________________________________________________________________________________
_________
[Таймер сбрасывает статус не посещенных изумрудных башен каждую неделю]
!?TM38;
!!UN:P44/?y-1; [[проверить, включен ли скрипт: y-1]
!!FU&y-1<>1:E; [выход, если скрипт не включен]
!!UN:U63/65/?v1; [количество изумрудных башен: v1]
!!VRv1:S-1; [Инициализац v1 to -1 чтобы работать с новыми быстрее UN:U syntax]
!!DO10910/1/v1/1&v1>0:P; [цикл по всем Изумрудной башни]
-----------------------------------------------------------------------
[Сброс статуса не посещенных для каждой Изумрудной башни]
!?FU10910;
!!UN:U63/65/-1/1; [координаты следующей башни в v1/v2/v3]
!!POv1/v2/v3:N0; [установите PO:N в 0 чтобы сбросить текст подсказки]
-----------------------------------------------------------------------
[Башня с башенками триггер]
!?OB63/65;
!!UN:P44/?y-1; [проверить, включен ли скрипт: y-1]
!!FU&y-1<>1:E; [выход, если скрипт не включен]
[Инициализировать флаг 5 до False]
!!IF:V5/0;
[Сохранение текущего игрока в v2 и преобразование в номер бита игрока]
!!OW:C?v2;
!!VRv2:+550;
!!VRv2:Svv2;
[Проверьте, если текущий игрок AI уже получил улучшенное существо]
[v3=v2 если AI уже получил улучшенное существо]
!!VRv3:Sv1271 &v2;
!!VRv1270:S0; [инициализировать переменную бонуса до 0 ]
!!PO998:N?v1; [Проверьте, посещалась ли башня на этой неделе: v1=1 Если посещалась]
!!IF&v1=1/1000:M1/z144002;
[Выйти из триггера, если башня уже была посещена]
[неделя или AI уже получили улучшенное существо]
!!FU|v1=1/v2=v3:E;
Привет всем. В каком файле лежит информация о навыках, в каком - об артефактах?
Хочу некромантию порезать, бонусы непосредственно от навыка, от артефактов и от строения в городе.
Цитата(Аскал @ 07 Dec 2018, 07:14)

Привет всем. В каком файле лежит информация о навыках, в каком - об артефактах?
Хочу некромантию порезать, бонусы непосредственно от навыка, от артефактов и от строения в городе.
Лежит в exe. Без навыков программирования ничего не сделаешь.
tolich
07 Dec 2018, 10:14
Может, он имеет в виду ERM Help?
Цитата(tolich @ 07 Dec 2018, 10:14)

Может, он имеет в виду ERM Help?
Скорее всего да, но в хелпе этого нет.
На ERM некромантию подправить можно только через UN:C, но для этого нужно копаться в коде и найти нужные адреса
Richter
08 Jan 2019, 21:26
Появился вопрос. Можно ли с помощью ERM добавить опыт вызванному на поле боя стеку монстров?
hippocamus
08 Jan 2019, 22:28
Код
!!EA#:E$1/$2/$3/$4
Можно использовать только в бою
Установить опыт для стека в битве
$1 – очки опыта
$2 – модификатор (как для модификатора 6 в HE:C)
$3 – тип существа
$4 – количество существ
Вы можете использовать параметр d в $3 и $4, чтобы не изменять тип существа (будет автоматически установлена на корректный тип).
Пример:
!!EA-2:E1000/2/d/d;
Установить (2) очки опыта (1000) для существа в стеке № 1 на поле битвы.
Вы можете использовать эту команду ТОЛЬКО для стека на поле битвы (только отрицательные значения #).
Richter
12 Jan 2019, 15:27
Где то видел функцию или скрипт "получить вторичные навыки" при получении героем нового уровня (левый правый), а сейчас понадобилось и найти не могу, тоже с отключением экрана повышения уровня. Может кто знает где это найти?
Цитата(Richter @ 12 Jan 2019, 15:27)

Где то видел функцию или скрипт "получить вторичные навыки" при получении героем нового уровня (левый правый), а сейчас понадобилось и найти не могу, тоже с отключением экрана повышения уровня. Может кто знает где это найти?
Ищи в моде New_Level_Up_Screen у меня в подписи.
upd: забыл, что там хук я делал плагином, а реализацию мода на ERM.
Вот код хука для ERM.
Код
!?PI; &GM0
!!SN:L^EraPlugins\erm_hooker.era^/?y1; [проверили плагин]
!!FU&y1=0:E; [выход, если его НЕТ]
!!SN:Ay1/^SetHook^/?y2; [получить адрес функции SetHook]
!!SN:Ey2/1/5090948/31873; [хук на диалог повышалки с выбором 2=х втор.навыков]
!?FU31873;
!!SN:X?y3/0; [второй аргумент хука — выполнять ли затёртые команды, говорим НЕТ]
; EDI (0), ESI (4), EBP (8), ESP (12), EBX (16), EDX (20), ECX (24), EAX (28)
; RetAddr (32)
!!VRy4:Sy3 +32; [y2 указывает на адрес возврата, подменяем его]
!!UN:Cy4/4/5090961; [адрес команды следующей за вызовом функции (диалог с 2мя навыками)
Godriov
10 Mar 2019, 02:11
Здравствуйте, я тут не давно занялся небольшим улучшением героев вог . Написал вроде рабочий скрипт для фьера, чтобы он каждый раз ,как колдует, призывал энергетических элементалей на поле боя, но скрипт получился громоздким, может кто помочь мне оптимизировать его
Код
!?BG0;
!!BG:H?v100; [Узнаем номер героя]
!!FU&v100<>134:E; [Если не Фьер то выход ]
!!BG:A?v101; [Узнаем тип действия]
!!BG:Q?v111; [Узнаем сторону на которой наш Фьер]
!!FU&v101<>1:E; [Если это не каст заклинания то выход ]
!!HE134:F?v18/?v19/?v20/?v21/1; [Узнаем первичные характеристики Фьера]
!!VRv22:C0/0; [Задаю 2 переменным значение 0 иначе глючит, да и правильно видимо не смог все в одну переменную запихать]
!!VRv22:+v18+v19+v20+v21; [Скаладываем первичные навыки]
!!VRv23:+v22; [Передаю их в другую переменную]
!!VRv23*3; [Умножаю первичные навыки на 3]
!!BU:O03/?v102; [Проверяю на свободу клетку на поле боя под номером N]
!!BU:E03/?v103; [Проверяю нет ли живого юнита на этой же клетке N]
!!VRv102&v103<>-1:+1; [Если есть юнит присваиваю значению клетки что она занята]
!!BU&v102=0:S129/v23/03/v111/-1/1; [Если клетка свободна, вызываю энергетических элементалей в количестве суммы первичных навыков умноженных на 3, в эту клетку на стороне Фьера]
!!FU&v102=0:E; [Выход если Элементали вызваны] [если клетка занята то все тоже самое для следующей клетки, и так много раз]
!!BU:O04/?v102;
!!BU:E04/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/04/v111/-1/1;
!!FU&v102=0:E;
!!BU:O20/?v102;
!!BU:E20/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/20/v111/-1/1;
!!FU&v102=0:E;
!!BU:O21/?v102;
!!BU:E21/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/21/v111/-1/1;
!!FU&v102=0:E;
!!BU:O37/?v102;
!!BU:E37/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/37/v111/-1/1;
!!FU&v102=0:E;
!!BU:O38/?v102;
!!BU:E38/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/38/v111/-1/1;
!!FU&v102=0:E;
!!BU:O54/?v102;
!!BU:E54/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/54/v111/-1/1;
!!FU&v102=0:E;
!!BU:O55/?v102;
!!BU:E55/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/55/v111/-1/1;
!!FU&v102=0:E;
!!BU:O71/?v102;
!!BU:E71/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/71/v111/-1/1;
!!FU&v102=0:E;
!!BU:O72/?v102;
!!BU:E72/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/72/v111/-1/1;
!!FU&v102=0:E;
!!BU:O88/?v102;
!!BU:E88/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/88/v111/-1/1;
!!FU&v102=0:E;
!!BU:O89/?v102;
!!BU:E89/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/89/v111/-1/1;
!!FU&v102=0:E;
!!BU:O105/?v102;
!!BU:E105/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/105/v111/-1/1;
!!FU&v102=0:E;
!!BU:O106/?v102;
!!BU:E106/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/106/v111/-1/1;
!!FU&v102=0:E;
!!BU:O122/?v102;
!!BU:E122/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/122/v111/-1/1;
!!FU&v102=0:E;
!!BU:O123/?v102;
!!BU:E123/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/123/v111/-1/1;
!!FU&v102=0:E;
!!BU:O139/?v102;
!!BU:E139/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/139/v111/-1/1;
!!FU&v102=0:E;
!!BU:O140/?v102;
!!BU:E140/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/140/v111/-1/1;
!!FU&v102=0:E;
!!BU:O156/?v102;
!!BU:E156/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/156/v111/-1/1;
!!FU&v102=0:E;
!!BU:O157/?v102;
!!BU:E157/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/157/v111/-1/1;
!!FU&v102=0:E;
!!BU:O173/?v102;
!!BU:E173/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/173/v111/-1/1;
!!FU&v102=0:E;
!!BU:O174/?v102;
!!BU:E174/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/174/v111/-1/1;
!!FU&v102=0:E;
И еще вопрос можно ли юниту дать после того как он атакует еще одно действие, Просто у меня задумка сделать юнита который сначала стреляет в независимости от того есть ли рядом враг, а после этого идет бить в рукапашную, заранее спасибо.
hippocamus
10 Mar 2019, 16:32
Цитата(Godriov @ 10 Mar 2019, 02:11)

Здравствуйте, я тут не давно занялся небольшим улучшением героев вог . Написал вроде рабочий скрипт для фьера, чтобы он каждый раз ,как колдует, призывал энергетических элементалей на поле боя, но скрипт получился громоздким, может кто помочь мне оптимизировать его
Не вникая в суть кода, могу сказать сразу, что подобные части кода надо оформить как функцию.
Код
!!BU:O71/?v102;
!!BU:E71/?v103;
!!VRv102&v103<>-1:+1;
!!BU&v102=0:S129/v23/71/v111/-1/1;
!!FU&v102=0:E;
Здравствуйте!
Подскажите, пожалуйста, ERM-скрипты действуют только в ВОГ? Есть возможность встроить или установить ERM на ХОТЕ?
feanor
26 Mar 2019, 14:21
Нету.
otshelnik
01 Dec 2019, 21:18
От каких конкретно параметров зависит стойкость монстров на карте (будут ли убегать нейтральные монстры от героя)? Заметил по меньшей мере 2 параметра: ценность для ИИ (!!MA:I) существ у героя и первичные навыки героя. Есть ли какая-нибудь формула, которая бы это обобщала? Как сделать стойкость монстров зависимой от каких-либо текущих параметров игры?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.