14.08.2019, 23:10
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 с уникальным префиксом снижает вероятность такого события.
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 с уникальным префиксом снижает вероятность такого события.