Я хочу сделать героя,который начинает с очень маленькой скорости,и чем дольше он двигается не останавливаясь,тем быстрее он будет двигаться и так до предела скорости передвижения.Но если он хоть раз остановится то всё сбрасывается.Возможно ли такое вобще?И если да,то как?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
EnergyFrost, абилки сапогов не складываются, будет работать последний добавленный.
Повышать скорость придется триггерно, благо есть такие нативки, проверить что герой двигается очень просто, переодически проверять чему равные его прошлые и текущие координаты, если они не равны то герой движется, и следует повышать скорость.
8
ledoed:
отлавливаешь приказ движения и гонишь его к точке с нужным ускорением(таймером) и пределом скорости и делаешь условие типо он не выйдет с таймера пока его расстояние до точки последнего приказа на передвижение не будет меньше 100-50(если скорость не больше 90)
А можете сделать скриншот?А то я не особо понял как это...
21
Смотри, довольно интересный код - спелл, на 3 секунды удваивающий любое постепенное перемещение через смещение по координатам. Если немного помозговать, скорее всего его части тебе пригодятся. Функция SeizureFate должна быть действием какого-то триггера, чтобы именно этот спелл действовал; очевидно, с событием на каст спелла каким-то конкретным юнитом или юнитом вообще.
Для начала советую попробовать применить триггер, если сможешь скопировать спелл как действующий, от этого уже будешь дальше плясать.
Кэп намекает, что можно подсчитывать, запоминать, возвращать пройденную дистанцию и в зависимости от этого увеличивать и дистанцию очередного смещения по координатам; а также контролировать время действия спелла.
8
ClotPh:
Смотри, довольно интересный код - спелл, на 3 секунды удваивающий любое постепенное перемещение через смещение по координатам. Если немного помозговать, скорее всего его части тебе пригодятся. Функция SeizureFate должна быть действием какого-то триггера, чтобы именно этот спелл действовал; очевидно, с событием на каст спелла каким-то конкретным юнитом или юнитом вообще.
Для начала советую попробовать применить триггер, если сможешь скопировать спелл как действующий, от этого уже будешь дальше плясать.
Кэп намекает, что можно подсчитывать, запоминать, возвращать пройденную дистанцию и в зависимости от этого увеличивать и дистанцию очередного смещения по координатам; а также контролировать время действия спелла.
Мне в этом жесть как тяжело разобраться...
21
Тогда сделай много уровней абилки на ускорение. Отлавливай факт перемещения юнита и в зависимости от факта и дистанции выдавай нужный уровень абилки.
30
native SetUnitMoveSpeed takes unit whichUnit, real newSpeed returns nothing

constant native GetUnitDefaultMoveSpeed takes unit whichUnit returns real
Эти две нативки тебе очень помогут в твоём начинании, как проверять, что юнит движется - уже сказали (есть ещё вариант с проверкой приказа, но он хуже).
17
вот вариант с проверкой приказов, открой через нормальный редактор который поддерживает cjass а нестандартный вариковский
Загруженные файлы
30
ledoed, ЕМНИП, райтклик на союзного юнита отдаёт приказ "патруль", при этом юнит может стоять на месте, но приказ будет "patrol".
поэтому проверка приказа - хуже
17
если правильно я понял но это я утчел
if((GetOrderPointX()+GetOrderPointY())!=0){
Name[i].x=GetOrderPointX()
Name[i].y=GetOrderPointY()
}else{
Name[i].x=GetWidgetX(GetOrderTarget())
Name[i].y=GetWidgetY(GetOrderTarget())

}
так что к юнитам подбегать можно
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.