Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 24
  1. #1
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±

    Получение точных координат дверей определенного автомобиля

    Существуют такие функции, как GetCoordBootVehicle и GetCoordBonnetVehicle, и они получают точные координаты багажника и капота автомобиля соответственно. Существует ли функция, которая способна получать координаты дверей автомобиля?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Так же, как работают эти функции - через GetVehicleModelInfo и тригонометрию? Правда, не получится одной формулой для всех моделей высчитать позицию из-за того, что у некоторых моделей расположение дверей отличается, но для тех моделей можно составить отдельную формулу.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Так же, как работают эти функции - через GetVehicleModelInfo и тригонометрию? Правда, не получится одной формулой для всех моделей высчитать позицию из-за того, что у некоторых моделей расположение дверей отличается, но для тех моделей можно составить отдельную формулу.
    Ну тут 2 варианта: 4-дверная, 2-дверная и грузовик.

    UPD: чуть чуть пошевелив своей тупой головой, я написал сие творение для двух дверей (пока что только для 2-дверных авто):

    1. stock GetCoordDoorRightVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
    2. {
    3. new Float:angle, Float:distance;
    4. GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, distance, y, z);
    5. distance = (distance/2.0) + 1.0;
    6. GetVehiclePos(vehicleid, x, y, z);
    7. GetVehicleZAngle(vehicleid, angle);
    8. x += (distance * floatsin(-angle+270.0, degrees));
    9. y += (distance * floatcos(-angle+270.0, degrees));
    10. return true;
    11. }
    12. stock GetCoordDoorLeftVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
    13. {
    14. new Float:angle, Float:distance;
    15. GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, distance, y, z);
    16. distance = (distance/2.0) + 1.0;
    17. GetVehiclePos(vehicleid, x, y, z);
    18. GetVehicleZAngle(vehicleid, angle);
    19. x -= (distance * floatsin(-angle+270.0, degrees));
    20. y -= (distance * floatcos(-angle+270.0, degrees));
    21. return true;
    22. }


    Кто желает - можете улучшить алгоритм.
    Последний раз редактировалось SteveStage; 15.09.2020 в 23:57.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, а зачем ты используешь размер автомобиля в качестве точки отсчёта в GetVehicleModelInfo? Может всё же откроешь описание функции на wiki и прочтёшь описание параметров?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, а зачем ты используешь размер автомобиля в качестве точки отсчёта в GetVehicleModelInfo? Может всё же откроешь описание функции на wiki и прочтёшь описание параметров?
    Что вообще возвращает VEHICLE_MODEL_INFO_FRONTSEAT? И как мне это поможет вычислить положение дверей?

  6. #6
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    Цитата Сообщение от SteveStage Посмотреть сообщение
    Что вообще возвращает VEHICLE_MODEL_INFO_FRONTSEAT?
    https://wiki.sa-mp.com/wiki/Vehicle_information_types

    P.S: есть VehiclePartPosition
    Последний раз редактировалось tnc; 16.09.2020 в 18:20.

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от SteveStage Посмотреть сообщение
    И как мне это поможет вычислить положение дверей?
    То есть, ты совсем не изучал работу тех двух твоих функций, которые ты скинул выше?) Или не заметил, что вся их работа основывается на информации, которую возвращает GetVehicleModelInfo?

    - - - Добавлено - - -

    Цитата Сообщение от tnc Посмотреть сообщение
    P.S: есть VehiclePartPosition
    Тогда уж я бы советовал от того же автора инклуд 3DTryg, который, помимо информации о частях машин, имеет кучу полезных функций, как ни странно, связанных с тригонометрией.
    В теме на sa-mp.com есть больше инфы на его счёт.
    Последний раз редактировалось DeimoS; 17.09.2020 в 04:42.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. #8
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    Тогда уж я бы советовал от того же автора инклуд 3DTryg, который, помимо информации о частях машин, имеет кучу полезных функций, как ни странно, связанных с тригонометрией.
    В теме на sa-mp.com есть больше инфы на его счёт.
    Я знал о 3DTryg, но он слишком жирный

  9. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от tnc Посмотреть сообщение
    Я знал о 3DTryg, но он слишком жирный
    Я не сомневаюсь, что ты знал :) А "жирность" компенсируется полезностью. Многие функции из инклуда используются в среднестатистическом моде жанра RP.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  10. #10
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    То есть, ты совсем не изучал работу тех двух твоих функций, которые ты скинул выше?) Или не заметил, что вся их работа основывается на информации, которую возвращает GetVehicleModelInfo?
    В тригонометрии я не просто не силен, а очень и очень слаб.

  11. Пользователь сказал cпасибо:
    Pa4enka (17.09.2020)
 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •