diff --git a/Nasal/auto_speed.nas b/Nasal/auto_speed.nas new file mode 100644 index 0000000..fa851c4 --- /dev/null +++ b/Nasal/auto_speed.nas @@ -0,0 +1,70 @@ +#//Auto speed system by Sidi Liang +print("Auto speed system loaded"); +var active = 0; +var targetSpeed = 0; +var autoSpeedMainLoop = func(){ + var currentSpeed = props.getNode("/", 1).getValue("sim/multiplay/generic/float[15]"); + var deltaSpeed = targetSpeed - currentSpeed; + var throttle = 0; + var brakes = 0; #//range from 0 to 1; + if(deltaSpeed > 0){ + throttle = deltaSpeed / targetSpeed; + }else if(deltaSpeed <= -1.852){ + throttle = 0; + brakes = (0 - deltaSpeed) / targetSpeed; + }else{ + throttle = 0; + } + props.getNode("/",1).setValue("/controls/engines/engine/throttle", throttle); + props.getNode("/",1).setValue("/controls/gear/brakes-left", brakes); + props.getNode("/",1).setValue("/controls/gear/brakes-right", brakes); +} + +var autoSpeedTimer = maketimer(0.05,autoSpeedMainLoop); + +var startAutoSpeed = func(){ + autoSpeedTimer.start(); + active = 1; +} + +var stopAutoSpeed = func(){ + autoSpeedTimer.stop(); + active = 0; +} + + +var toggleAutoSpeed = func(){ + if(!autoSpeedTimer.isRunning) + { + startAutoSpeed(); + props.getNode("/sim/messages/copilot",1).setValue("ze dong chao sue see tong yee tse yung. Auto Speeding System Activated!"); + } + else + { + stopAutoSpeed(); + props.getNode("/sim/messages/copilot",1).setValue("ze dong chao sue see tong yee guan bee. Auto Speeding System is off."); + } +} + +var toggleSpeedHold = func(){ + if(!autoSpeedTimer.isRunning) + { + startAutoSpeed(); + targetSpeed = props.getNode("/", 1).getValue("sim/multiplay/generic/float[15]"); + props.getNode("/sim/messages/copilot",1).setValue("bao chie chao sue see tong yee tse yung. Keep Speeding System Activated! Target Speed: "~sprintf("%.1f", targetSpeed*1.852)); + } + else + { + stopAutoSpeed(); + props.getNode("/sim/messages/copilot",1).setValue("bao chie chao sue see tong yee guan bee. Keep Speeding System is off."); + } +} +var targetSpeedChange = func(speed){ + if(autoSpeedTimer.isRunning){ + autoSpeedTimer.stop(); + targetSpeed = speed; + autoSpeedTimer.start(); + return 0; + } + targetSpeed = speed; +} \ No newline at end of file diff --git a/Nasal/engine.nas b/Nasal/engine.nas index 742c793..085f5d2 100644 --- a/Nasal/engine.nas +++ b/Nasal/engine.nas @@ -85,7 +85,7 @@ var Engine = { if(angularSpeed + totalAcceleration * 0.1 > 10){ angularSpeed = angularSpeed + totalAcceleration * 0.1; }else if(angularSpeed + totalAcceleration * 0.1 < 10){ - #print("angularSpeed + totalAcceleration * 0.01 < 10"); + #print("angularSpeed + totalAcceleration * 0.1 < 10"); angularSpeed = angularSpeed + angularAcceleration * 0.1; } }else if(me.getDirection() == -1){ diff --git a/followme_e-tron-set.xml b/followme_e-tron-set.xml index 84ed1ba..7bef7b1 100644 --- a/followme_e-tron-set.xml +++ b/followme_e-tron-set.xml @@ -315,9 +315,13 @@ Toggle right indicator light - c + e Toggle auto-pilot system + + c + Toggle auto-cruise system + You can select the message to be displayed on the bar, through the "Follow Me E > Select message" menu. @@ -554,6 +558,15 @@ c + toggleSpeedHold + false + + nasal + + + + + e toggle_auto_pilot false @@ -679,9 +692,12 @@ Aircraft/followme_e-tron/Nasal/auto_crash.nas - + + Aircraft/followme_e-tron/Nasal/auto_speed.nas + + Aircraft/followme_e-tron/gui/dialogs/config.nas