Гость Eldaba Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 Здравствуйте, форумчане! Я к Вам вот с таким, легким для вас, вопросом. Как высчитать дистанцию, до противника в игре и показывать её? Конкретной игры нет, абстактно. Надеюсь на Вашу помощь, новичку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 Вот так вот абстрактно отвечаю: Найти свои координаты, найти координаты противника, посчитать разницу, она и будет расстоянием. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Eldaba Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 Не могли бы, предоставить код данной функции, для ознакомления, если не затруднит? Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 (изменено) 21 минуту назад, Xipho сказал: Вот так вот абстрактно отвечаю: Странно как к примеру самому не додуматься до такого.. геометрия же. Вроде так: *2 - в квадрате √ - квадратный корень A = 100, 50, 25 B = 300, 25, 50 Distance = √( 300 - 100 )*2 + ( 25 - 50 )*2 + ( 50 - 25 )*2 Distance = 203,1 Изменено 8 апреля, 2018 пользователем ReWanet Ссылка на комментарий Поделиться на другие сайты Поделиться
JustHack Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 56 минут назад, Eldaba сказал: код данной функции, для ознакомления Как-то так float Get3dDistance(float * myCoords, float * enemyCoords) { return sqrt( pow(double(enemyCoords[0] - myCoords[0]), 2.0) + pow(double(enemyCoords[1] - myCoords[1]), 2.0) + pow(double(enemyCoords[2] - myCoords[2]), 2.0)); } Ссылка на комментарий Поделиться на другие сайты Поделиться
FIDANzza Опубликовано 24 апреля, 2018 Поделиться Опубликовано 24 апреля, 2018 double Dist(D3DXVECTOR3 v1, D3DXVECTOR3 v2) { return sqrt(((v1.x - v2.x)*(v1.x - v2.x)) + ((v1.y - v2.y)*(v1.y - v2.y)) + ((v1.z - v2.z)*(v1.z - v2.z))); } Ссылка на комментарий Поделиться на другие сайты Поделиться
vagingameh Опубликовано 25 апреля, 2018 Поделиться Опубликовано 25 апреля, 2018 Я тут на вовке специализируюсь Если тебе нужны были б координаты в этой игре, то на lua это выглядело примерно так: local x1 = select(1, ObjectPosition("Player")); local y1 = select(2, ObjectPosition("Player")); local z1 = select(3, ObjectPosition("Player")); local x2 = select(1, ObjectPosition("Target")); local y2 = select(2, ObjectPosition("Target")); local z2 = select(3, ObjectPosition("Target")); или a, b, c = ObjectPosition("Target"); print(x2); print(x2, y2, z2); print(a, b, c); Это всё подключаемые библиотеки FireHack api. Хотя для твоих целей есть: function GetDistanceBetweenObjects (Object1, Object2) --Get the distance between two objects. --Дистанция между 2-мя объектами. Object1 (object) - The first object. Может быть игрок, цель, нпц, травка, белочка и т.д. Object2 (object) - The second object returns (number) - The distance Но можно и вручную: local a = ObjectPosition("Target"); local b = ObjectPosition("Player"); local distance = (a-b) print(distance) 54.140713 6297.685547 -15.241007 1220 Число с точкой. Добавляем print(float(distance)) Сами координаты в ewt чекаются командой: .gps Спойлер Выводить инфу либо print(ом) в чате, либо через текст фреймы в игре (как на картинке выше). +обновлять на OnUpdate координаты постоянно, с каждой сменной кадров. Вот как это выглядит. Взгляд направлять в область: top center. Персонаж бегает, циферки меняются. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения