(05.02.2020 06:33)Berserker Wrote: [ -> ]ЕРМ полон сюрпризов. Неприятных. Вопрос знатокам, что выведет код?
!!VRi:S0 +37;
!!IF:M^%Vi^;
Он выведет 37. Или какой по твоему мнению должен быть результат?
(05.02.2020 06:33)Berserker Wrote: [ -> ]!!VRi:S0 +37;
!!IF:M^%Vi^;
Выводит 37. Без сюрпризов (проверил на ERA+).
На 2.9.5 выводит 37.
Но с i-переменной была у меня какая-то грабля, когда из нескольких операций последняя (или вторая) не учитывалась.
y-переменные на ее месте нормально работали.
Я, емнип, даже писал об этом, но локализовать появление этого глюка не смог. И если у тебя случился именно он, то выведет 0.
Вместо 0 попробуйте любую f..t быструю переменную. Будет грабля. Постараюсь исправить.
Version 2.9.9
Code:
[+] Added support for loop level in !!br (BREAK) and !!co (CONTINUE) loop controlling receivers.
!!br 1:; is the same as !!br:; and means break current (innermost) loop.
!!br 2:; will break outer level loop, !!br 3:; even higher level.
Example:
!!re i/0/6:; loop level 2
!!re j/0/4:; loop level 1
!!IF:M^%Vi %Vj^;
!!if&i=3:; The last shown message will be "3 0"
!!br 2:; break loop level 2
!!en;
!!en:;
!!en:;
[*] XX:Z command is no more a special command. Disabling ERM receivers is not supported.
57 - freelancers guild.erm will not work propertly.
[-] Fixed wrong ERM interpreter handling of spaces as commands. Example: !!VRy1:Sj +100 used to treat
space as command and silently consume '+100'. Now spaces between subcommands are fully supported.
!!VRy1:Sj +100 *4 -7;
[-] Fixed occasional savegames data corruption.
Скачать

Вышло обновление HoMM 3 ERA
Текущая версия:
2.9.9

Что нового ?

Появилась возможность прерывать/продолжать циклы верхних уровней с использованием команд !!br и !!co.

Рудиментарная универсальная команда отключения ресиверов XX:Z была удалена.

Исправлен ЕРМ интерпретатор: теперь любое число пробелов перед командами воспринимается корректно. Меньше багов, чище код.

Досадная ошибка, запарывающая сохранённые игры, исправлена.

Данная версия идеально подходит для нового мода «Расширенные Жилища»
Скачать:
https://mods.hmm35.ru/Era%20Latest.exe
(06.02.2020 04:57)Berserker Wrote: [ -> ][*] XX:Z command is no more a special command. Disabling ERM receivers is not supported.
Это что за такая интересная команда? Я впервые о ней слышу.
Berserker, а следующая версия будет уже 3.0.0?
Т.е. следующий этап это Lua?
On the road to ERA III
Little issue in 2.99
"New Upgrades Mod" gives ERM error
Old:
Debug + Mod
https://dropmefiles.com/edvd7
For me, it seems the coding in this old mod was just sloppy.
(06.02.2020 11:37)igrik Wrote: [ -> ]Это что за такая интересная команда? Я впервые о ней слышу.
Если имеется в виду LE:Z, то судя по исходникам - изменение данных в воговской таблице _ToDo_. Т.е. во время выполнения команды можно изменять какие-то параметры этой самой команды, ну и просто выключить её. Соответственно, носит чисто технические цели, наверное была бы полезна при отладке (документации по ней никакой нет). Можно было бы документировать и оставить для ERA, зачем было выпиливать?
igrik, команда отключает ресивер. После чего без включения он не выполняется. В гильдии наёмников так отключаются некоторые функции. Представь, что в С++ вместо заведения флага и выхода из события по нему отключаются сами функции и прочие операторы. Костыль ужасный. Нашёл использование только в 1-м воговском скрипте. Более того, команда обрабатывается универсально для всех ресиверов. То есть нельзя сделать HE:Z или MO:Z.
PerryR, old code was erroneous as I see. Without "S" the first space and variable were simply skipped, and the command started from -*:.
Thus, effectively, it was the same as !!VRv9590: 987654321 -v9589; If you find any other scripts with such defects, please write me.
igrik, нумерация версий (4 знака): X.X.XX, то есть дальше в этой ветке могут быть .10-.99.
Реально же только исправление багов и заморозка фич.
На ветку 3 да, развитие только Lua-библиотек. ЕРМ можно использовать текущий тоже.
XEPOMAHT, иронично, нет? )
Typhon:
; Убрать проверку, запрещающую использование ERM-команд Z
mov byte [741ECDh], 0EBh
UN:Z -команды…
(06.02.2020 22:01)Berserker Wrote: [ -> ]; Убрать проверку, запрещающую использование ERM-команд Z
mov byte [741ECDh], 0EBh
Это из MoP перекочевало в Тифон. Мастера рук дело. Так же можно было взять из MoP и поставить в WoG-опции встроенную опцию, вообще выключающую в игре весь ERM

.
Berserker, а ты когда закончишь активную стадию разработки? А то я уже несколько раз пытался помодить, но ты с такой скоростью релизишь, что не успеваю остановиться на какой-либо платформе. Вроде на 2.9.5 была "передышка", только поставился, успел BH чуток подпилить - бац, и уже 2.9.9. Опять тестить...
Не, я не против, ты не подумай, просто когда закончатся ближайшие планы или время, скажи пожалста.
Кстати о времени, откуда вдруг столько? Развелся? Или отправил в роддом?
Algor, уже, в основном только баги дальше. Времени мало, сколько можно в свободное время, сделал.
Испортилась команда !!UN:L#1/#2/#3/#4
Переместить взгляд на позицию
#1 – X
#2 – Y
#3 – L
#4 – время ожидания (1000 = 1 секунда)
Фокус переводится очень быстро, не секунда, а миллисекунды.
Такое ощущение, что последний параметр вообще не работает.
Демонстрация:
Не знаю, с какой версии началось, в Эре 2.8 вроде работало нормально.