Господа, здравствуйте! Вопрос, судя по всему, по работе с массивами и циклами.
На карте есть много областей сходного типа. Юнит попадает в эту область и ему во-первых наносится урон, а во-вторых добавляется эффект стана, который должен исчезнуть через n-ное время, либо же производятся любые другие манипуляции.
Событие: unit enters region
Действие: set life of unit to life of unit - 20
pause unit
create special effect
wait 5 seconds
destroy special effect
unpause unit
Все это я сделал и оно работает, но одна область действует в один момент времени только на одного юнита, если действие продолжительное, если есть продолжение триггера через wait. То есть, пока юнит стоит в стане эти 5 секунд, остальные проходят по этой области и ничего не происходит. Как это исправить, как сделать так, чтобы этот триггер воздействовал на каждого юнита? Это что-то связанное с циклами, но я не могу понять, как составить последовательность действий.

И небудет, вейты для этого не предназначены, как и пауза...
Молоток бурь на 5 сек даммиком кидай...
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Это из-за физического размера выбираемых воинов.
Если хотите сделать способность, которая будет работать также, как и стандартные, то при выборе воинов в качестве радиуса указываете нужный радиус + максимально возможный физический размер воинов на карте.
// 	Если перебор воинов идёт через цикл:
	call GroupEnumUnitsInRange( group, x, y, SPELL_RADIUS + MAX_COLLIZION_SIZE, boolexpr )
	loop
//		...
		set enumUnit = FirstOfGroup( group )
//		...
		if IsUnitEnemy( enumUnit, player ) and IsUnitInRangeXY( enumUnit, x, y, SPELL_RADIUS ) then
			call DoSomething( )
		endif
//		...
	endloop
Как показано выше, с помощью функции IsUnitInRange( ) мы можем отсеять воинов, которые не попали в радиус действия способности, но были выбраны в группу из-за того, что мы указали в функции GroupEnumUnitsInRange( ) радиус чуть больше нужного нам.

32
И небудет, вейты для этого не предназначены, как и пауза...
Молоток бурь на 5 сек даммиком кидай...
Принятый ответ
18
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
26
UrsaBoss:
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
можно поставить отрицательную регенерацию
20
а в чем проблема удалить юнита
есть действие таймера для этого
32
UrsaBoss:
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
Hate:
UrsaBoss:
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
можно поставить отрицательную регенерацию
Unit apply timed life слабо юзать?
26
quq_CCCP:
UrsaBoss:
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
Hate:
UrsaBoss:
quq_CCCP:
всё равно придется даммика удалять, тут без локальных не обойтись
можно поставить отрицательную регенерацию
Unit apply timed life слабо юзать?

принципиальной разницы нет в том как удалить даммика после каста
32
Hate, удалять низя, будет проблемс, ссылка на юнита должна быть жива пока от его лица наносится урон или еще чтонибудь (стан кстати если что приказ цель обьект, применяется на источник стана).
20
ловить нулевой урон от даммика, удалять дамми и наносить урон от лица героя\курицы\на ваш выбор
тут вся проблема не в том, как реализовать, хотя мы в лучших традициях xgm скатываем тред в срач о реализации и эффективности
а в том, что автор треда не знает мат часть, и если бы имел понятие об индексировании, его вопрос закрылся бы сам собой
Чтобы оставить комментарий, пожалуйста, войдите на сайт.