как узнать сколько предметов определённого типа носит юнит?
например : у юнита два Черепа Гул-Дана в двух слотах по одному,
как это узнать? (на GUI) (плиз скиньте карту)
например : у юнита два Черепа Гул-Дана в двух слотах по одному,
как это узнать? (на GUI) (плиз скиньте карту)
Принятый ответ
Делать проверку циклом от 1 до 6 (по количеству слотов).
А = 1...6
Если предмет в слоте [А] = Череп Гул-Дана,
то установить переменную (целочисленную) Х = Х + количество зарядов предмета в слоте [А].
Ну а в итоге, к примеру, вывести на экран сообщение: Череп Гул-Дана = Х.
А = 1...6
Если предмет в слоте [А] = Череп Гул-Дана,
то установить переменную (целочисленную) Х = Х + количество зарядов предмета в слоте [А].
Ну а в итоге, к примеру, вывести на экран сообщение: Череп Гул-Дана = Х.
И переменную лучше обнулить потом, чтобы не было глюков.
Попробуй сделать самостоятельно по такому примеру. Когда сам учишься, потом проще будет)
Попробуй сделать самостоятельно по такому примеру. Когда сам учишься, потом проще будет)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




А = 1...6
Если предмет в слоте [А] = Череп Гул-Дана,
то установить переменную (целочисленную) Х = Х + количество зарядов предмета в слоте [А].
Ну а в итоге, к примеру, вывести на экран сообщение: Череп Гул-Дана = Х.
Попробуй сделать самостоятельно по такому примеру. Когда сам учишься, потом проще будет)
Gui всю кровь выпил тем что у него нет проверки на кол-во предметов по типу.
function GetUnitItemTypeCount takes unit u, integer itemTypeId returns integer
local integer i = 0
local integer count = 0
local item it
exitwhen i >= 6
set it = UnitItemInSlot(u, i)
if it != null and GetItemTypeId(it) == itemTypeId then
set count = count + 1
endif
set i = i + 1
endloop
return count
endfunction
Ред. PROSHELDOTU