Как отследить количество конкретного типа юнита?
Сделал триггер, каждую секунду пикаю юнитов рядом с юнитом ,
тип юнита это понятно, а вот если количество данного юнита меньше или равно 0? Не нашел.
Подскажите люди!

Принятый ответ

Integer comparison
Загруженные файлы
0
21
6 лет назад
Отредактирован biridius
0
Integer comparison
Загруженные файлы
Принятый ответ
0
26
6 лет назад
0
интересно только, как юнитов может быть меньше нуля
0
3
6 лет назад
0
Не может) рядом нету имелось ввиду
0
21
6 лет назад
Отредактирован biridius
0
игра будет тормозить если группу юнитов создавать каждую секунду и не удалять
не забудь поставить перед пиком
Custom script: set bj_wantDestroyGroup = true
0
27
6 лет назад
Отредактирован MpW
0
Эта команда "Number of group" - это перебор всех юнитов в группе (если раскрыть BJ-функцию, там к целочисленной переменной прибавляют единицу, +вторую группу используют ),
можно было не вызывать ForGroup (это на Jass), использовать цикл с помощью FirstOfGroup(группа)
правда тут юнит удаляется из группы. суть вот в чем, команда FirstOfGroup берет первого юнита в группе, прибавляем единицу к глобалке. затем этого юнита удаляем из группы, чтобы взять следующего FirstOfGroup. Цикл будет идти до тех пор, пока не удалится из группы последний юнит, то есть FirstOfGroup(группа)==null (FirstOfGroup покажет null, типа юнита нет)
local unit e
local integer c = 0
local group g = CreateGroup() //группа
call GroupEnumUnitsInRange(g,x1,y1,180,null) //Выбираем всех юнитов вокруг точки (x1,y1)

//цикл
loop
	set e = FirstOfGroup(g) //первый юнит в группе
	exitwhen e == null //условие выхода из цикла
	call GroupRemoveUnit(g,e) //удаляем юнита из группы
	set c = c + 1 //прибавляем в счетчик
endloop
call DestroyGroup(g)
set e = null
set g = null
Короче тут вместо GetEnumUnit() будет переменная e
проблема конечно, если нам будет надобно, чтобы юниты были в группе. тогда нам нужна будет вторая группа, в нее пихаем удалившего из первой группы. так делают и в триггерной "Number of group", чтобы сохранить всех юнитов.
чтобы проверить, что группа пуста, есть условие
FirstOfGroup(группа)==null
Типа нет ни одного юнита, значит группа пуста.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.