Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

How are you guys handling the >4 engine planes?

Featured Replies

On 6/30/2023 at 1:55 PM, The Flight Level said:

Not sure If this helps, but I thought I would pass this one on.

 

Not one SECOND in that video mentioned throttles lol!

Russell Gough

SE London

spacer.png

My solution to control all the Latécoère (6) and the “Dornier Do X” (12) engines with a 4 throttle controller.

I defined the 4 lever axes in FSUIPC7 and then put the following modified script into the fsuipc7.exe folder.

Create and use an MSFS controller config with the throttles removed for the Latecoere and Dornier X.

Many thanks to the person who sent me the original code. Note: the script doesn’t work with the Hercules for some reason, I use SPAD.neXt for the Hercules.

 

--=====================================

 

--    File Throttle.lua
    
--    Put this file to the FSUIPC folder that contains the FSUIPC.ini file
    
--    Add the file name to the [AUTO] section of the .ini file like this
    
    --    [AUTO]
    --    1=lua throttle

    --    or (make sure numbering is consistent if the AUTO section already has entries)

    --    [AUTO]
    --    1=lua xyz1
    --    2=lua xyz2
    --    3=lua throttle

----------------------------------------------------------

    --variable definitions

local user_aircraft_type = ""            -- holds name of user aircraft in sim
local number_of_engines = ""            -- how many engines on the current aircraft
local calc_code = ""                    -- string to hold RPN code
local combine_throttles = 0                -- 0 = no, 1 = yes
local My_Aircraft_Type = 0                -- Number assigned to a recognised aircraft


    --this is called whenever new aircraft is loaded in the sim

function aircraft_changed(offset, uat)    
    user_aircraft_type = ipc.readSTR(0x3D00, 256)
    number_of_engines = ipc.readUW(0x0AEC)
    ipc.log("in change_aircraft_name = <"..offset.."  "..user_aircraft_type..">")
    ipc.log("Number of engines = <"..offset.."  "..number_of_engines..">")
    
    if string.find(user_aircraft_type,"Latecoere") then   -- Is this a recognised aircraft
        My_Aircraft_Type = 1
    elseif string.find(user_aircraft_type,"Dornier Do X") then
        My_Aircraft_Type = 2
    else
        My_Aircraft_Type = 0
        os.exit()  -- Not a recognised aircraft, so stop the script.
    end
end


    --this is called when Thrustlever 1 changes

function throttle_lever_1(offset, value)    

    if My_Aircraft_Type == 1 then
        value = ((value + 16384) / 32767.0) * 100.0        -- squeeze value to 0-100
        value = value > 99.0 and 100 or value < 1.0 and 0 or value
        calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:1, Percent) " ..            -- throttle 1
                    value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:2, Percent) "             -- throttle 2
        ipc.execCalcCode(calc_code)
    elseif My_Aircraft_Type == 2 then
        value = ((value + 16384) / 32767.0) * 100.0        -- squeeze value to 0-100
        value = value > 99.0 and 100 or value < 1.0 and 0 or value
        calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:1, Percent) " ..            -- throttle 1
                    value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:2, Percent) " ..            -- throttle 2
                    value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:3, Percent) "             -- throttle 3                    
        ipc.execCalcCode(calc_code)        
    end
end


    --this is called when Thrustlever 2 changes

function throttle_lever_2(offset, value)    
    if My_Aircraft_Type == 1 then
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:3, Percent) "         -- throttle 3
            ipc.execCalcCode(calc_code)
    elseif My_Aircraft_Type == 2 then    
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:4, Percent) " ..        -- throttle 4
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:5, Percent) " ..        -- throttle 5
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:6, Percent) "         -- throttle 6                    
            ipc.execCalcCode(calc_code)
    end
end


    --this is called when Thrustlever 3 changes

function throttle_lever_3(offset, value)    
    if My_Aircraft_Type == 1 then
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:4, Percent) "         -- throttle 4
            ipc.execCalcCode(calc_code)
    elseif My_Aircraft_Type == 2 then
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:7, Percent) " ..        -- throttle 7
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:8, Percent) " ..        -- throttle 8
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:9, Percent) "         -- throttle 9                    
            ipc.execCalcCode(calc_code)
    end
end


    --this is called when Thrustlever 4 changes

function throttle_lever_4(offset, value)    
    if My_Aircraft_Type == 1 then
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:5, Percent) " ..        -- throttle 5
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:6, Percent) "         -- throttle 6
            ipc.execCalcCode(calc_code)
    elseif My_Aircraft_Type == 2 then
            value = ((value + 16384) / 32767.0) * 100.0                -- squeeze value to 0-100
            value = value > 99.0 and 100 or value < 1.0 and 0 or value
            calc_code = value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:10, Percent) " ..    -- throttle 10                    
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:11, Percent) " ..    -- throttle 11                        
                        value .. " (>A:GENERAL ENG THROTTLE LEVER POSITION:12, Percent) "         -- throttle 12                        
            ipc.execCalcCode(calc_code)
    end
end


    --callbacks

event.offset (0x3D00, "STR", 64, "aircraft_changed")
event.offset (0x25F0, "SW", "throttle_lever_1")    
event.offset (0x25F2, "SW", "throttle_lever_2")    
event.offset (0x25F4, "SW", "throttle_lever_3")    
event.offset (0x25F6, "SW", "throttle_lever_4")    

--=====================================

 

Edited by smoothchat

Specs: Win10, 4790K, nVidia 1080ti, Saitek Yoke+Quadrant+Radio/Switch and AP panels, VRInsight 737 overhead, Virtual Avionics 737 MCP. 3 x 1440*900 main display + 1024*600 VDU display. NLR V3 Motion seat. Oculus DK2 CV1 HTC Vive VR headsets.

On 6/28/2023 at 5:13 PM, regis9 said:

I have to resort to doing a binding in MSFS rather than FSUIPC where one axis controls all four engines.  I tried a few times to use FSUIPC to bind the left axis to engines 1&2 and the right axis to 3&4 without success on the bae-146.

What is the procedure? If you don't mind. Thanks

I use all 4 jet throttles for the bae146. More fun that way for me

7800+4090+64ram

Just Flight RJ, 146 and F28, Piper Arrows ---A2A Aerostar and Comanche---Black Square Starship, Duke(s), TBM, Bonanza/BaronV2, KingAir---FSReborn FSR500---COWS Da42---FX P180, HJet & VJet---FlySimWare Chancellor and LearJet---FlightSimStudio EMB175 &P2006T---Fenix 320---PMDG DC6, 737(700+900), 777---C22J---Milviz Cessna 310 & Porter---SimWorksStudios Kodiak, PC12, Zenith & RV14---BigRadials Goose---IndiaFoxEcho MB3339+F35.

 

On 6/28/2023 at 3:09 PM, tgsweat said:

I have the bravo and use two throttle levers, so two engines on each lever.  

Exactly what I do, I have the Flightsim Factory Handles \ Lever set, since I fly the Airbus quite a lot and my lazy side kicks in, so I duplicated (modify) my Fenix Bravo Profile in MSFS for the Just Flight BAE146 (I like to fly this lately, since the update). For the 146, the 2 throttle lever setup works fine for me. Actually makes it easier to sync the 4 engines (I know, I'm cheating)😉

i913900KF (5.8GHz) | Case: Fractal PopAir RGB I Gigabyte Z790 UD AX| MSI Gaming RTX 4070Ti Super 16GB | Kingston Fury Beast 64GB DDR5 5200Mhz | SOLIDIGM P41 Plus 2TB NVMe M.2 SSD | Samsung SSD 870 EVO 2TB | Thermalright Frozen Notte 240 MM Liquid Cooling | LG EVO 42" Monitor 3840 x 2160 120Hz | Honeycomb Alpha & Bravo | Logitech G Pro pedals | Tobii EyeTracker | 850W Thermaltake 80+ GOLD |

I use a CH Throttle Quadrant, and works great at 4 engines aircraft (DC6, B747, A340,etc)

Also reversers work OK for the 4 engines

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.