Показать сообщение отдельно
Старый 14.05.2019, 00:01   #8
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,036
Написано 2,320 полезных сообщений
(для 5,359 пользователей)
Ответ: Движение объекта к игроку

Сообщение от PHPenguin Посмотреть сообщение
TranslateEntity enemy, EntityX(Player)*.01, 0, EntityZ(Player)*.01
PointEntity enemy,Player
Зачем умножать?

Я посмотрел свой старый код и вспомнил в чём разница:
PointEntity полностью поворачивает (условно «лицом») к указанному объекту по всем 3-м осям.
По этому у тебя враг не туда двигается.

AlignToVector
— выравнивание по вектору, грубо говоря тоже, но ему настраиваешь каждую ось отдельно.
TranslateEntity уже сказал что он двигает независимо от ориентации объекта.

Правильнее будет так:
;Поворачиваем врага в сторону игрока в плоскости X, Z
AlignToVector enemy,EntityX(player,1) - EntityX(enemy,1),0,EntityZ(player,1) - EntityZ(enemy,1),3,.5
;Двигаем по Z
MoveEntity enemy,0,0,.01
+Z сторона это «лицо» объекта.

P. S. За подробностями команд в справку.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
PHPenguin (14.05.2019), St_AnGer (14.05.2019)