Добавлен
Возможно ли без Jass и Lua реализовать испуг или панику юнитов?
Например: когда под божественным щитом атакуешь юнита, он старается убежать от объекта агрессии которого не может атаковать

Принятый ответ

Komkozavr, у меня есть готовые наработки по страху на луа, останется лишь юзать кастом скрипт
function FearUnit(hero,angle,time)
	local x,y=MoveXY(GetUnitX(hero),GetUnitY(hero),400*time,angle)
	local sec=0
	UnitAddAbility(hero,FourCC('Abun'))
	IssuePointOrder(hero,"move",x,y)
	TimerStart(CreateTimer(), TIMER_PERIOD, true, function()
		sec=sec+TIMER_PERIOD
		--
		if GetUnitCurrentOrder(hero)~=String2OrderIdBJ("move") then
			IssuePointOrder(hero,"move",x,y)
		end
		if sec>=time then
			--print("end")
			UnitRemoveAbility(hero,FourCC('Abun'))
			IssueImmediateOrder(hero,"stop")
			DestroyTimer(GetExpiredTimer())
		end
	end)
end
Вызывать через FearUnit(Переменная юнита,угол направления куда следует бежать,время в страхе) в секундах
Надумаешь использовать, скину дочерние функции...
Пс можно это реализовать и на гуях и на джасе, но я не умею
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
4 года назад
0
Proshel_Doty, все не отследить... их тонна
0
22
4 года назад
Отредактирован PROSHELDOTU
0
Bergi_Bear:
Proshel_Doty, все не отследить... их тонна
просто событие на получение приказа, зачем их отслеживать
0
32
4 года назад
Отредактирован Берги
0
Proshel_Doty, просто сделай, я сделал и у меня всё работает, строк кода мало, вызывать легко, а о изьяне, что во время страха единственный вариант игнора контроля это попытка бежать в другую сторону я уже догадался, но против крипов без ИИ опция не сильно нужная
0
22
4 года назад
0
Bergi_Bear:
у меня всё работает
я ж не против) просто зачем каждые 0.03 сек что-то вызывать, если можно это делать именно когда юнит получает приказы, чтобы собственно эти приказы и перенаправить на нужный нам
0
32
4 года назад
0
так если приказ не изменен и равен move, при вызове ничего не происходит, и не важно как часто его юзать, и что ты понимаешь под "отслеживать приказ", это вынудило бы активировать другой триггер, с события отслеживания приказов, без цели, на точку, на юнита... а зачем триггеры когда можно вообще без них?
0
32
4 года назад
0
Нет не сделать, даже близко ничего дефолтного нету. Только триггерный вариант, если хочется как в д2, это вовсе очень сложно (но возможно), но явно не для тех кто на гуи еще сидит.
0
32
4 года назад
0
  1. Перевёл карту в режиму луа
  2. Скопировал код что дал Берги
  3. Вызвал 1 строчку кастом скрипта в нужном месте
...
  1. Профит
Можно вообще не разбираться в луа, джасе и прочих триггерах....тут вообще ничего сложного нет
Скопировал - выполнил кастом скрипт - победа
Нет рефорджа -? просите в заклинаниях на заказ для старых патчей
0
32
4 года назад
0
Bergi_Bear, стоит проверять на смерть юнита или юзать триггер, то наотдаешь приказ мертвому и фатал.
0
32
4 года назад
0
quq_CCCP, нет не фаталит, просто возвращает false, но проверку да стоит добавить спасибо
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.