Othello 549 Posted February 12, 2016 Share Posted February 12, 2016 Solange X-Plane nicht mehr als 10 Sichten speichern kann, behelfe ich mir mit einem Script. Beschreibung (copy des Script-Headers, script steht als Anhang zur Verfügung): -- -- Script zum Speichern und Verwenden von 3D Cockpit Ansichten -- -- Es ist von Vorteil, die 10 Standard-Views von X-Plane ebenfalls über dieses Script zu verwenden, -- dadurch wird in den meisten Fällen das Toggeln von Sichten beim mehrmaligen Aufruf derselben Sicht ermöglicht -- -- "save standardview X" und "load standardview X" ( X : Nummer von 0 - 9) -- Setzt/lädt die 10 X-Plane Sichten -- "save view X" und "load view X" ( X : Nummer von 0 - 9) -- Setzt/lädt weitere 10 Sichten -- -- Die neuen Sichtspeicher können bei Bedarf bis auf 100 Speicherplätze erweitert werden -- Dazu ist die Variable used_priv_views anzupassen und der Kommandosatz zu erweitern -- -- ACHTUNG!! Ich benutze die Variable planeref um für jeden Flieger eine eigene Datei zu ermöglichen -- Dies muss bei Bedarf geändert werden Gruß Othello B200_views.lua Link to comment Share on other sites More sharing options...
X-Friese 34 Posted February 13, 2016 Share Posted February 13, 2016 Mit einer for Schleife kannst du dir die Arbeit wesentlich erleichtern. Führe einfach den Befehl assert(loadstring(s))() aus und setze als String s = [[create_command("FlyWithLua/views/load_std_view_]]..i..[[", "load u.s.w. http://www.lua.org/manual/5.1/manual.html#pdf-loadstring Link to comment Share on other sites More sharing options...
Othello 549 Posted February 13, 2016 Author Share Posted February 13, 2016 Danke! Das bedeutet, daß lua Daten als Programmcode ausführen kann :-) Damit könnte man sich selbstmodifizierende Programme schreiben ... Dann baue ich das Script gleich mal um und setze die X-Plane Views an den Anfang. Dadurch reicht dann eine Änderung der Variablen "used_priv_views" um eine "beliebige" Anzahl der Sichten einzustellen :-) Wenn ich dann noch an den Anfang der Datei die Anzahl der gespeicherten Sichten schreibe, lassen sich bei einer Änderung der Anzahl schon vorhandenen Sicht-Dateien weiter verwenden. Na dann mal los ... Gruß Günther Link to comment Share on other sites More sharing options...
X-Friese 34 Posted February 13, 2016 Share Posted February 13, 2016 Die Programmiersprache Lua ist eine Skriptsprache. In der Regel können sich Skripte selbst reproduzieren bzw. können selbst Code generieren und ausführen. Ich mache bei den HUD Befehlen regen Gebrauch davon, denn es wird eine Datei mit Endung .txt durch die HUD Befehle erzeugt, die dann eingelesen, compiliert und ausgeführt wird. Anstatt eine Datei zu schreiben hätte man auch direkt einen String erzeugen können (dessen Länge ist ja nicht limitiert), aber ich fand es lehrreicher und besser zu debuggen, wenn man den Code im Texteditor noch zusätzlich anschauen kann. Neben Lua kann auch Python sich selbst verändern, also Code erzeugen oder sogar Funktionen neu definieren. C/C++ kann das in dieser Einfachheit leider nicht. Warum habe ich dann nicht Python verwendet und stattdessen FlyWithLua erfunden, wo ich doch beruflich Python einsetze? Es war mir zu komplex (die do_ Funktionen wie do_every_frame() gibt es in Python z. B. so nicht), die Ausführung ist langsamer und der Code muss vom externen Python Interpreter verarbeitet werden, der Nutzer muss also zusätzlich zu den Skripten noch 1. das Python Interface von Sandy Barbour und 2. Python selbst in der passenden Version installieren. Link to comment Share on other sites More sharing options...
Othello 549 Posted February 13, 2016 Author Share Posted February 13, 2016 Im Anhang befindet sich die neue Version! ----------------------------------------------------- Was Du da schreibst klingt spannend. Ich habe mich in meiner Laufbahn nie wirklich um Scriptsprachen gekümmert, sondern habe mich hauptsächlich mit C/C++ befasst. (Klar, in jungen Jahren nat. mit Basic, Pascal und Assembler) Aber im Zusammenhang mit X-Plane und FlyWithLua kommt man einfach nicht darum herum :-) Dank Dir für dieses wirklich wertvolle Tool! B200_views.lua Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.