call TriggerRegisterUnitEvent (gg_trg_GFLSkillA, udg_HeroGFL, EVENT_UNIT_SPELL_EFFECT) - Триггер на юнита (То есть именно на какого то юнита) - Не пашит с переменными.
Попытался сократить хотя бы количество проверяемых игроков:
call TriggerRegisterPlayerUnitEvent(gg_trg_GFLSkillA, udg_HeroGFL_Owner, EVENT_PLAYER_UNIT_SPELL_EFFECT, null) - Не пашит, не работает с переменными.
ЗАТО ПРОВЕРИТЬ ВСЕХ ЮНИТОВ НА КАРТЕ ПРИНАДЛЕЖАЩИХ ВСЕМ ИГРОКАМ, РАБОТАЕТ:
call TriggerRegisterAnyUnitEventBJ( gg_trg_GFLSkillA, EVENT_PLAYER_UNIT_SPELL_EFFECT )
Это вообще нормально? Может как то лечится? Или вечно все объекты сканировать? Глобальные переменные он не переваривает, сволочь, можно ли его этой сложной науке научить?

ScopteRectuS, Переменные инициализируются при инициализации карты, она же вроде как глобальная udg_HeroGFL_owner. Или в коде карты насильно инициализировать?
Они же не локалки
ScopteRectuS, м, реально null возвращает боевая единицы. Смешно. Окей: И как ему определить созданную во время игры боевую единицу?
`
ОЖИДАНИЕ РЕКЛАМЫ...
21
Возможно, когда вызывается данная функция, у вас еще не инициализированы переменные.
9
ScopteRectuS, Переменные инициализируются при инициализации карты, она же вроде как глобальная udg_HeroGFL_owner. Или в коде карты насильно инициализировать?
Они же не локалки
ScopteRectuS, м, реально null возвращает боевая единицы. Смешно. Окей: И как ему определить созданную во время игры боевую единицу?
Принятый ответ
21
ну напишите там же внутри этой функции
	set varName = CreateUnit( ... )
и только после этого создаёте ивенты для триггера.
9
Не сработало, сделал другой костыль создал всех героев отдельно, дал их нейтралу и при выборе героя через таверну просто приравниваю владельца к владельцу купленной боевой единицы (тот же герой но созданный недавно). Ненавижу костыли, ну а что делать.
21
Все прекрасно работает. Просто вы неправильно делаете. если юнит создается во время игры, то TriggerRegisrerUnitEvent( ) пишите после создания этого юнита.
32
WakVellios, все события на конкретные обьекты - нужно вешать на эти обьекты сразу после создания этих обьектов а не во время инициализации триггеров. У триггера нет событий изначально, создал юнита, отдельной строчкой на этого юнита сразу вешаешь событие.
Ну а так, для каста абилки есть событие что любой юнит игрока применил способность, просто на всех игроков делаем это событие при старте и в условии проверяем кто кастанул и что, если это нужно...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.