Господа, здравствуйте! Вопрос, судя по всему, по работе с массивами и циклами.
На карте есть много областей сходного типа. Юнит попадает в эту область и ему во-первых наносится урон, а во-вторых добавляется эффект стана, который должен исчезнуть через 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 слабо юзать?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.