При получении предмета пробегаете по массиву и сравниваете тип предмета. Если найдёте, то получаете количество из
ItemId[ForLoopA] и дальше как у вас в триггере.
не может ли сборщик мусора косячить и сгребать таймер на помойку?
Скорее всего, глобальный таймер нагребает на себя кучу накладных расходов и прибивается по оплимиту. Посему лучше наплодить таймеров и пусть сами умирают.
Если говорить упрощённо, то передавая безымянную функции в TriggerAddAction вы также передаёте копии объектов, из её области видимости, где какраз и находится str.
local str = "one"
function InitDebugTriggers( )
local trig = CreateTrigger( )
BlzTriggerRegisterPlayerKeyEvent( trig, Player( 0 ), OSKEY_ESCAPE, 0, true )
TriggerAddAction( trig, function( )
print(str) --> two
end)
end
str = "two"
Нужно уничтожать объекты. Локальные переменные живут внутри своей области видимости и уничтожаются сборщиком мусора. Если хотите побыстрее отправить переменную в мусор, присвойте ей nil.
Переменная str живёт в замыкании от функции InitDebugTriggers( ).
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Ограничение для предметов
ItemId[1] = Маска Смерти
ItemCount[1] = 1
ItemId[2] = Маска Соби
ItemCount[2] = 3
...
ItemId[ForLoopA] и дальше как у вас в триггере.
Ред. nazarpunk
» WarCraft 3 / Ограничение для предметов
Заводите хэштаблицу, и по ID предмета устанавливаете лимит, при получении также смотрите в таблицу.
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Самый производительный Bullet Hell
» WarCraft 3 / Самый производительный Bullet Hell
» WarCraft 3 / Самый производительный Bullet Hell
» WarCraft 3 / Самый производительный Bullet Hell
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Самый производительный Bullet Hell
» WarCraft 3 / Самый производительный Bullet Hell
Ред. nazarpunk
» WarCraft 3 / Заклинание: Волна Воды
Ред. nazarpunk
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Самый производительный Bullet Hell
Bergi_Bear:
Ред. nazarpunk
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / Иконки выбора героев
» WarCraft 3 / Как удалить героя из выбора таверны
» WarCraft 3 / Заклинание: Волна Воды
» WarCraft 3 / JASS фаербол