AutoSpeed: Added

This commit is contained in:
Sidi Liang 2020-01-17 20:54:53 +08:00
parent 1f74743633
commit 03f57ecc6e
3 changed files with 90 additions and 4 deletions

70
Nasal/auto_speed.nas Normal file
View File

@ -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;
}

View File

@ -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){

View File

@ -315,9 +315,13 @@
<desc>Toggle right indicator light</desc>
</key>
<key>
<name>c</name>
<name>e</name>
<desc>Toggle auto-pilot system</desc>
</key>
<key>
<name>c</name>
<desc>Toggle auto-cruise system</desc>
</key>
<text>
You can select the message to be displayed on the bar, through the "Follow Me E > Select message" menu.
</text>
@ -554,6 +558,15 @@
</key>
<key n="99">
<name>c</name>
<desc>toggleSpeedHold</desc>
<repeatable>false</repeatable>
<binding>
<command>nasal</command>
<script>autospeed.toggleSpeedHold();</script>
</binding>
</key>
<key n="101">
<name>e</name>
<desc>toggle_auto_pilot</desc>
<repeatable>false</repeatable>
<binding>
@ -679,9 +692,12 @@
<autopilot>
<file>Aircraft/followme_e-tron/Nasal/auto_crash.nas</file>
</autopilot>
<musicplayer>
<autospeed>
<file>Aircraft/followme_e-tron/Nasal/auto_speed.nas</file>
</autospeed>
<!--<musicplayer>
<file>Aircraft/followme_e-tron/MusicPlayer/musicplayer.nas</file>
</musicplayer>
</musicplayer> -->
<dialogs>
<file>Aircraft/followme_e-tron/gui/dialogs/config.nas</file>
</dialogs>