На Гуи использую переменные "группа юнитов" типа массив. Чтобы их обнулять нужно прописать custom script. Возможно ли обнулить их все одной командой или необходимо прописывать для каждой callDestroy udg_***[1] и так далее до конца массива?
Принятый ответ
Да, по идее тебе не нужен массив групп, достаточно будет одной группы и массива целочисленных переменных. Делаешь ГРУППУ ИГРОКОВ (не Отряд юнитов), которые у тебя играют, там выбираешь у игрока в Отряд всех живых юнитов со способностью Налогоплательщик, записываешь в переменную их количество, потом очищаешь Отряд.
Пример:
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




Также покажи, как ты создал массив групп, это важно.
Ред. Yury13
Ред. Yury13
Если используешь номер игрока то тогда уничтожить группу в индексе 0 можно при инициализации.
В GUI нет функции по уничтожению группы.
Я сначала загоняю их в группу, а потом считаю число юнитов в этой группе.
Может быть, можно сразу устанавливать целочисленную (сумма денег) = число юнитов в группе, при этом не создавая группу отдельным действием и не очищая ее?
Tax=Число юнитов в группе юнитов (юниты игрока Х при условии Налогоплательщик>0)
То есть, не создаю группу отдельным действием.
Ред. ScorpioT1000
НО! Ещё раз обращаю внимание, что конкретно эта утечка будет незначительной.
Ред. Yury13
8gabriel8, в таком случае, если я захочу переменной "Отряд" присвоить другую группу (юниты с другим условием), то старую нужно дополнительно удалять уже через кастом скрипт, чтобы не было наслоения? Если же я просто добавляю раз в промежуток времени разных юнитов в одну и ту же группу, достаточно удалять их из нее без скрипта? Сори, если запутанно излагаю идею.
Представь, что у тебя есть пакет, в который ты закидываешь игрушечные фигурки - юнитов. Этот пакет и есть группа. Если все фигурки из пакета уберёшь, то он сам останется, выкинуть сам пакет можешь лишь через кастом скрипт. Когда пакет задан переменной, то это подписанный пакет, а когда делаешь так: