Andrey Zotov Опубликовано 10 февраля, 2012 Поделиться Опубликовано 10 февраля, 2012 На днях, прикручивая управление мышкой и педальками CSP к авиасиму Ил-2 (кстати обращайтесь, если кому нужно), я познакомился с программой для написания скриптов (макросов) GlovePIE. В симрейсерском сообществе отношение к макросам обычно отрицательное, но сейчас речь пойдет не о создании читерских макросов, главной чертой которых, по-моему мнению, является непосредственное воздействие на органы управления автомобиля, а о более "мирных" вещах. У этой программы есть замечательная функция под названием FakeTrackIR - имитация TrackIR. Известная программа Motion Cockpit тоже построена на имитации TrackIR, из чего следует, что пользователи TrackIR/Freetrack или Motion Cockpit не смогут воспользоваться этой функцией, не отказавшись от них. Что же можно сделать с помощью GlovePIE: 1) настроить положение сиденья пилота в кокпите (аналогично настройкам Motion Cockpit); 2) вращать головой пилота с помощью клавиатуры, мышки или джойстика. В горизонтальной плоскости можно повесить на кнопку клавы или руля поворот на любой угол в диапазоне 0-155 градусов. Можно сделать поведение как в LFS: 1) нажимаем кнопку "влево", голова поворачивается на один угол влево; 2) не отпуская ее нажимаем кнопку "вправо" - голова поворачивается на другой угол влево; 3) можно еще дальше пойди - при отпускании кнопки "вправо" голова поворачивается на третий угол. Видео прилагается: http://www.youtube.com/watch?v=aNmUnZ4lWnA На всякий случай, я написал в саппорт с вопросом о том, не возражают ли они против применения таких макросов, но ответа пока не пришло. В принципе, аналогичная функциональность доступна и пользователям настоящего TrackIR, так что не думаю, что это читерство. Также, для GlovePIE на форуме иР выложен скрипт VOICE Crew Chief, позволяющий управлять окнами F1-F9 голосом. Во втором сообщении напишу, как самим создать скрипт. Ссылка на комментарий
ELImental Опубликовано 10 февраля, 2012 Поделиться Опубликовано 10 февраля, 2012 Спасибо за наведение =). И как раньше мне а голову не приходила мысль использовать голосовые команды. Это же просто мега удобство. Достаточно посмотреть видяху из этой темы на форуме иР. Все пошел настраивать. Ссылка на комментарий
Andrey Zotov Опубликовано 10 февраля, 2012 Автор Поделиться Опубликовано 10 февраля, 2012 Помните о том, что вы используете данную программу и скрипты на свой страх и риск. Если меня забанят - то и вас тоже ;) http://glovepie.org/...ePIE045Free.zip Скачиваем и распаковываем программу, запускаем файл PIEFree.exe !!! ВНИМАНИЕ !!! Если будете удалять GlovePIE или использовать другую TrackIR программу, не забудьте в GlovePIE выбрать CP-Settings -> Restore Real TrackIR для восстановления работоспособности интерфейса TrackIR Начинаем набирать скрипт: 1) Настройка положения пилота. Просто поэксперементируйте с этими числами, как вам удобнее в игре. FakeTrackIR.x = 0 ; позиция пилота в кокпите в продольном направлении в метрах FakeTrackIR.y = 0 ; в поперечном направлении FakeTrackIR.z = 0 ; в вертикальном направлении FakeTrackIR.pitch =0 ; наклон головы пилота вперед-назад, градусов FakeTrackIR.roll = 0 ; наклон вбок 2)Крутить мышкой вид влево-вправо при нажатии средней кнопки. Если вам не надо, можно не писать. "1280" - разрешение экрана по горизонтали, напишите свое. В полноэкранном режиме не проверялось. if mouse.MiddleButton then begin FakeTrackIR.yaw = MapRange(mouse.cursorposx, 0,1280, -90,90) end 3)Поворот головы влево-вправо по кнопкам руля. а) Для начала нужно найти свой руль. Если руль - это единственное устройство типа "игровой контроллер", подключенное к вашему компу, то можно просто писать "joystick". Если нет - то пишем: debug = joystick1.Name Запускаем скрипт и если в верхнем правом углу окна GlovePIE видим название своего руля, значит мы его нашли. Если нет - меняем единицу на двойку, на тройку и т.д., пока не найдем. б) Дальше надо найти нужные кнопки. Пишем (с учетом предыдущего пункта): debug = joystick1.button1 Запускаем скрипт и нажимаем нужную кнопку. Если программа при нажатой кнопке не написала "True" значит меняем единицу на двойку, на тройку и т.д., пока не найдем. Запоминаем номера нужных кнопок и идем дальше. в) Поворот головы на фиксированный угол до 90 градусов. Кнопки свои подставьте, угол тоже можно менять в пределах от -90 до 90 градусов (можно и больше, но игра сама ограничивает). if released(joystick1.button8) then FakeTrackIR.yaw = 0 ; возврат в исходное положение if released(joystick1.button7) then FakeTrackIR.yaw = 0 ; возврат в исходное положение if pressed(joystick1.button8) then FakeTrackIR.yaw = -30 ; влево if pressed(joystick1.button7) then FakeTrackIR.yaw = 30 ; вправо г) Поворот головы на фиксированный угол до 155 градусов. Для этого надо настроить в игре поворот головы на кнопки клавиатуры "Стрелка влево" и "Стрелка вправо" и имитировать их нажатие скриптом, увеличивая угол поворота головы на 65 градусов. if released(joystick1.button8) then begin ; возврат в исходное положение FakeTrackIR.yaw = 0 release(key.Left) release(key.Right) end if released(joystick1.button7) then begin ; возврат в исходное положение FakeTrackIR.yaw = 0 release(key.Left) release(key.Right) end if pressed(joystick1.button8) then begin ;влево FakeTrackIR.yaw = -30 press(key.Left) release(key.Right) end if pressed(joystick1.button7) then begin ;вправо FakeTrackIR.yaw = 30 release(key.Left) press(key.Right) end Продолжение следует. Ссылка на комментарий
Andrey Zotov Опубликовано 10 февраля, 2012 Автор Поделиться Опубликовано 10 февраля, 2012 Чуть более сложный скрипт, действующий по алгоритму из стартового сообщения: 1) нажать и держать "влево" - поворот на 30 градусов; 2) нажать "вправо" - поворот на 65 градусов (поворот головы TrackIR - 0 градусов, имитация клавиши "стрелка влево"); 3) отпустить "вправо" - поворот на 155 градусов (поворот головы TrackIR - 90 градусов, имитация клавиши "стрелка влево"). Не забудьте подставить кнопки вашего руля и нужные вам углы. if released(joystick1.button8) and not joystick1.button7 then begin ; возврат в исходное положение FakeTrackIR.yaw = 0 release(key.Left) release(key.Right) end if released(joystick1.button7) and not joystick1.button8 then begin ; возврат в исходное положение FakeTrackIR.yaw = 0 release(key.Left) release(key.Right) end if pressed(joystick1.button8) and not joystick1.button7 then begin ; влево FakeTrackIR.yaw = -30 release(key.Left) release(key.Right) end if pressed(joystick1.button7) and not joystick1.button8 then begin ; вправо FakeTrackIR.yaw = 30 release(key.Left) release(key.Right) end if pressed(joystick1.button7) and joystick1.button8 then begin ; влево + вправо FakeTrackIR.yaw = -0 press(key.Left) release(key.Right) end if pressed(joystick1.button8) and joystick1.button7 then begin ; вправо + влево FakeTrackIR.yaw = 0 press(key.Right) release(key.Left) end if released(joystick1.button7) and joystick1.button8 then begin ; влево + вправо - вправо FakeTrackIR.yaw = -90 press(key.Left) release(key.Right) end if released(joystick1.button8) and joystick1.button7 then begin ; вправо + влево - влево FakeTrackIR.yaw = 90 press(key.Right) release(key.Left) end В общем то, алгоритмов можно придумать уйму, пишите какие вам надо, я попробую написать скрипт :) Ссылка на комментарий
VeTeR Опубликовано 10 февраля, 2012 Поделиться Опубликовано 10 февраля, 2012 Проверить количество осей можно NumberOfAxisis, а можно как-то проверить какая ось нажата? например по типу как проверять нажатие кнопок debug = joystick1.button1 И там что-то про джойстики для PS3, на консоль макросы тоже можно перекинуть? Ссылка на комментарий
Andrey Zotov Опубликовано 10 февраля, 2012 Автор Поделиться Опубликовано 10 февраля, 2012 Проверить количество осей можно NumberOfAxisis, а можно как-то проверить какая ось нажата? например по типу как проверять нажатие кнопок debug = joystick1.button1 Оси называются по-особому debug = joystick1.x joystick1.y joystick1.yaw и т.д. Из документации: x = sideways position. -1 = left, 0 = centre, 1 = righty = forwards/backwards position -1 = forwards, 1 = backwards z = Right Analog stick forwards/backwards -1 = forwards, 1 = backwards roll = joystick twist, or right analog stick left/right -1 = left, 1 = right pitch = not usually used yaw = not usually used slider = throttle rudder control, -1 = forwards (full speed), 1 = backwards (no speed) dial = some other dial И там что-то про джойстики для PS3, на консоль макросы тоже можно перекинуть? Не думаю, скорее контроллеры от консолей подключаются к компу. Ссылка на комментарий
Volker Опубликовано 25 декабря, 2012 Поделиться Опубликовано 25 декабря, 2012 А что-то faketrackir уже не работает. Вы всё используете эту прогу? Можете проверить он работает сейчас? Ссылка на комментарий
Andrey Zotov Опубликовано 26 декабря, 2012 Автор Поделиться Опубликовано 26 декабря, 2012 А что-то faketrackir уже не работает. Вы всё используете эту прогу? Можете проверить он работает сейчас? Проверил, работает. Ссылка на комментарий
Volker Опубликовано 26 декабря, 2012 Поделиться Опубликовано 26 декабря, 2012 А его в айреэсинге надо включать? Всмысле тракир. Ссылка на комментарий
Andrey Zotov Опубликовано 26 декабря, 2012 Автор Поделиться Опубликовано 26 декабря, 2012 Нет, не надо. А ты случайно не 64-битной версией иР пользуешься? Там он может и не работать. Ссылка на комментарий
Volker Опубликовано 26 декабря, 2012 Поделиться Опубликовано 26 декабря, 2012 Именно ей пользуюсь, а там решения этой проблемы нет? Ссылка на комментарий
Andrey Zotov Опубликовано 26 декабря, 2012 Автор Поделиться Опубликовано 26 декабря, 2012 Именно ей пользуюсь, а там решения этой проблемы нет? Боюсь, что нет. Для Motion Cockpit View ее автор выпустил 64-битную библиотеку для работы с TrackIR, а вот GlovePIE похоже заброшен и написание такой библиотеки в ближайшее время не ожидается. Так что остается только два варианта - пользоваться GlovePIE с 32-битной версией иР или переходить на Motion Cockpit View с 64-битной версией иР. Ссылка на комментарий
Loac Опубликовано 20 июня, 2013 Поделиться Опубликовано 20 июня, 2013 Подскажите, возможно ли сделать, чтобы при повороте руля, взгляд направлялся в сторону поворота? Как, например, в LFS. Ссылка на комментарий
alexkhvorov Опубликовано 28 января, 2014 Поделиться Опубликовано 28 января, 2014 На руле ж есть крестовина, взгляд влево-вправо. Поворот головы в поворот есть в Нфс Шифт 2, вид из шлема. Ссылка на комментарий
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.