Berserker
Posts: 16657
|
ElfbI, не обещаю, но если получится на этой неделе, то в обновление может войти команда для установки описаний монстрам без привязки к глобальным переменным.
1. Да, безопаснее всего использовать y+ переменные. y- — глобальные. Одни триггеры их сохраняют и восстанавливают, другие — нет.
2. Переменные вида v9000, если используются только одним скриптом и в одних целях, то не беда. Если же используются временные (v1..v10, v600..) переменные или одна и та же переменная в разных событиях для разных целей, то может быть беда:
2а) v1 используется как результат любых SN:E команд
2б) Событие OnKeyPressed (77003, afair) может возникать в любом диалоге, даже в IF:M. Код вида:
!!VRv600:S100;
!!IF:M^%V600^;
!!IF&v600=100:M^OK^;
не сработает, если есть триггер где-то:
!?FU(OnKeyPressed);
!!SN:X?v600;
и окошко закрыто нажатием ENTER.
2в) Событие !?TL возникает каждую секунду и может изменять глобальные общие переменные
2г) Событие !?MP генерируется любым вызовом !!MP:P
2д) Глобальные переменные с фиксированными индексами могут быть использованы авторами других скриптов. SN:W с уникальным префиксом снижает вероятность такого события.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
14.08.2019 23:10 |
|
ElfbI
Posts: 325
|
Berserker, вам бы памятник, вот честно
Глобальными y- пользуюсь аккуратно, но чувствую, лучше не стоит)
Про пересечение переменных я знаю, пользуюсь списками в эре и в справке к ерм (ну плюс список своих, конечно). А вот времянки в духе вашего примера, особенно v1, это беда(
В общем, спасибо за объяснение, теперь буду подчищать код, а то меня аж пот прошибает от того, какая каша может быть.
The dreams you kill will break your heart
|
|
14.08.2019 23:34 |
|
Berserker
Posts: 16657
|
|
15.08.2019 00:46 |
|
slater777
Posts: 136
|
У кого-нибудь остался скрипт "опция 007 (встроенная): накопление существ во внешних жилищах"?
|
|
15.08.2019 23:18 |
|
ElfbI
Posts: 325
|
slater777, разве встроенные скрипты можно вытащить как-то? Мне бы пригодился этот способ. Возможно проще память поковырять...
The dreams you kill will break your heart
|
|
16.08.2019 00:33 |
|
Berserker
Posts: 16657
|
|
16.08.2019 01:13 |
|
slater777
Posts: 136
|
ElfbI, ну он же не всегда был встроенным? Возможно, у кого-то остался старый erm-аналог, или его в природе не существует?
(This post was last modified: 16.08.2019 08:39 by slater777.)
|
|
16.08.2019 08:38 |
|
Berserker
Posts: 16657
|
|
16.08.2019 14:12 |
|
Berserker
Posts: 16657
|
|
16.08.2019 18:06 |
|
Berserker
Posts: 16657
|
|
16.08.2019 20:41 |
|
ElfbI
Posts: 325
|
Хм, тут такой вопрос. Есть скрипт, который размещает на воде сундуки по таймеру. Он каждый день считает кол-во свободных клеток, проверяет их на почву, затем на проходимость, затем получает координаты. Может ли быть алгоритм, который позволит один раз посчитать клетки с водой, а затем работать с уже сохраненным массивом, проверяя ячейки только из его состава на проходимость? А то каждый день обрабатывать тысячи клеток, еще и для нескольких игроков, это такое себе. Допустим есть 25 клеток с водой, разбросанных по карте. Как можно обращаться именно к ним, не используя извраты с РО? Готовое решение не прошу, намекните, в какую сторону воевать...
The dreams you kill will break your heart
|
|
17.08.2019 15:24 |
|