shape1
shape2
shape3
shape4
shape7
shape8

Точные координаты багажника и капота любого авто


Статус
Закрыто для дальнейших ответов.

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
definehost.ru
Скриптер
Функция багажника:

stock GetCoordBootVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
{
new Float:angle,Float:distance; // объявляем переменные
GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, x, distance, z); // узнаём длину машины
distance = distance/2 + 0.1; // полученную длину делим на два
GetVehiclePos(vehicleid, x, y, z); // узнаём координаты авто
GetVehicleZAngle(vehicleid, angle); // узнаем угол поворота авто
x += (distance * floatsin(-angle+180, degrees)); // вычитаем координату x богажника
y += (distance * floatcos(-angle+180, degrees)); // вычитаем координату y богажника
return 1;
}

Функция капота:

stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
{
new Float:angle,Float:distance; // объявляем переменные
GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, x, distance, z); // узнаём длину машины
distance = distance/2 + 0.1; // полученную длину делим на два
GetVehiclePos(vehicleid, x, y, z); // узнаём координаты авто
GetVehicleZAngle(vehicleid, angle); // узнаем угол поворота авто
x -= (distance * floatsin(-angle+180, degrees)); // вычитаем координату x капота
y -= (distance * floatcos(-angle+180, degrees)); // вычитаем координату y капота
return 1;
}

Пример использования:

new Float:pOS[3];
for(new i=0; i<MAX_VEHICLES; i++)
{
GetCoordBootVehicle(i, POS[0], POS[1], POS[2]);
if(IsPlayerInRangeOfPoint(playerid, 1.0, POS[0], POS[1], POS[2]))
{
// тут ваш код
}
}

Автор неизвестен.

 
Последнее редактирование модератором:
A

Amfy

Гость
Гость
Отличные функции, давно ими пользуюсь.

 

SHOROOP

Освоившийся
Пользователь
30.01.2014
58
56
0
32
Скриптер
Насколько я помню, dimonml не копал эту функцию в адаптациях, поэтому сама функция может работать некорректно - неизвестно, динамически ли получаются данные о конкретной модели или они уже забиты где-то в недрах сервера/клиента.

 
A

Amfy

Гость
Гость
Насколько я помню, dimonml не копал эту функцию в адаптациях, поэтому сама функция может работать некорректно - неизвестно, динамически ли получаются данные о конкретной модели или они уже забиты где-то в недрах сервера/клиента.
Сколько пользуюсь - багов не заметил. Координаты багажника узнает у любой модели ТС правильно. На счет капота не знаю, не пользовался пока.

 
Последнее редактирование:

DonnY

Новичок
Пользователь
13.02.2014
5
0
0
Насколько я помню, dimonml не копал эту функцию в адаптациях, поэтому сама функция может работать некорректно - неизвестно, динамически ли получаются данные о конкретной модели или они уже забиты где-то в недрах сервера/клиента.
Сколько пользуюсь - багов не заметил. Координаты багажника узнает у любой модели ТС правильно. На счет капота не знаю, не пользовался пока.
Присоединяюсь к твоему мнению.С капотом проблем тоже нет.

 
Статус
Закрыто для дальнейших ответов.