thorsten10 0 Posted December 31, 2016 Share Posted December 31, 2016 Moin moin, ich besitze ein Airbus Homecockpit und steige gerade vom P3D auf XPLANE 11 um. Ich habe mich schon etwas mit den Datarefs etc. beschäftigt. Das ist aber für einen alten FSX-Hasen alles Neuland. Ich möchte, dass die beiden Master-Warning Buttons, die sich auf der Captain-Seite und der FO-Seite befinden, jeweils autonom gesteuert werden. Das soll heißen, dass der Captain oder der FO sie jeweils auf der entsprechenden Cockpitseite betätigen können. Deshalb habe ich die Buttons wie folgt in der initial_assignments.lua Datei konfiguriert. create_switch( (12*40) + 6, "sim/custom/xap/indicators/mastwarn" ) create_switch( (12*40) + 1, "sim/custom/xap/indicators/mastwarn" ) Aber es tut sich nichts, wenn ich einen der Buttons betätige. Nehme ich einen der beiden Einträge aus der initial_assignments.lua heraus, funktioniert alles. Ich hoffe, Ihr versteht, was ich meine.... Hat jemand einen Tip? Und noch eine Frage.... beteht die Möglichkeit VRI-Hardware über LUA in XPLANE zu nutzen.... Mit der VRI-Software sind die Möglichkeiten ja stark eingeschränkt und Linda ist ja nur für FSX/P3D. VG, Thorsten Link to comment Share on other sites More sharing options...
Hüpper 95 Posted January 1, 2017 Share Posted January 1, 2017 Hallo Thorsten, die beiden create_switch() geben widersprüchliche Zuweisungen zu einer Zeit weiter. Ich habe mich selber erst an diesem WE an Fly with Lua heran gewagt, so kann meine Behauptung auch sehr gewagt sein. Du könntest es mit create_positive_edge_trigger() und/oder create_negative_edge_trigger() probieren. Laut Handbuch geben diese beiden nur im Moment des Drückens, bzw. Loslassens des Buttons einen "Impuls" an das Dataref weiter. create_switch() ist im Gegensatz zu obigen zwei ein Dauerfeuer für jeweils pushed und released. So lese ich das zumindest aus der Doku heraus. Ahoj -Uwe Link to comment Share on other sites More sharing options...
X-Friese 34 Posted January 3, 2017 Share Posted January 3, 2017 Ja, das stimmt so. Ein Switch, also ein Schalter, feuert permanent in jedem Frame gemäß seinem aktuellen Zustand. Mit einem Trigger könnte man das umgehen, aber warum nicht einfach dem Knopf ein Kommando zuordnen? Spoiler set_button_assignment(12*40+1, "sim/annunciator/clear_master_warning") set_button_assignment(12*40+6, "sim/annunciator/clear_master_warning") Ein DataRef "indicator" wäre normalerweise auch nur lesend nutzbar, da der Zustand eines Anzeigers nicht direkt geändert werden sollte. Der Flieger könnte die Änderung nicht mitbekommen und fehlerhaft reagieren. Link to comment Share on other sites More sharing options...
thorsten10 0 Posted January 3, 2017 Author Share Posted January 3, 2017 Danke Euch beiden, ihr habt mir das verständlich gemacht. Allerdings bin ich noch blutiger Anfänger und muss mich erstmal mit dem Zuweisen von commands näher beschäftigen, bzw. die Trigger-Variante verstehen. Könnte ich ein Beispiel von Euch bekommen? Anhand eines eigenen Beispiels werde ich das sicher besser verstehen und hinbekommen. VG, Thorsten Link to comment Share on other sites More sharing options...
Hüpper 95 Posted January 4, 2017 Share Posted January 4, 2017 Hallo Thorsten, als trigger wäre es bestimmt dieser Code (ich bin selber noch am einlesen in diese Materie) (die Annahme das mastwarn beschreibbar und ein int/bool ist) create_postive_edge_trigger(( (12*40) + 6, "sim/custom/xap/indicators/mastwarn" , 0, 1) create_negative_edge_trigger(( (12*40) + 6, "sim/custom/xap/indicators/mastwarn" , 0, 0) create_postive_edge_trigger(( (12*40) +1, "sim/custom/xap/indicators/mastwarn" , 0, 1) create_negative_edge_trigger(( (12*40) + 1, "sim/custom/xap/indicators/mastwarn" , 0, 0) als command in etwa so local pMasterWarn = XPLMFindDataRef("sim/custom/xap/indicators/mastwarn") create_command( "FlyWithLua/MasterWarn/Clear Captain", "Clear Master Warning CPT", "XPLMSetDatai(pMasterWarn, 1)", "XPLMSetDatai(pMasterWarn, 1)", "XPLMSetDatai(pMasterWarn, 0)" ) create_command( "FlyWithLua/MasterWarn/Clear FO", "Clear Master Warning FO", "XPLMSetDatai(pMasterWarn, 1)", "XPLMSetDatai(pMasterWarn, 1)", "XPLMSetDatai(pMasterWarn, 0)" ) aber die eleganteste Möglichkeit kommt von X-Friese (unter dem Osterei versteckt) und seine Warnung beachten Ahoj -Uwe Link to comment Share on other sites More sharing options...
thorsten10 0 Posted January 4, 2017 Author Share Posted January 4, 2017 Danke, aber wenn ich es so mache, wie X-Friese es geschrieben hate, also set_button_assignment(12*40+1, "sim/annunciator/clear_master_warning") set_button_assignment(12*40+6, "sim/annunciator/clear_master_warning") bekomme ich immer LUA STOPPED.... Link to comment Share on other sites More sharing options...
Hüpper 95 Posted January 5, 2017 Share Posted January 5, 2017 hier muss ich passen. Unter XP 10.51 stürzt mir LUA mit diesen beiden Anweisungen nicht ab. BTW. ich habe einen kleine copy/paste typo in meinem letzten trigger Beispiel eingebaut. Es gibt ein Klammer "(" zu viel . Mittlerweise weiß ich, das hier der Button # angegeben wird. Daher kann man die Klammern für diese Berechnung auch weg lassen. Ich hoffe X-Friese kann hier einspringen .... Ahoj -Uwe Link to comment Share on other sites More sharing options...
X-Friese 34 Posted January 5, 2017 Share Posted January 5, 2017 Für eine Beurteilung benötige ich mindestens die Log.txt und die FlyWithLua_Debug.txt aus dem Hauptverzeichnis von X-Plane. Und das betroffene Script wäre auch sinnvoll. Sonst kann ich nur raten. Meine Glaskugel sagt, im Script ist Syntaxfehler. Aber das sagt sie immer wenn keine Informationen vorliegen. Link to comment Share on other sites More sharing options...
thorsten10 0 Posted January 5, 2017 Author Share Posted January 5, 2017 Ich habe XP11 und fliege den JAR A330. Deshalb habe ich mir die beiden Datarefs für Master Caution und Master Warning mittels DataRefEditor ausgelesen. Ich habe sie so in die initial_assignments.lua geschrieben: set_button_assignment( (12*40) +1, "sim/custom/xap/indicators/mastcaut" ) set_button_assignment( (12*40) +6, "sim/custom/xap/indicators/mastwarn" ) Mit set_button_assignment bekomme ich LUA STOPPED angezeigt. Mit create_switch.... funktioniert es. Mache ich es so, wie X-Friese es im Osterei versteckt hat, dann bekomme ich zwar kein LUA STOPPED, aber es funktioniert nicht, weil es ja nicht die Datarefs sind, die der A330 erkennt. Ich würde gerne mit dem DataRefTool arbeiten, weiß aber nicht, wie ich es installiert bekome. Die englischen Anleitungen bringen mich nicht weiter. Habt Ihr da einen Tipp für mich? Log.txt FlyWithLua_Debug.txt Link to comment Share on other sites More sharing options...
Hüpper 95 Posted January 5, 2017 Share Posted January 5, 2017 Hallo Thorsten, was bin ich froh, hier nicht der einzige Neue zu sein (Ich komme auch aus der FSX Ecke und beschäftige mich seit ein paar Wochen mehr mit XP) Für das DataRefTool brauchst Du das "MS Visual Studio 2015 Redistributable" (Das ist die Laufzeitbibliothek für MS C/C++ Programme) Du kannst unter Systemsteuerung/Programme nachschauen, ob die bereits auf Deinem Rechner installiert ist. Microsoft Visual C++ 2015 ... (x64) ... Falls nicht installiert, dann gehe zu https://www.microsoft.com/de-DE/download/details.aspx?id=48145 Du kannst hier beide (32/64bit) installieren. Die 64bit ist allerdings Pflicht. Danach hier vorbeischauen https://github.com/leecbaker/datareftool/releases die neueste Version "DatarefTool_2016,zip zeihen. Das Teil entpacken Unter X-Plane\Resources\Plugins Erstelle diese Ordner DataRefTool mit den Unterordnern 32 und 64 In DataRefTool kopiere aus dem zip die mac.xpl In das 64 kommen die beiden lin.xpl und win.xpl Das 32 bleibt leer XP starten und im Menüpunkt Plugin sollte DataRefTool aufgeführt werden. Bitte denke immer daran, Du nutzt X-Plane 11 in einer Beta Version. Diese Plugin mag laufen, oder auch nicht. Eventuell liegen Deine Probleme mit Fly With Lua zum Teil auch daran Tue Dir einen gefallen und füge Dein Script zu den Logs. Ahoj -Uwe Link to comment Share on other sites More sharing options...
thorsten10 0 Posted January 6, 2017 Author Share Posted January 6, 2017 Vielen Dank, Uwe. Leider scheint das DataRefTool mit XP11 noch nicht zu funktionieren Link to comment Share on other sites More sharing options...
X-Friese 34 Posted January 14, 2017 Share Posted January 14, 2017 Hier steckt die Erklärung: FlyWithLua Info: Start loading script file Resources/plugins/FlyWithLua/Scripts/initial_assignments.lua FlyWithLua Error: The Command "sim/custom/xap/indicators/mastcaut" does not exist. FlyWithLua Error: The Command "sim/custom/xap/indicators/mastwarn" does not exist. FlyWithLua Info: Finished loading script file Resources/plugins/FlyWithLua/Scripts/initial_assignments.lua FlyWithLua Error: The error seems to be inside of script file Resources/plugins/FlyWithLua/Scripts/initial_assignments.lua Mit set_button_assignment() kann man ein Kommando zuweisen, wer stattdessen ein DataRef auf einen Joystick Knopf legen möchte erhält eine Fehlermeldung. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.