From bf2f61ec4a9e63a209b22d7c176dc5059a9359ff Mon Sep 17 00:00:00 2001 From: Sidi Liang <1467329765@qq.com> Date: Sat, 5 Nov 2022 23:04:28 +0800 Subject: [PATCH] Systems: fixed the issue of resetting into incorrect elevation by using fgcommand for repositioning --- Nasal/systems.nas | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Nasal/systems.nas b/Nasal/systems.nas index 0938b54..00c613f 100644 --- a/Nasal/systems.nas +++ b/Nasal/systems.nas @@ -501,17 +501,23 @@ var calculateSpeed = func(){ var calculateSpeedTimer = maketimer(0.1, calculateSpeed); var resetOnPosition = func(){ - var latProp = props.getNode("/position/latitude-deg"); - var lonProp = props.getNode("/position/longitude-deg"); - var lat = latProp.getValue(); - var lon = lonProp.getValue(); - setprop("/fdm/jsbsim/simulation/pause", 1); - setprop("/fdm/jsbsim/simulation/reset", 1); - var groundAlt = props.getNode("/position/ground-elev-ft").getValue(); - props.getNode("/position/altitude-ft").setValue(groundAlt+7); - latProp.setValue(lat); - lonProp.setValue(lon); - setprop("/fdm/jsbsim/simulation/pause", 0); + var lat = props.getNode("/position/latitude-deg").getValue(); + var lon = props.getNode("/position/longitude-deg").getValue(); + setprop("/sim/presets/carrier", ""); + setprop("/sim/presets/parkpos", ""); + setprop("/sim/presets/airport-id", ""); + setprop("/sim/presets/runway", ""); + setprop("/sim/presets/runway-requested", 0); + props.getNode("/sim/presets/latitude-deg").setValue(lat); + props.getNode("/sim/presets/longitude-deg").setValue(lon); + fgcommand("reposition"); + + #//The old method, kept for educational purposes + #//var groundAlt = props.getNode("/position/ground-elev-ft").getValue(); + #//setprop("/fdm/jsbsim/simulation/reset", 1); #This will position the aircraft back to the initial spawn point + #//props.getNode("/position/altitude-ft").setValue(groundAlt+7); + #latProp.setValue(lat); + #lonProp.setValue(lon); } var brakesABS = func(){