Какая функция замера расстояния между игроком и x,y,z будет самая быстрая?
Суть в том что нужно между игроком и рядом стоящим каром замерять дистанцию..
Какая функция замера расстояния между игроком и x,y,z будет самая быстрая?
Суть в том что нужно между игроком и рядом стоящим каром замерять дистанцию..
Тут есть сразу 4 способа:
1. Взять отдельно координаты игрока и машины (GetPlayerPos), GetVehiclePos), подсчитать расстояние между ними (VectorSize) и сравнить с нужным радиусом (следует заметить, что при сравнении вещественных чисел скрытым образом вызывается функция floatcmp) (итого 4 вызова нативных функций).
2. Получить координаты машины, с помощью функции GetPlayerDistanceFromPoint определить расстояние от игрока до машины и сравнить с нужным радиусом (опять же, неявный вызов floatcmp) (3 вызова нативных функций).
3. Получить координаты игрока и проверить, определить расстояние от машины до игрока (GetVehicleDistanceFromPoint), сравнить с радиусом (и здесь тоже вызов strcmp) (3 вызова нативных функций).
4. Получить координаты машины и с помощью функции IsPlayerInRangeOfPoint определить, находится ли игрок в радиусе от машины (всего 2 вызова нативных функций).
Про кол-во нативных функций я написал не зря, т.к. сами по себе они простые и потратится больше времени на сам вызов функций, чем на их работу.
Поэтому я советую 4-й вариант, т.к. в данном случае чем меньше вызовов нативных функций, тем лучше.
Если вам потом нужны будут координаты игрока (в SetPlayerPos), то больше подойдёт 3-й способ.
Касаемо координат в SetPlayerPos: click (пункт 9).