IL-2 Sturmovik: 1946

IL-2 Sturmovik: 1946

评价数不足
Готовое управление с мышеджойстиком
由 Luminatro 制作
Простенький мышеджойстик на PPJoy+GlovePIE, специально для тех, у кого нет возможности поиграть на механическом джойстике.
   
奖励
收藏
已收藏
取消收藏
Описание возможностей
Мышеджойстик тестировался на Windows XP SP3 x86, Windows 7 x86/x64 и Windows 10 x86/x64. Является в некоторой степени ремейком мышеджоя Jmouse для Windows XP. Предназначен для управления одновременно 4 осями самолета, плюс три оси для триммеров.
Управление: движение мышью по вертикальной оси - тангаж, по горизонтальной крен и рысканье. Движение по горизонтальной оси с зажатой ЛКМ - только крен, с зажатой ПКМ - только рысканье. Вращение колеса мыши - газ. ЛКМ+ПКМ поставить все рули по центру. СКМ - переключение между режимами обзора (просмотра карты, огня за бортстрелков) и управления самолетом. При зажатии клавиши E вы получаете возможность управлять триммером руля направления, а при зажатии клавиши T - триммерами руля высоты и элеронов.
Дисклеймер
Внимание! Все действия вы выполняете на свой страх и риск! На 64-битных ОС PPJoy отключает проверку подписи драйверов из-за чего в правом нижнем углу появляется соответствующее предупреждение. Удалить его можно при помощи утилиты Universal Watermark Disabler либо выполнив в командной строке bcdedit /set testsigning off (в последнем случае мышеджойстик перестанет работать). Кроме того этот режим конфликтует с античитом другого авиасимулятора - War Thunder. При наличии достаточно производительного ПК рекомендую установить ПО на виртуальную машину созданную в VMware с пробросом Вашей USB-мышки.
Порядок установки
1) Установить PPJoy согласно инструкций мастера, соглашаясь на перезагрузку и модификацию BCD, если такой запрос возникнет.
2) Создать виртуальный джойстик со следующими настройками:

3) Загрузить в GlovePIE приложенный ниже скрипт.
4) Нажать Run.
5) (Опционально): На Windows XP требуется предварительно откалибровать мышеджойстик при помощи встроенной в ОС утилиты joy.cpl.
Конфигурация игры
Связать оси мышеджойстика с осями в игре можно через меню настроек, однако гораздо проще это сделать через правку соответствующих секций файлов конфигурации:

conf.ini
[rts] mouseUse=1

settings.ini
[HotKey pilot] Joystick0 JoystickDevice0=AIRCRAFT_TRIM_R_MINUS Joystick1 JoystickDevice0=AIRCRAFT_TRIM_R_PLUS Joystick2 JoystickDevice0=AIRCRAFT_TRIM_R_0 [HotKey move] AXE_X JoystickDevice0=aileron AXE_Y JoystickDevice0=elevator AXE_Z JoystickDevice0=rudder AXE_RX JoystickDevice0=trimaileron AXE_RY JoystickDevice0=trimelevator AXE_RZ JoystickDevice0=power AXE_U JoystickDevice0=brakes_left AXE_V JoystickDevice0=brakes_right
Скрипт мышеджойстика
Данный скрипт можно скопировать в окно программы GlovePIE и сохранить, либо же создать текстовый файл, поместить в него код и после сохранения изменить расширение на .pie.
if starting then //Adjustable Pie.FrameRate = 1000 //Mouse frequency var.M1_dpi = 1600 //Mouse resolution var.M1_Wheel = 22 //Throttle wheel split //Not adjustable var.M1_P = -1 var.M1_LB = -1 var.M1_RB = -1 var.M1_mapP = 60*var.M1_Wheel var.off = true endif //Turn on/off if pressed (Mouse.MiddleButton) then var.off = not var.off endif if (var.off) then //Mouse control Mouse.Swallow = false //IL2 turret crutch if (Keyboard.Ctrl) then if (Mouse.x = 1 and Delta(Mouse.DirectInputX) > 0) then Mouse.x = 0 if (Mouse.x = 0 and Delta(Mouse.DirectInputX) < 0) then Mouse.x = 1 //if (Mouse.y = 1 and Delta(Mouse.DirectInputY) > 0) then Mouse.y = 0 //if (Mouse.y = 0 and Delta(Mouse.DirectInputY) < 0) then Mouse.y = 1 endif else //Mouse blocked Mouse.Swallow = true //Mouse delta var.dx = Delta(Mouse.DirectInputX)/var.M1_dpi var.dy = Delta(Mouse.DirectInputY)/var.M1_dpi var.dz = Delta(Mouse.DirectInputZ) if (!Keyboard.T) and (!Keyboard.R) then //Combined axis if (!Mouse.LeftButton) then var.M1_Z += var.dx if released (Mouse.LeftButton) then var.M1_Z = var.M1_X if (!Mouse.RightButton) then var.M1_X += var.dx if released (Mouse.RightButton) then var.M1_X = var.M1_Z //Other axis var.M1_Y += var.dy //Reset stick if (Mouse.LeftButton) and (Mouse.RightButton) then var.M1_X = 0 var.M1_Y = 0 var.M1_Z = 0 endif endif //Throttle var.M1_P += var.dz/var.M1_mapP //Trimmers if (Keyboard.T) then var.M1_TX += var.dx var.M1_TY += var.dy endif if (Keyboard.T) and (Mouse.LeftButton) and (!Mouse.RightButton) then var.M1_RL = true else var.M1_RL = false endif if (Keyboard.T) and (!Mouse.LeftButton) and (Mouse.RightButton) then var.M1_RR = true else var.M1_RR = false endif if (Keyboard.T) and (Mouse.LeftButton) and (Mouse.RightButton) then var.M1_TX = 0 var.M1_TY = 0 var.M1_RC = true else var.M1_RC = false endif //Wheel brakes if (Keyboard.R) then var.M1_Y += var.dy var.M1_Z += var.dx endif if (Keyboard.R) and (Mouse.LeftButton) then var.M1_LB = 1 else var.M1_LB = -1 endif if (Keyboard.R) and (Mouse.RightButton) then var.M1_RB = 1 else var.M1_RB = -1 endif if released (Keyboard.R) then var.M1_Z = var.M1_X endif endif //Limiter if (var.M1_X < -1) then var.M1_X = -1 if (var.M1_X > 1) then var.M1_X = 1 if (var.M1_Y < -1) then var.M1_Y = -1 if (var.M1_Y > 1) then var.M1_Y = 1 if (var.M1_Z < -1) then var.M1_Z = -1 if (var.M1_Z > 1) then var.M1_Z = 1 if (var.M1_P < -1) then var.M1_P = -1 if (var.M1_P > 1) then var.M1_P = 1 if (var.M1_TX < -1) then var.M1_TX = -1 if (var.M1_TX > 1) then var.M1_TX = 1 if (var.M1_TY < -1) then var.M1_TY = -1 if (var.M1_TY > 1) then var.M1_TY = 1 //Translator PPJoy1.Analog0 = Var.M1_X //Ailerons PPJoy1.Analog1 = Var.M1_Y //Pitch PPJoy1.Analog2 = Var.M1_Z //Rudder PPJoy1.Analog3 = Var.M1_TX //Aileron trimmer PPJoy1.Analog4 = Var.M1_TY //Pitch trimmer PPJoy1.Analog5 = Var.M1_P //Throttle PPJoy1.Analog6 = Var.M1_LB //Left brake PPJoy1.Analog7 = Var.M1_RB //Right brake PPJoy1.Digital0 = Var.M1_RL //Rudder trimmer left PPJoy1.Digital1 = Var.M1_RR //Rudder trimmer right PPJoy1.Digital2 = Var.M1_RC //Rudder trimmer center
Пресет настроек управления
Также предлагаю вашему вниманию пресет настроек управления, адаптированный под данный мышеджойстик и позволяющий полноценно поиграть в ИЛ-2 Забытые Сражения не только на полноценных 104-клавишных клавиатурах, но даже на компактных и ноутбучных модификациях. За основу был взят оригинальный файл конфигурации из Steam и обновлен с учетом обновлений до версии 4.15.1.
[HotKey pilot] 0=EngineSelectRight 1=EngineSelect1 2=EngineSelect2 3=EngineSelect3 4=EngineSelect4 5=EngineSelect5 6=EngineSelect6 7=EngineSelect7 8=EngineSelect8 9=EngineSelectLeft A=Mix100 Alt B=AIRCRAFT_CARRIERHOOK Alt Space=Weapon3 B=Brake BackQuote=Weapon01 BackSlash=SIGHT_OPB_TIMER Backspace=Weapon0 CloseBracket=SIGHT_AUTO_ONOFF Ctrl A=MixMinus20 Ctrl B=AIRCRAFT_BRAKESHOE Ctrl BackQuote=GunPods Ctrl D=EngineExtinguisher Ctrl F=AIRCRAFT_FLAPS_NOTCH_UP Ctrl G=AIRCRAFT_GEAR_UP_MANUAL Ctrl I=SIGHT_TOGGLE_CLUTCH Ctrl J=SIGHT_TURN_LEFT Ctrl K=SIGHT_TURN_CENTER Ctrl L=SIGHT_TURN_RIGHT Ctrl N=AIRCRAFT_DOCK_UNDOCK Ctrl O=BOMB_RELEASE_TRAIN_DELAY Ctrl S=StepMinus5 Ctrl Slash=CourseAutopilot Ctrl Space=ROCKET_RELEASE_MODE Ctrl U=BOMB_RELEASE_TRAIN_AMOUNT Ctrl W=AIRCRAFT_BOOST_MINUS_5 Ctrl X=CompressorMinus Ctrl Z=MagnetoMinus E=Radiator Enter=Weapon1 Equals=EngineSelectAll F=AIRCRAFT_FLAPS_NOTCH_DOWN G=Gear H=COCKPITDOOR I=SIGHT_DIST_PLUS J=SIGHT_SIDE_LEFT Joystick0 JoystickDevice0=AIRCRAFT_TRIM_R_MINUS Joystick1 JoystickDevice0=AIRCRAFT_TRIM_R_PLUS Joystick2 JoystickDevice0=AIRCRAFT_TRIM_R_0 K=SIGHT_DIST_MINUS L=SIGHT_SIDE_RIGHT OpenBracket=SIGHT_SPD_PLUS P=SIGHT_ALT_PLUS Q=AIRCRAFT_TOGGLE_ENGINE Quote=SIGHT_SPD_MINUS S=StepAuto Semicolon=SIGHT_ALT_MINUS Shift A=MixPlus20 Shift B=AIRCRAFT_TAILWHEELLOCK Shift BackSlash=SIGHT_BALLISTIC_TABLE Shift D=EngineFeather Shift F=AIRCRAFT_TOGGLE_AIRBRAKE Shift G=AIRCRAFT_GEAR_DOWN_MANUAL Shift H=AIRCRAFT_DROP_TANKS Shift I=SIGHT_OPB_FORWARD Shift J=SIGHT_OPB_LEFT Shift K=SIGHT_OPB_BACK Shift L=SIGHT_OPB_RIGHT Shift N=WINGFOLD Shift S=StepPlus5 Shift Slash=Stabilizer Shift W=AIRCRAFT_BOOST_PLUS_5 Shift X=CompressorPlus Shift Z=MagnetoPlus Space=Weapon2 U=BOMB_RELEASE_MODE Underscore=EngineToggleAll W=Boost [HotKey gunner] MouseLeft=Fire MouseRight=GunnerMultiFunction [HotKey misc] Alt C=TOGGLE_COPILOT_MODE Alt Comma=AUX_C Alt H=ejectPilot Alt Period=AUX_D Alt V=cockpitLight Comma=BEACON_MINUS Ctrl Comma=AUX1_MINUS Ctrl H=AUX_A Ctrl M=padFull Ctrl Period=AUX1_PLUS Ctrl V=toggleNavLights Ctrl Y=autopilotAuto M=pad N=cockpitDim O=AUX_B Period=BEACON_PLUS Shift Comma=showMirror Shift OpenBracket=AUX_E Shift Period=selectMirror Shift V=toggleLandingLight V=toggleSmokes X=onlineRating Y=autopilot Z=chat [HotKey timeCompression] Down=timeSpeedPause Left=timeSpeedDown Right=timeSpeedUp Up=timeSpeedNormal [dgen] yearBirth=1910 [HotKey aircraftView] Ctrl F8=NextViewEnemyFollow NumPad-0=PadlockViewForward Ctrl F2=NextViewEnemy Ctrl F1=CockpitShow Alt F7=ViewEnemyDirectGround Alt F6=ViewEnemyDirectAir C=changeCockpit Ctrl C=cockpitView0 Slash=fovSwitch End=fov70 PageDown=fov90 F8=OutsideViewFollow F7=ViewEnemyGround F6=ViewEnemyAir F5=PadlockViewGround F4=PadlockView F3=OutsideViewFly F2=OutsideView Shift F8=NextViewFollow F1=CockpitView Shift F7=ViewFriendGround Shift F6=ViewFriendAir Shift F5=PadlockViewFriendGround Shift F4=PadlockViewFriend Shift F2=NextView Shift F1=cockpitAim [HotKey SnapView] NumPad-4=Snap_m2_0 NumPad-3=Snap_3_0 Pov315 JoystickPov0=Snap_m1_0 NumPad-2=Snap_0_m2 NumPad-1=Snap_m3_0 Pov0 JoystickPov0=Snap_0_2 Pov45 JoystickPov0=Snap_1_0 Pov90 JoystickPov0=Snap_2_0 Pov135 JoystickPov0=Snap_3_0 Pov180 JoystickPov0=Snap_0_m1 Delete=Snap_0_0 Pov225 JoystickPov0=Snap_m3_0 F9=SnapPanSwitch Pov270 JoystickPov0=Snap_m2_0 NumPad-9=Snap_1_0 NumPad-7=Snap_m1_0 NumPad-6=Snap_2_0 NumPad-5=Snap_0_2 [HotKey PanView] NumPad-4=PanLeft2 NumPad-3=PanRight3 Pov315 JoystickPov0=PanLeft NumPad-2=PanDown NumPad-1=PanLeft3 Pov0 JoystickPov0=PanUp Pov45 JoystickPov0=PanRight Pov90 JoystickPov0=PanRight2 Pov135 JoystickPov0=PanRight3 Pov180 JoystickPov0=PanDown Delete=PanReset Pov225 JoystickPov0=PanLeft3 Pov270 JoystickPov0=PanLeft2 NumPad-9=PanRight NumPad-8=PanUp NumPad-7=PanLeft NumPad-6=PanRight2 [HotKey orders] Y=order15 W=order11 U=order16 T=order14 R=order13 Q=order10 I=order17 E=order12 9=order9 8=order8 7=order7 6=order6 5=order5 4=order4 3=order3 2=order2 1=order1 0=order0 Escape=deactivate Tab=activate [HotKey move] AXE_X JoystickDevice0=aileron AXE_Y JoystickDevice0=elevator AXE_Z JoystickDevice0=rudder AXE_RX JoystickDevice0=trimaileron AXE_RY JoystickDevice0=trimelevator AXE_RZ JoystickDevice0=power AXE_U JoystickDevice0=brakes_left AXE_V JoystickDevice0=brakes_right [difficulty] single=16971007 net=16971007 [net] squadron=0 tacticalnumber=1 numberOn=1 [cover] mashinegun=500.0 cannon=500.0 rocket=500.0 rocketdelay=10.0 bombdelay=0.0 fuzetype=0 fuel=100.0