fatsawhorse, может всё-таки вот так? (не проверял)
P.S. проверил на калькуляторе, записывая артефакт №5. Пользуясь формулой из справки
определения артефакта в сундуке, получил на выходе значение 5. Значит задача решена верно. Извини, нет желания запускать игру и там проверять
Bes спасибо Вам как всегда.. Отлично работает.. Я дня два мучился, а Вы двумя символами записали за несколько секунд..

Ещё раз спасибо..
(14.10.2020 01:39)Berserker Wrote: [ -> ]данная команда устарела и может быть удалена в будущих версиях.
Плохо. В низкоуровнево-подобном виде на ERM кто-то может что-то и пишет. Скрипты опять станут несовместимыми.

XEPOMAHT, он пока прощупывает реакцию такими вот словами... надо дать ему
взятку понять, что это будет излишней оптимизацией движка
fatsawhorse, надо было один день помучаться и уже сюда идти

Но в целом, у тебя неплохой прогресс в написании готовых решений, лишь невнимательно пока местами справку читаешь и потому допускаешь ошибки и излишние команды. Но это всё исправляется практикой, продолжай дальше придумывать скрипты и пытаться их самостоятельно написать, а помощь всегда будет, не сомневайся
Bes я понял Вас.. Спасибо ещё раз..
Есть вопрос по
SN:Q
Quote:Прервать обработку текущего события
В примере указано:
Это работает для текущего файла скрипта или
я могу указать на выход из функции другого файла исполнения?
Если верно последнее, то я не понимаю, почему скажем записав такой код:
Функция из 55 wog всё равно выполняется. Мой скрипт по приоритету выше Вог скрипта...Или иначе работает совсем ресивер? Я неправильно понял предназначение команды?
Такой вот возник вопрос. Эра 3.04.
На карте игрок может играть за любого из 8 игроков. Для того, чтобы запустить таймер для игрока пишу:
Получается, что переменные v1-v8 у меня задействованы в таблице.
Потом мне нужно сделать постройки в городах противников. Пишу:
И получаю ошибку:
!!UN:U Cannot find more objects
НО, если я обнуляю перед циклом !!VRv1:C0/0/0/0/0/0/0/0; то всё проходит замечательно.
Всегда считал, что в строке !!UN:U98/-1/-1/1; я вношу новое значение в v1, а старое удаляется.
Это не так? Или я где-то не то сделал?
И ещё: будет ли создана поддержка именных таймеров? Типа
TM(everyday)
SergOz, нет, в !!UN:U98/-1/-1/1; идёт проверка, как я понимаю, считывая сначала текущие значения из v1
Поэтому всегда надо сначала сбросить v1 (в твоём случае)
и да, тебе лучше использовать для массива значений SN:M, дабы не завязываться на v-переменные. Хоть так и будет чуть больше строк
Night, как я понимаю, SN:Q в рамках одного скрипта работает (хотя да, с поддержкой иерархии модов было бы правильнее)
1) Не используй v1 вообще. Это грязная временная переменная.
2) UN:U ожидает изначально корректные координаты места, с которого начинать поиск или хотя бы -1 в х-координате.
3) В век ERM 2 использовать глобальные v-переменные уже не нужно. Как и биты вручную в таблицу вбивать.
Суди сам.
Сдвиг на 0 бит (0 - красный): 00000001
Сдвиг на 1 бит (1 - синий?): 00000010
Сдвиг на два бита (2 - зелёный?) 00000100
Сдвиг влево на N битов равносилен умножению на 2 в степени N.
(19.10.2020 18:33)Berserker Wrote: [ -> ]В век ERM 2 использовать глобальные v-переменные уже не нужно.
SergOz у себя просто в нескольких триггерах потом хочет сразу иметь готовую переменную с номером игрока, посмотри в его примерах, и потому он берёт глобальную для хранения. Экономит на дублировании получения номера игрока в локальную
Исправил свой пост, спасибо.
Berserker, в школе ЕРМ2 бы такой пример про сдвиг битов для получения бита цвета не помешал
Bes, да ты правильно понял - мне эти данные будут нужны во многих скриптах, а потому - в глобальную, чтобы каждый раз не получать их снова и снова.
(19.10.2020 18:33)Berserker Wrote: [ -> ]В век ERM 2 использовать глобальные v-переменные уже не нужно. Как и биты вручную в таблицу вбивать.
Но, ведь для того, чтобы полностью отказаться от v-переменных, нужно чтобы все команды, записывающие данные в эти самые v, могли сохранять нужные значения в i^...^.
Это и то же
!!UN:U98/-1/-1/i^...^; и
!!OW:H#1/i^...^; и
!!IF:G#1/i^...^/#3/#4/#5; и многие другие.
Со сдвигом битов ещё не разобрался и вообще в первый раз вижу
<< 
Quote:Но, ведь для того, чтобы полностью отказаться от v-переменных, нужно чтобы все команды, записывающие данные в эти самые v, могли сохранять нужные значения в i^...^.
Это и то же !!UN:U98/-1/-1/i^...^; и !!OW:H#1/i^...^; и !!IF:G#1/i^...^/#3/#4/#5; и многие другие.
SergOz, так они в ERA3 и сохраняют, разве нет?
и раз ты ушёл в новую платформу, то полистай историю изменений ERA3, там очень много чего крутого

SergOz, с !!UN:U уже разобрался в 3.1, команда больше не нужна, так как требовала сперва по всей карте пройтись, подсчитывая кол-во объектов и возвращала только в v-переменных информацию.
!!OW:H с номером героя по порядку можно и самому удобнее реализовать.
IF:G да, но можно в функцию обернуть вызов. У меня в голове уже есть лакомое АПИ для радио-диалогов, высокоуровневое и на ЕРМ. Пока не сделал. Будет спрос — посмотрим.