From b613fbd97ebe6b52f4489020fcce7874140a1512 Mon Sep 17 00:00:00 2001 From: mcmicha Date: Mon, 12 Sep 2016 01:23:04 +0200 Subject: [PATCH] add new export script for German MiG-29G --- .../ExportsModules/MiG-29G.lua | 456 ++++++++++++++++++ 1 file changed, 456 insertions(+) create mode 100644 Scripts/DCS-ExportScript/ExportsModules/MiG-29G.lua diff --git a/Scripts/DCS-ExportScript/ExportsModules/MiG-29G.lua b/Scripts/DCS-ExportScript/ExportsModules/MiG-29G.lua new file mode 100644 index 0000000..76bc460 --- /dev/null +++ b/Scripts/DCS-ExportScript/ExportsModules/MiG-29G.lua @@ -0,0 +1,456 @@ +-- MiG-29G Export +-- Version 1.0.0 BETA + +ExportScript.FoundFCModule = true + +-- auxiliary function +dofile(ExportScript.Config.ExportModulePath.."FC_AuxiliaryFuntions.lua") + +----------------------------------------- +-- FLAMING CLIFFS AIRCRAFT / MiG-29G -- +-- FC aircraft don't support GetDevice -- +----------------------------------------- + +function ExportScript.ProcessIkarusFCHighImportanceConfig() + local lFunctionTyp = "Ikarus" -- function type for shared function + local myData = LoGetSelfData() + + if (myData) then + local lLatitude = myData.LatLongAlt.Lat -- LATITUDE + local lLongitude = myData.LatLongAlt.Long -- LONGITUDE + + local lEngineTempLeft = LoGetEngineInfo().Temperature.left -- ENG1 EGT ºC + local lEngineTempRight = LoGetEngineInfo().Temperature.right -- ENG2 EGT ºC + + local lMachNumber = LoGetMachNumber() -- MACH + --[[ + local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE + local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter) + local lAltRad = LoGetAltitudeAboveGroundLevel() -- ALTITUDE GROUND LEVEL (Meter) + local lTrueAirSpeed = LoGetTrueAirSpeed() -- TRUE AIRSPEED (Meter/Second) + local lPitch, lBank, lYaw = LoGetADIPitchBankYaw() -- PITCH, BANK, YAW (Radian) + + local lHeading = myData.Heading -- HEADING (Radian) + local lVVI = LoGetVerticalVelocity() -- VERTICAL SPEED (Meter/Second) + local lIAS = LoGetIndicatedAirSpeed() -- INDICATED AIRSPEED (Meter/Second) + local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian) + + local lGlide = LoGetGlideDeviation() -- VOR1 HORIZONTAL DEFLECTION (-1 +1) + local lSide = LoGetSideDeviation() -- VOR1 VERTICAL DEFLECTION (-1 +1) + local lSlipBallPosition = LoGetSlipBallPosition() -- SLIP BALL (-1 +1) + local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD + + local lNavInfoPitch = LoGetNavigationInfo().Requirements.pitch -- AP REQUIRED PITCH (Radian) + local lNavInfoRoll = LoGetNavigationInfo().Requirements.roll -- AP REQUIRED BANK (Radian) + local lNavInfoSpeed = LoGetNavigationInfo().Requirements.speed -- AP SPEED (Meter/Second) + local lNavInfoAltitude = LoGetNavigationInfo().Requirements.altitude -- AP ALTITUDE (Meter) + local lNavInfoVerticalSpeed = LoGetNavigationInfo().Requirements.vertical_speed -- AP VERTICAL SPEED (Meter/Second) + + local lControlPanel_HSI = LoGetControlPanel_HSI() -- HSI Data + local lHSI_RMI = LoGetControlPanel_HSI().RMI_raw -- VOR1 OBS (Radian) + local lHSI_ADF = LoGetControlPanel_HSI().ADF_raw -- ADF OBS (Radian) + local lHSI_Heading = LoGetControlPanel_HSI().Heading_raw -- Heading (Radian) + + local lEngineRPMleft = LoGetEngineInfo().RPM.left -- ENG1 RPM % + local lEngineRPMright = LoGetEngineInfo().RPM.right -- ENG2 RPM % + + local lEngineFuelInternal = LoGetEngineInfo().fuel_internal -- TANK1 (INT) (KG) + local lEngineFuelExternal = LoGetEngineInfo().fuel_external -- TANK2 (EXT) (KG) + + local lMechInfo = LoGetMechInfo() -- mechanical components, e.g. Flaps, Wheelbrakes,... + local lPayloadInfo = LoGetPayloadInfo() -- Paylod, e.g. bombs, guns, rockets, fuel tanks,... + ]] + + local lDistanceToWay = 999 + local lRoute = LoGetRoute() + + if (myData and lRoute) then -- if neither are nil + local myLoc = LoGeoCoordinatesToLoCoordinates(lLongitude, lLatitude) + --lDistanceToWay = math.sqrt((myLoc.x - lRoute.goto_point.world_point.x)^2 + (myLoc.y - lRoute.goto_point.world_point.y)^2) + lDistanceToWay = math.sqrt((myLoc.x - lRoute.goto_point.world_point.x)^2 + (myLoc.z - lRoute.goto_point.world_point.z)^2) + end + + -- IAS-TAS Indicator + ExportScript.AF.FC_Russian_AirSpeed_1000hkm() + + -- AOA Indicator and Accelerometer + ExportScript.AF.FC_Russian_AOA_MiG29() + + -- ADI + ExportScript.AF.FC_Russian_ADI_Old() + + -- HSI + ExportScript.AF.FC_Russian_HSI(lDistanceToWay) + + -- Vertical Velocity Indicator (VVI, TurnIndicator, SlipBallPosition) + ExportScript.AF.FC_Russian_VVI_Old() + + -- Radar Altimeter (below 100m is warning light on) + ExportScript.AF.FC_Russian_RadarAltimeter_1000m(100) + + -- Barometric Altimeter + ExportScript.AF.FC_Russian_BarometricAltimeter_30000() + + -- Tachometer (RPM) + ExportScript.AF.FC_Russian_EngineRPM() + + -- Left Jet Engine Turbine Temperature Indicator (EngineTemp, ExportID) + ExportScript.AF.FC_Russian_EGT_1000gc(lEngineTempLeft + 80, 70) + + -- Right Jet Engine Turbine Temperature Indicator (EngineTemp, ExportID) + ExportScript.AF.FC_Russian_EGT_1000gc(lEngineTempRight + 80, 71) + + -- Clock from Ka-50 + ExportScript.AF.FC_Russian_Clock_late() + + -- Machmeter + ExportScript.AF.FC_Russian_Mach_MiG29() + else + ExportScript.Tools.WriteToLog("Unknown FC Error, no LoGetSelfData.") + end +end + +function ExportScript.ProcessDACConfigHighImportance() + local lFunctionTyp = "DAC" -- function type for shared function + + -- your script + +end + +function ExportScript.ProcessIkarusFCLowImportanceConfig() + local lFunctionTyp = "Ikarus" -- function type for shared function + -- Weapon Panel + --ExportScript.AF.FC_WeaponPanel_MiG29(lFunctionTyp) + + -- SPO15 Radar Warning Reciver + ExportScript.AF.FC_SPO15RWR(lFunctionTyp) + + -- EKRAN Message + ExportScript.AF.FC_EKRAN() + + -- Mechanical Configuration Indicator + ExportScript.AF.FC_Russian_MDI_MiG29(lFunctionTyp) + + -- Fuel Quantity Indicator + ExportScript.AF.FuelQuantityIndicator(lFunctionTyp) + + -- Airintake + ExportScript.AF.FC_Russian_AirIntake() + + -- Fuel Quantity Indicator + local lEngineInfo = LoGetEngineInfo() + if lEngineInfo ~= nil then + -- Hydraulic Pressure Left + ExportScript.AF.FC_OneNeedleGauge(lEngineInfo.HydraulicPressure.left, 240, 85) + + -- Hydraulic Pressure Right + ExportScript.AF.FC_OneNeedleGauge(lEngineInfo.HydraulicPressure.right, 240, 86) + end + + local lMechInfo = LoGetMechInfo() -- mechanical components, e.g. Flaps, Wheelbrakes,... + if lMechInfo ~= nil then + -- Wheelbrakes Hydraulic Pressure Left + ExportScript.AF.FC_OneNeedleGauge(lMechInfo.wheelbrakes.value, 240, 87) + + -- Wheelbrakes Hydraulic Pressure Right + ExportScript.AF.FC_OneNeedleGauge(lMechInfo.wheelbrakes.value, 240, 88) + end + + --[[ + local lPayloadInfo = LoGetPayloadInfo() + ExportScript.Tools.WriteToLog('lPayloadInfo: '..ExportScript.Tools.dump(lPayloadInfo)) + + local lSnares = LoGetSnares() -- Flare and Chaff + ExportScript.Tools.WriteToLog('lSnares: '..ExportScript.Tools.dump(lSnares)) + + local lSightingSystemInfo = LoGetSightingSystemInfo() + ExportScript.Tools.WriteToLog('lSightingSystemInfo: '..ExportScript.Tools.dump(lSightingSystemInfo)) + + local lTWSInfo = LoGetTWSInfo() -- SPO Informationen, z.B. Radarwarner F15C + ExportScript.Tools.WriteToLog('lTWSInfo: '..ExportScript.Tools.dump(lTWSInfo)) + + local lTargetInformation = LoGetTargetInformation() -- detalierte Radar Infos z.B. F15C + ExportScript.Tools.WriteToLog('lTargetInformation: '..ExportScript.Tools.dump(lTargetInformation)) + + local lLockedTargetInformation = LoGetLockedTargetInformation() + ExportScript.Tools.WriteToLog('lLockedTargetInformation: '..ExportScript.Tools.dump(lLockedTargetInformation)) + + local lF15_TWS_Contacs = LoGetF15_TWS_Contacts() -- the same information but only for F-15 in TWS mode + ExportScript.Tools.WriteToLog('lF15_TWS_Contacs: '..ExportScript.Tools.dump(lF15_TWS_Contacs)) + + local lMechInfo = LoGetMechInfo() -- mechanical components, e.g. Flaps, Wheelbrakes,... + ExportScript.Tools.WriteToLog('lMechInfo: '..ExportScript.Tools.dump(lMechInfo)) + + local lMCPState = LoGetMCPState() -- Warnlichter + ExportScript.Tools.WriteToLog('lMCPState: '..ExportScript.Tools.dump(lMCPState)) + + local lControlPanel_HSI = LoGetControlPanel_HSI() + ExportScript.Tools.WriteToLog('lControlPanel_HSI: '..ExportScript.Tools.dump(lControlPanel_HSI)) + + local lRadioBeaconsStatus = LoGetRadioBeaconsStatus() + ExportScript.Tools.WriteToLog('lRadioBeaconsStatus: '..ExportScript.Tools.dump(lRadioBeaconsStatus)) + + local lEngineInfo = LoGetEngineInfo() + ExportScript.Tools.WriteToLog('lEngineInfo: '..ExportScript.Tools.dump(lEngineInfo)) + ]] + -- Weapon Control System + --local lNameByType = LoGetNameByType () -- args 4 (number : level1,level2,level3,level4), result string + -- values from LoGetTargetInformation().type + --ExportScript.Tools.WriteToLog('lNameByType: '..ExportScript.Tools.dump(lNameByType)) +end + +function ExportScript.ProcessDACConfigLowImportance() + local lFunctionTyp = "DAC" -- function type for shared function + + ExportScript.AF.FC_WeaponPanel_MiG29(lFunctionTyp) + ExportScript.AF.FC_SPO15RWR(lFunctionTyp) + ExportScript.AF.FC_Russian_MDI_MiG29(lFunctionTyp) + ExportScript.AF.FuelQuantityIndicator(lFunctionTyp) + ExportScript.AF.FC_Russian_FlareChaff_MiG29(lFunctionTyp) + + ExportScript.AF.StatusLamp() + ExportScript.AF.SightingSystem() +end + +----------------------------- +-- Custom functions -- +----------------------------- + +function ExportScript.AF.SightingSystem() + local lSightingSystemInfo = LoGetSightingSystemInfo() + if lSightingSystemInfo == nil then + return + end + --ExportScript.Tools.WriteToLog('lSightingSystemInfo: '..ExportScript.Tools.dump(lSightingSystemInfo)9 + --[[ + [PRF] = { + [selection] = string: "ILV" + [current] = string: "MED" + } + [laser_on] = boolean: "false" + [scale] = { + [azimuth] = number: "0.52359873056412" + [distance] = number: "10000" + } + [radar_on] = boolean: "false" + [optical_system_on] = boolean: "false" + [LaunchAuthorized] = boolean: "false" + [ECM_on] = boolean: "false" + [Manufacturer] = string: "RUS" + [TDC] = { + [y] = number: "0" + [x] = number: "0" + } + [ScanZone] = { + [coverage_H] = { + [min] = number: "0" + [max] = number: "20000" + } + [size] = { + [azimuth] = number: "1.0471974611282" + [elevation] = number: "0.17453290522099" + } + [position] = { + [exceeding_manual] = number: "0" + [distance_manual] = number: "0" + [azimuth] = number: "0" + [elevation] = number: "0" + } + } + ]] + ExportScript.Tools.SendDataDAC("600", lSightingSystemInfo.ECM_on == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("601", lSightingSystemInfo.laser_on == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("602", lSightingSystemInfo.optical_system_on == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("603", lSightingSystemInfo.LaunchAuthorized == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("604", lSightingSystemInfo.radar_on == true and 1 or 0 ) +end + +function ExportScript.AF.StatusLamp() + local lMCPState = LoGetMCPState() -- Warning Lights + if lMCPState == nil then + return + end + --ExportScript.Tools.WriteToLog('lMCPState: '..ExportScript.Tools.dump(lMCPState)) + --[[ + [RightTailPlaneFailure] = boolean: "false" + [EOSFailure] = boolean: "false" + [ECMFailure] = boolean: "false" + [RightAileronFailure] = boolean: "false" + [MasterWarning] = boolean: "false" + [RightEngineFailure] = boolean: "false" + [CannonFailure] = boolean: "false" + [MLWSFailure] = boolean: "false" + [ACSFailure] = boolean: "false" + [RadarFailure] = boolean: "false" + [HelmetFailure] = boolean: "false" + [HUDFailure] = boolean: "false" + [LeftMainPumpFailure] = boolean: "false" + [RightWingPumpFailure] = boolean: "false" + [LeftWingPumpFailure] = boolean: "false" + [MFDFailure] = boolean: "false" + [RWSFailure] = boolean: "false" + [GearFailure] = boolean: "false" + [HydraulicsFailure] = boolean: "false" + [AutopilotFailure] = boolean: "true" + [FuelTankDamage] = boolean: "false" + [LeftAileronFailure] = boolean: "false" + [CanopyOpen] = boolean: "false" + [RightMainPumpFailure] = boolean: "false" + [StallSignalization] = boolean: "false" + [LeftEngineFailure] = boolean: "false" + [AutopilotOn] = boolean: "false" + [LeftTailPlaneFailure] = boolean: "false" + ]] + + ExportScript.Tools.SendDataDAC("700", lMCPState.LeftTailPlaneFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("701", lMCPState.RightTailPlaneFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("702", lMCPState.MasterWarning == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("703", lMCPState.LeftEngineFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("704", lMCPState.RightEngineFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("705", lMCPState.LeftAileronFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("706", lMCPState.RightAileronFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("707", lMCPState.LeftMainPumpFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("708", lMCPState.RightMainPumpFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("709", lMCPState.LeftWingPumpFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("710", lMCPState.RightWingPumpFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("711", lMCPState.EOSFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("712", lMCPState.ECMFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("713", lMCPState.CannonFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("714", lMCPState.MLWSFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("715", lMCPState.ACSFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("716", lMCPState.RadarFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("717", lMCPState.HelmetFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("718", lMCPState.HUDFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("719", lMCPState.MFDFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("720", lMCPState.RWSFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("721", lMCPState.GearFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("722", lMCPState.HydraulicsFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("723", lMCPState.AutopilotFailure == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("724", lMCPState.FuelTankDamage == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("725", lMCPState.CanopyOpen == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("726", lMCPState.StallSignalization == true and 1 or 0 ) + ExportScript.Tools.SendDataDAC("727", lMCPState.AutopilotOn == true and 1 or 0 ) + + local lEngineInfo = LoGetEngineInfo() + if lEngineInfo ~= nil then + --ExportScript.Tools.WriteToLog('lEngineInfo: '..ExportScript.Tools.dump(lEngineInfo)) + + ExportScript.Tools.SendDataDAC("728", lEngineInfo.EngineStart.left ) -- lamp start left engine 1 (0|1) + ExportScript.Tools.SendDataDAC("729", lEngineInfo.EngineStart.right ) -- lamp start right engine 1 (0|1) + + ExportScript.Tools.SendDataDAC("730", (lEngineInfo.RPM.left > 100.0 and 1 or 0) ) -- lamp after burner left engine + ExportScript.Tools.SendDataDAC("731", (lEngineInfo.RPM.right > 100.0 and 1 or 0) ) -- lam after burner right engine + end + + local lAccelerationUnits = LoGetAccelerationUnits() + if lAccelerationUnits ~= nil then + --ExportScript.Tools.WriteToLog('lAccelerationUnits: '..ExportScript.Tools.dump(lAccelerationUnits)) + ExportScript.Tools.SendDataDAC("732", (lAccelerationUnits.y > 8.0 and 1 or 0) ) -- lamp Over-G warning + end +end + +function ExportScript.AF.FuelQuantityIndicator(FunctionTyp) + local lFunctionTyp = FunctionTyp or "Ikarus" +-- Fuel quantity shows the fuel remaining in all tanks + local lEngineInfo = LoGetEngineInfo() + if lEngineInfo == nil then + return + end + --ExportScript.Tools.WriteToLog('lEngineInfo: '..ExportScript.Tools.dump(lEngineInfo)) + --[[ + [fuel_external] = number: "0" + [Temperature] = { + [left] = number: "626.99444580078" + [right] = number: "626.99444580078" + } + [RPM] = { + [left] = number: "87.453765869141" + [right] = number: "87.453758239746" + } + [FuelConsumption] = { + [left] = number: "0.1500396137767" + [right] = number: "0.1500396137767" + } + [fuel_internal] = number: "3773.2749023438" + [EngineStart] = { + [left] = number: "0" + [right] = number: "0" + } + [HydraulicPressure] = { + [left] = number: "210" + [right] = number: "210" + } + lPayloadInfo.Stations[7].CLSID == 2BEC576B-CDF5-4B7F-961F-B0FA4312B841 -- ext 1500l Fuel Tank + ]] + + local lTotalFuel = lEngineInfo.fuel_internal + lEngineInfo.fuel_external + + if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then + ExportScript.Tools.SendDataDAC("300", string.format("%d", ExportScript.Tools.round(((lEngineInfo.fuel_internal + lEngineInfo.fuel_external) / 10), 0, "ceil") * 10) ) -- total fuel in kg + + ExportScript.Tools.SendDataDAC("304", (lEngineInfo.fuel_internal < 3200.0 and 1 or 0) ) -- Tank warning 1 + ExportScript.Tools.SendDataDAC("305", (lEngineInfo.fuel_internal < 2800.0 and 1 or 0) ) -- Tank warning 2 + ExportScript.Tools.SendDataDAC("306", (lEngineInfo.fuel_internal < 1390.0 and 1 or 0) ) -- Tank warning 3 + ExportScript.Tools.SendDataDAC("307", (lEngineInfo.fuel_internal < 760.0 and 1 or 0) ) -- Tank warning 4 + --ExportScript.Tools.SendDataDAC("308", (lEngineInfo.fuel_internal < 600.0 and 1 or 0) ) -- Bingo Fuel + end + + if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then + local lTotalFuel_7_5 = 0 + local lTotalFuel_5_0 = 0 + + if lTotalFuel < 7500 then + if lTotalFuel > 5000 then + --[[ + y_min = 0.0 -- minimaler Ausgabewert + y_max = 1.0 -- maximaler Ausgabewert + x_min = 5000 -- minimaler Eingangswert + x_max = 7500 -- maximaler Eingangswert + + x = 6000 -- aktueller Eingangswert + + d_y = 1 -- Delta Ausgabewerte (y_max - y_min) + d_x = 2500 -- Delta Eingangswerte (x_max - x_min) + m = 0.0004 -- Steigung der linearen Funktion (d_y / d_x) + n = -2.0 -- Schnittpunkt der Funktion mit y-Achse (y_max - m * x_max) + + y = 0.4 -- Ergebnis (m * x + n) + ]] + lTotalFuel_7_5 = 0.0004 * lTotalFuel + -2.0 + else + lTotalFuel_7_5 = 0.0 + end + else + lTotalFuel_7_5 = 1.0 + end + if lTotalFuel < 5000 then + --[[ + y_min = 0.04 -- minimaler Ausgabewert + y_max = 1.0 -- maximaler Ausgabewert + x_min = 0 -- minimaler Eingangswert + x_max = 5000 -- maximaler Eingangswert + + x = 3000 -- aktueller Eingangswert + + d_y = 0.96 -- Delta Ausgabewerte (y_max - y_min) + d_x = 5000 -- Delta Eingangswerte (x_max - x_min) + m = 0.000192 -- Steigung der linearen Funktion (d_y / d_x) + n = 0.04 -- Schnittpunkt der Funktion mit y-Achse (y_max - m * x_max) + + y = 0.616 -- Ergebnis (m * x + n) + ]] + lTotalFuel_5_0 = 0.000192 * lTotalFuel + 0.04 + else + lTotalFuel_5_0 = 1.0 + end + + ExportScript.Tools.SendData(301, string.format("%0.4f", lTotalFuel_7_5) ) + ExportScript.Tools.SendData(302, string.format("%0.4f", lTotalFuel_5_0) ) + + ExportScript.Tools.SendData(304, (lEngineInfo.fuel_internal < 3200.0 and 1 or 0) ) -- Tank warning 1 + ExportScript.Tools.SendData(305, (lEngineInfo.fuel_internal < 2800.0 and 1 or 0) ) -- Tank warning 2 + ExportScript.Tools.SendData(306, (lEngineInfo.fuel_internal < 1390.0 and 1 or 0) ) -- Tank warning 3 + ExportScript.Tools.SendData(307, (lEngineInfo.fuel_internal < 760.0 and 1 or 0) ) -- Tank warning 4 + --ExportScript.Tools.SendData(308, (lEngineInfo.fuel_internal < 600.0 and 1 or 0) ) -- Bingo Fuel + end +end \ No newline at end of file