Приложил картинку. Есть пять чекбоксов. Одновременно может быть нажат только один. Да, они связаны с одной переменной, но с разными ее битами (чтобы съэкономить на переменных). Допустим нажат первых чекбокс. Переменная равна 1 (бит 0). Если нажать чекбокс 2 переменная будет равна 3 (бит 1 + бит 0), а мне нужно чтобы отжался чекбокс 1 и переменная была равна 2. Надеюсь объяснил понятно
Экономить можно и нужно внешние переменные
Внутренние то зачем?
Если есть 1 ворд(внешний), то создаем 5 локальных булей и привязываем их к чекбоксам. Прописываем чекбоксам тег от 0 до 4.
Пишем 2 скрипта. 1 универсальный на изменение переменной чекбокса. Второй на изменение глобальной переменной.
1 скрипт - по тегу сендера при изменении его в true присваивает внешней переменной значение 2 в степени тег(1.2.4.8.16)
2 скрипт присваивает локальным переменным значение битов глобальной переменной.
Все...
если есть 2 чек, а мы ставим на 3-й (тег=2) Переменной присвоится 4, при ее смене скинется фажок с 2 переменной, 1 скрипт при этом не исполнится. Одна проблема, что при снятии птичек вообще, в глобальной переменной останется последнее значение, т.к. скрипт 1 не выполнится. Если это не критично, то можно попользовать последний бит внешней переменной и независимо от того что вызвало первый скрипт менять его на обратный. Тогда и второй исполнится, хоть бит и не участвует в процессе.
Использование 2-х скриптов критично, если есть другие источники изменений (контроллер, панельки). Если менять настройку только в скаде, то можно все вписать в 1 скрипт.