Othello 549 Posted March 12, 2020 Share Posted March 12, 2020 Als ich das Script entwickelte, habe ich nur den Betriebsstundenzähler (Hobbs time) gesichert. Als dann der Bug erkannt wurde, der in der KingAir 350 ab und zu den Luftdruck falsch abspeicherte, sowie den Bug bedingt durch Rundungsfehler, habe ich die Druckwerte und Höhenangabe ebenfalls weggeschrieben, aus Faulheit jedoch den Namen der Funktion nicht geändert. In Lua werden aufrufbare Funktion durch das Schlüsselwort function definiert. Es gibt vordefinierte Funktionen, wie z.B. floor(), und man kann Funktionen selbst definieren. function say_something(the_text) -- beginn der definition durch das Schlüsselwort function print(the_text) end -- ende Funktionsdefinition Aufgerufen werden Funktionen durch ihren Namen, gefolgt von einem Klammerpaar, welche an die Funktion zu übergebende Parameter enthalten kann. Gibt es keine Übergabeparameter, ist die leere Klammer trotzdem zu schreiben: Bsp.: math.floor(value) say_something("Hello world") save_hobbstime() Ansonsten empfehle ich dir, das Manual von FlyWithLua zu lesen, und da FlyWithLua auf Lua basiert, auch die Manuals über die Lua Syntax und Bibliotheken. https://usermanual.wiki/Document/FlyWithLuaManualen.2077559390/html https://www.lua.org/pil/5.html https://www.lua.org/docs.html EDIT: Für Erbsenzähler (wie mich): Beim Programmieren unterscheidet man zwischen Prozeduren und Funktionen. Funktionen sind Prozeduren, welche ein Ergebnis liefern, wie z.B. floor(). x = math.floor(144.3) In Lua gibt es diese Unterscheidung nicht. Funktionen müssen keinen Wert zurückbringen, sondern können wie Prozeduren behandelt werden, wie z.B. die oben definierte Funktion say_something(). Link to comment Share on other sites More sharing options...
Coverdale 33 Posted March 12, 2020 Share Posted March 12, 2020 Hallo FlyAgi, danke für die Info, das habe ich auch so gemacht, alles von hobbsfile nach file geändert. @Othello, komme schon gut voran und lese diesbezüglich auch Manuals. Kenne einige Befehle, wie z. B. floor, aus meinem beruflichen Umfeld, das wird schon werden. Und wenn ich nicht mehr weiter weiß, gibt es hier ja nette Menschen, die mir mit Rat und Tat zur Seite stehen. Deshalb noch mal danke, danke, danke. Gruß, Coverdale P.S.: Nur so zur Info: Da ich noch nicht online Fliege, bin ich schon seit längerem dran, mit dem Spracherkennungsprogram VoiceAttack zu fliegen. Das funktioniert sehr gut und ich erweitere immer mehr meine Aussprache mit dem benötigten Flugfunk. Um das in diesem Programm zu verarbeiten, fehlen mir halt immer noch Sprachbefehle, die das Programm erkennt. Ich wunder mich nur, das es scheinbar sehr wenig "Piloten" gibt, die das Programm verwenden. Link to comment Share on other sites More sharing options...
Coverdale 33 Posted March 26, 2020 Share Posted March 26, 2020 Hallo Fluggemeinde, ich habe so einige Sachen, die ich brauche, mit Lua hinbekommen. Nun habe ich noch folgendes Problem: Ich habe z.B. hPa 1013 aus X-Plane ausgelesen und in das andere Programm eingefügt. Wenn ich nun den Wert ausspreche (für meine Sprachsteuerung), versteht das Programm mich nicht, weil ich nicht Eintausend und dreizehn sage, sondern alle Zahlen ja einzeln spreche (eins, null, eins, drei). Hierfür müßte ich den Wert mit Leerzeichen auslesen, also 1 0 1 3. Gibt es hierfür eine Möglichkeit in Lua? Gruß, Coverdale Link to comment Share on other sites More sharing options...
Coverdale 33 Posted April 1, 2020 Share Posted April 1, 2020 Hallo Piloten, ich habe mein letztes Problem selbst lösen können. Dabei ist mir folgendes aufgefallen: DataRef ("Altimeter", "sim/weather/barometer_sealevel_inhg") Transponder = dataref_table ("sim/cockpit/radios/transponder_code", "writable") Woran liegt es, das man manche DataRef´s als dataref_table auslesen kann und andere nicht? Grüße, Coverdale Link to comment Share on other sites More sharing options...
Othello 549 Posted April 1, 2020 Share Posted April 1, 2020 Du kannst eigentlich alle Dataref als array (Table) auslesen. Gibt es nur einen Wert innerhalb der Dataref, dann ist eben nur der Index 0 erlaubt, also z.B. Transponder[0]. Oder Altimeter = dataref_table("sim/weather/barometer_sealevel_inhg") if (Altimeter[0] == ..... Gab es diesbezüglich einen Fehler? Link to comment Share on other sites More sharing options...
Coverdale 33 Posted April 1, 2020 Share Posted April 1, 2020 Hallo Othello, nein, es gab keinen Fehler, ich hatte erst die Daten über dataref_table aufgerufen und hatte dann in einem anderen script festgestellt, das es auch anders geht (so wie in Zeile 1). Daraufhin habe ich versucht, die Daten (nach Zeile 1) zu ändern und habe dann festgestellt, das es z.B. mit Transponder nicht funktioniert. Nun überlege ich, das ganze wieder rückgängig zu machen, da es meiner Meinung nach übersichtlicher ist, wenn alles gleich gehalten wird. Deshalb war meine Frage, warum das so ist, bin ja schließlich noch am lernen, mit Lua zu programmieren. Link to comment Share on other sites More sharing options...
Othello 549 Posted April 1, 2020 Share Posted April 1, 2020 Der Entwickler von FlyWithLua empfiehlt dataref_table. Warum? Siehe dazu: Link to comment Share on other sites More sharing options...
Coverdale 33 Posted April 1, 2020 Share Posted April 1, 2020 Hallo Othello, vielen Dank für die Hilfe und den link, hatte ihn auch schon mal gelesen aber auch schon wieder vergessen. Also schreibe ich es wieder um nach dataref_table. Gruß, Coverdale Link to comment Share on other sites More sharing options...
Coverdale 33 Posted April 14, 2020 Share Posted April 14, 2020 Hallo Zusammen, habe mal wieder eine Frage: Kann man die benötigten Frequenzen für Delivery, Ground, Airport, usw. über Datarefs bzw. FlyWithLua in Dateien schreiben? Kann diesbezüglich keine Datafefs finden, wie wird das in X-Plane gehändelt? Und geht das auch mit der Position am Airport? Gruß, Coverdale Link to comment Share on other sites More sharing options...
Othello 549 Posted April 15, 2020 Share Posted April 15, 2020 Es gibt im Netz Beschreibungen zu den Datarefs, die solltest du dir einmal vronehmen. Ich verwende (leider erst seit kurzem) das Dataref Tool anstelle des Dataref Editors. Damit kann man sich geänderte Dataref anzeigen lassen. Das ist eine große Hilfe beim Suchen nach unbekannten Datarefs. Link to comment Share on other sites More sharing options...
Coverdale 33 Posted April 15, 2020 Share Posted April 15, 2020 Danke Othello, werde mal das Tool ziehen. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.