(06.09.2020 02:47)Berserker Wrote: [ -> ]
Вот такое реально удобнее, бесспорно, не надо парить голову в середине триггера с сотней строк в теле какую же там щас могу взять y-переменную
а вот с остальным пока реально сложно переучить беглое чтение кода, да...

Bes, кроме этого константы вида (OBJ_MONSTER) вместо "54" и именованные функции. Всё.
Berserker, сложно читать из-за увеличения длин строк, это я имел ввиду. И да, за многолетний период привычные типы на карте 98, 54 быстро воспринимаешь, чем (OBJ_TOWN),(OBJ_MONSTR) и т.д.
На всё это опять нужно время, потому ветеранам будет проще писать код смешанный (где-то новые команды, а где-то привычные старые нечитаемые для других числа)
Bes, читать сложно до первого написанного сложного триггера. Мозг — штука пластичная.
Пример:
(12.09.2020 00:32) Wrote: [ -> ]
Era 3.0.5+. ERM 2.0
Возвращает логическую принадлежность монстра конкретному городу/фракции. Изменения в настройках городов не влияют на работу функции.
Обучающие примеры скриптов на ERM 2.0
Парочка переписанных WoG скриптов (комментарии тут нужны только в редких случаях)
А код сам по себе уже вполне читаем.
Code:
!!SN:T^wog_186.title^/?z2;
!!SN:T^wog_186.standart^/?z3;
!!SN:T^wog_186.cancel^/?z4;
!!SN:T^wog_186.noHired^/?z5;
Можно прямо в !!IF:G(ERM_RADIO)/2/1024/^%T(wog_186.title)^/...
Все 4 переменные.
(09.10.2020 15:13)Berserker Wrote: [ -> ]
Code:
!!SN:T^wog_186.title^/?z2;
!!SN:T^wog_186.standart^/?z3;
!!SN:T^wog_186.cancel^/?z4;
!!SN:T^wog_186.noHired^/?z5;
Можно прямо в !!IF:G(ERM_RADIO)/2/1024/^%T(wog_186.title)^/...
Все 4 переменные.
Агонь

Буду учитывать в дальнейшем!
Хм, что-то у меня каждый второй скрипт на ЕРМ2 с ошибками выдаёт.
Сделал copy/paste в sublime, сохранил, запустил игру. EraErmFlamework даже поставил, но что с ним, что без, везде ошибки. Пока без них только
ERM 2: Новые поля битв запустил.
Что я делаю не так?
igrik определил у себя часть (аргх) безпрефиксных констант, которые в примере кода не указаны. Определи их сам.
Открой IF:Q, посмотри, какой ИД у артефакта, например 6, и напиши:
1000 night - consts.erm
Berserker, а как этот пример использовать?
Я сделал такой скрипт для проверки:
Но он мне также выдаёт ошибку
Или нужно вместо (UNC_UINT8) задавать значение смещения в байтах? 1,2 или 4?
Такого вида работает, а вот (UNC_UINT8) - нет. Хм.
Night, вот самый свежий исполняемый файл Эры:
https://dropmefiles.com/H5AQP
Там всё исправлено. UINT8 - Unsigned integer 8. Читаем беззнаковое целое число из 8-и бит, то есть байт. Это -1.