Поскольку сижу, переделываю сборки итемов в Forest: Dead Match, пришлось делать функцию, как раз на эту тему.
Вот, выкладываю наработку подсчета предмета, если непонятно, как работать с кустом скриптом, то я вытащил 2 переменные для работы функции(юнит - тот у кого считаем предметы, тип предмета - какой предмет считаем)
Манипулируя этими двумя переменными можно добиться практически любого желаемого результата.
Импорт:
В редакторе триггеров выделите иконку с иконкой карты. Перекопируйте от туда код в свою карту.
Скопируйте триггер Chek this.
К Cete:
Вот об этой глобальности я и говорил, для подсчета любого предмета можно использовать эту функцию не наращивая утечек и не создавая кучи триггеров. Можно скомпоновать наши наработки и сделать полноценную наработку по сборке предметов
P.S Для локальных игр следует перевести глобальные U и IT в локальные с дальнейшим их обнулением
В начале триггера:
Code
local unit U = GetTriggerUnit() // GetTriggerUnit() - можно поменять на что угодно, смотря, что вы хотите сделать
local integer IT = GetItemTypeId(GetManipulatedItem()) // тоже самое.
В самом конце триггера:
Code
set U = null // обнуляем переменную, чтоб не было утечки
set IT = 0
Может кто-то подумал, что я ошибся задав тип integer для переменной типа "item", но это не так.
В WE Тип юнита, юнит, тип предмета, предмет, целое число - одно и тоже.