Необходимо посчитать количество боевых единиц (не зданий). Написал следующий код:
integer result = -1
unit first = null
group units = GetUnitsInRectOfPlayer(GetPlayableMapRect(), Player(id))
do {
first = FirstOfGroup(units)
if (not(IsUnitType(first, UNIT_TYPE_STRUCTURE))) {result++}
GroupRemoveUnit(units, first)
} while (first == null)
return result
Код написан на cJass. Есть ли возможность сделать то же без перебора группы?
Принятый ответ
Может это поможет?
native GetUnitCount takes integer unitid returns integer
native GetPlayerUnitTypeCount takes player p, integer unitid returns integer
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован avuremybe
Мало ли, этот код окажется частью ядерного реактора.
вот пример фильтра: