Омнислеш

Adam Smith

Друзья CG
4 Окт 2014
473
2
У меня готов код, он полностью рабочий, но я хочу что бы с аганимом можно было перепрыгивать на цели.
Дак вот вопрос, по какому принципу джаггер перепрыгивает с цели на цель?
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Ну чисто визуально на каждом скачке меняет свою цель.
 

Adam Smith

Друзья CG
4 Окт 2014
473
2
Ну чисто визуально на каждом скачке меняет свою цель.
а если я хочу выбрать ближайшую цель, то как мне найти минимальное значение дистанции до цели в цикле?
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Сравниваешь расстояния между целями: вычитаешь из координат кастера координаты юнита и нормализуешь.
 

Adam Smith

Друзья CG
4 Окт 2014
473
2
Сравниваешь расстояния между целями: вычитаешь из координат кастера координаты юнита и нормализуешь.
Код:
А типо math.min(dist[i])
нету?
Я знаю что есть рандом, может еще какие есть?
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Ну насчет этого не знаю, надо глянуть работу с векторами у самой lua. Но я обычно так делал:
Код:
	vDirection = point - caster:GetAbsOrigin()
	vDirection = Vector(vDirection.x, vDirection.y, 0) 
	vDirection = vDirection:Normalized()
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Конечно есть, math - это же целая библиотека. Но чет мне в голову не приходил ей пользоваться)
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Вот, но либо он неполный, либо где-тов другой библиотеке есть подобное. Либо нет)
 

Adam Smith

Друзья CG
4 Окт 2014
473
2
[quote author=Илья link=topic=842.msg3780#msg3780 date=1461239326]
Вот, но либо он неполный, либо где-тов другой библиотеке есть подобное. Либо нет)
[/quote]
Спасяб
 

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Вы в api глянуть по векторам не удосужились?)
vector:Length()
vector:Length2D()

https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/API#Vector
Хотя лан, я в свое время свой велосипед сделаль(хотя не велосипед, а обычный способ нахождения длинны вектора и их сравнений)
Код:
function FindDistance(vec1, vec2)
	return math.sqrt(math.abs(vec1.x - vec2.x)^2 + math.abs(vec1.y - vec2.y)^2 + math.abs(vec1.z - vec2.z)^2 )
end
 
Реклама: