Bes
Posts: 5422
|
fatsawhorse, может всё-таки вот так? (не проверял)
P.S. проверил на калькуляторе, записывая артефакт №5. Пользуясь формулой из справки определения артефакта в сундуке, получил на выходе значение 5. Значит задача решена верно. Извини, нет желания запускать игру и там проверять
|
|
14.10.2020 20:01 |
|
fatsawhorse
Posts: 1022
|
Bes спасибо Вам как всегда.. Отлично работает.. Я дня два мучился, а Вы двумя символами записали за несколько секунд..
Ещё раз спасибо..
(This post was last modified: 14.10.2020 20:33 by fatsawhorse.)
|
|
14.10.2020 20:32 |
|
Bes
Posts: 5422
|
XEPOMAHT, он пока прощупывает реакцию такими вот словами... надо дать ему взятку понять, что это будет излишней оптимизацией движка
fatsawhorse, надо было один день помучаться и уже сюда идти Но в целом, у тебя неплохой прогресс в написании готовых решений, лишь невнимательно пока местами справку читаешь и потому допускаешь ошибки и излишние команды. Но это всё исправляется практикой, продолжай дальше придумывать скрипты и пытаться их самостоятельно написать, а помощь всегда будет, не сомневайся
|
|
14.10.2020 20:55 |
|
fatsawhorse
Posts: 1022
|
Bes я понял Вас.. Спасибо ещё раз..
(This post was last modified: 14.10.2020 21:15 by fatsawhorse.)
|
|
14.10.2020 21:14 |
|
Night
Posts: 462
|
Есть вопрос по SN:Q
Quote:Прервать обработку текущего события
В примере указано:
Это работает для текущего файла скрипта или я могу указать на выход из функции другого файла исполнения?
Если верно последнее, то я не понимаю, почему скажем записав такой код:
Функция из 55 wog всё равно выполняется. Мой скрипт по приоритету выше Вог скрипта...Или иначе работает совсем ресивер? Я неправильно понял предназначение команды?
(This post was last modified: 16.10.2020 17:27 by Night.)
|
|
16.10.2020 17:25 |
|
SergOz
Posts: 1315
|
Такой вот возник вопрос. Эра 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)
Карта-мод "Война на Холсте"
|
|
19.10.2020 18:08 |
|
Bes
Posts: 5422
|
SergOz, нет, в !!UN:U98/-1/-1/1; идёт проверка, как я понимаю, считывая сначала текущие значения из v1
Поэтому всегда надо сначала сбросить v1 (в твоём случае)
и да, тебе лучше использовать для массива значений SN:M, дабы не завязываться на v-переменные. Хоть так и будет чуть больше строк
Night, как я понимаю, SN:Q в рамках одного скрипта работает (хотя да, с поддержкой иерархии модов было бы правильнее)
|
|
19.10.2020 18:30 |
|
Berserker
Posts: 16657
|
1) Не используй v1 вообще. Это грязная временная переменная.
2) UN:U ожидает изначально корректные координаты места, с которого начинать поиск или хотя бы -1 в х-координате.
3) В век ERM 2 использовать глобальные v-переменные уже не нужно. Как и биты вручную в таблицу вбивать.
Суди сам.
Сдвиг на 0 бит (0 - красный): 00000001
Сдвиг на 1 бит (1 - синий?): 00000010
Сдвиг на два бита (2 - зелёный?) 00000100
Сдвиг влево на N битов равносилен умножению на 2 в степени N.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
19.10.2020 18:33 |
|
Bes
Posts: 5422
|
(19.10.2020 18:33)Berserker Wrote: В век ERM 2 использовать глобальные v-переменные уже не нужно.
SergOz у себя просто в нескольких триггерах потом хочет сразу иметь готовую переменную с номером игрока, посмотри в его примерах, и потому он берёт глобальную для хранения. Экономит на дублировании получения номера игрока в локальную
|
|
19.10.2020 18:53 |
|
Berserker
Posts: 16657
|
|
19.10.2020 18:55 |
|
Bes
Posts: 5422
|
Berserker, в школе ЕРМ2 бы такой пример про сдвиг битов для получения бита цвета не помешал
|
|
19.10.2020 19:00 |
|
SergOz
Posts: 1315
|
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; и многие другие.
Со сдвигом битов ещё не разобрался и вообще в первый раз вижу <<
Карта-мод "Война на Холсте"
(This post was last modified: 19.10.2020 19:25 by SergOz.)
|
|
19.10.2020 19:16 |
|
Bes
Posts: 5422
|
Quote:Но, ведь для того, чтобы полностью отказаться от v-переменных, нужно чтобы все команды, записывающие данные в эти самые v, могли сохранять нужные значения в i^...^.
Это и то же !!UN:U98/-1/-1/i^...^; и !!OW:H#1/i^...^; и !!IF:G#1/i^...^/#3/#4/#5; и многие другие.
SergOz, так они в ERA3 и сохраняют, разве нет?
и раз ты ушёл в новую платформу, то полистай историю изменений ERA3, там очень много чего крутого
|
|
19.10.2020 19:31 |
|
Berserker
Posts: 16657
|
SergOz, с !!UN:U уже разобрался в 3.1, команда больше не нужна, так как требовала сперва по всей карте пройтись, подсчитывая кол-во объектов и возвращала только в v-переменных информацию.
!!OW:H с номером героя по порядку можно и самому удобнее реализовать.
IF:G да, но можно в функцию обернуть вызов. У меня в голове уже есть лакомое АПИ для радио-диалогов, высокоуровневое и на ЕРМ. Пока не сделал. Будет спрос — посмотрим.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
19.10.2020 19:41 |
|