Lorby's AAO (Axis And Ohs)

  • hab es hinbekommen, ich Esel hatte AAO nicht als Admin gestartet :bonk:

    Ich kann nur empfehlen, einen Task (Windows Aufgabenplanung) zu verknüpfen, sodass AAO stets als Admin und ohne weitere (UAC) Abfrage geöffnet wird. Das ist 1 x 2 min Arbeit und befreit auf alle Zeit. übrigens auch automatisiert, z.B. über den Addon-Linker, oder über die exe.xml.


    Hier hab ich mal Screenshots dazu gemacht, Claus-Peter hat das freundlicherweise in die Tipp-Sammlung aufgenommen.

    Herzliche Grüße :)

    Oliver

  • Das kann man in 5 sek. über die Eigenschafter der Verknüpfung machen, schon erledigt.

    Nun, ich wollte halt die darauffolgende Abfrage auch noch unterdrücken, sodass AAO ohne Nachfrage als Admin startet. Aber ja, die Lösung ist kleiner, klappt aber natürlich auch.

    Herzliche Grüße :)

    Oliver

  • Hallo Roland,


    das ist momentan ein großes Problem, nicht nur für dich. Es häufen sich die Beschwerden und wir hoffen, dass die Entwickler (SimWorkStudios) ein Einsehen haben.


    Es gibt hierfür quasi 3 unterschiedliche Workarounds für AAO:

    1. Du verwendest L:ENGINE_Lever_Power_1 (von -1 bis 1 und percent over 100) und lebst damit, dass die Animation nicht stimmt (wohl aber die Funktion).
    2. Du verwendest VJoy, das ich hier vorstellte (aktuelle AAO-Version erforderlich).
    3. Du machst ein BVar-Mapping über
      Lvar: (L:EigenerName, Number)
      BVar Get: (B:SWS_Engine_Lever_Power_1)
      BVarSet: (L:EigenerName, Number) (>B:SWS_Engine_Lever_Power_1_Set)
      Hiernach rufst du die eigene Variable in AAO auf (unter Enter Variable - Bereich -100 bis 100)

    Herzliche Grüße :)

    Oliver

  • Hallo Oliver

    danke für die Antwort, habe gerade gelesen das SWS an diesem Problem arbeitet. Wird wohl bald ein Update kommen, deshalb warte ich noch, mache keine Änderung in den Einstellungen.

    Kenn mich sowieso nicht aus mit den Variablen.

    Viele Grüße


    Roland

  • Guten Tag,


    möglicherweise habe ich etwas verpasst, aber die Suche ergab keinen Treffer.


    Ist es bei euch auch so, dass der Parking Brake indicator (A:BRAKE PARKING INDICATOR, Bool) nicht mehr funktioniert? Die Anzeige hatte ich bislang auf dem SD. Nun sehe ich, dass die Variable in AAO auch nicht mehr gelistet ist. Stattdessen gibt es da nun eine Variable namens (A:PLANE·IN·PARKING·STATE,·Bool), die aber auch nicht funktioniert.

    Herzliche Grüße :)

    Oliver

  • Also ich bin mal in den dev-mode und hab das im Debug-Menü ausgelesen. Die Variable heißt (A:BRAKE PARKING POSITION, bool) und sie funktioniert auch (0/1) - getestet mit AAO.


    Jedoch ist die Variable nicht in AAO zu finden, sehr seltsam. Ich habe das nun mit der entsprechenden Funktion hineingeschossen.

    Es würde mich wirklich mal interessieren, wie das bei Euch ist?

    Bilder

    Herzliche Grüße :)

    Oliver

    Einmal editiert, zuletzt von plerzelwupp ()

  • Hallo Oliver,


    ich bin nicht tief genug drin, sehe aber bei meiner PMDG, dass ich die Parkbreme, im SD mit im Hintergrund laufendem Script von Guenseli, nicht mehr als gesetzt angezeigt bekomme. Im Cockpit ist sie jedoch gesetzt. Ich nutze auch AAO 2.70 seit vorgestern und damit änderte sich dies wie beschrieben. Ich glaube Du bist auf der richtigen Spur.

    Happy Landings

    Michael

  • Hallo Oliver,


    ich bin nicht tief genug drin, sehe aber bei meiner PMDG, dass ich die Parkbreme, im SD mit im Hintergrund laufendem Script von Guenseli, nicht mehr als gesetzt angezeigt bekomme. Im Cockpit ist sie jedoch gesetzt. Ich nutze auch AAO 2.70 seit vorgestern und damit änderte sich dies wie beschrieben. Ich glaube Du bist auf der richtigen Spur.

    danke - ich hab das Problem nun auch im JD Discord-Kanal beschrieben. Möglicherweise gibt es dort eine Antwort von Entwicklerseite.

    Herzliche Grüße :)

    Oliver

  • Hier die Antwort des Meisters, Oliver Binder


    Zitat von Discord

    Ja, das stimmt, die Variable fehlt. Sie funktioniert nur dann, wenn man sie in ein S: Script verpackt, nicht aber nativ. Ich hatte dazu eine Bug Notice auf AVSIM geschrieben.

    Als work around, diese Datei mit "Scripting->Import Events and Variables from file" in AAO reinladen. Dabei am besten einen eigenen Gruppennamen vergeben (AAO fragt danach). Dann kannst Du sie später wieder löschen, wenn sie wieder "offiziell" da sind. Muss man aber nicht machen.

    Dateien

    Herzliche Grüße :)

    Oliver

  • Einen schönen Abend aus Wien, ich bräuchte Eure Hilfe :)

    ich habe ein Potentiometer (so wie den X-touch Schiebe-Poti, nicht die Drehregler). Dieses Potentiometer möchte ich jetzt einer Lichtquelle im FBW A320 zuordnen.Ich habe zum Beispiel in OVHD den Drehpoti "OVHD INTG LT" den ich mit


    x 86·(>K:2:LIGHT_POTENTIOMETER_SET)


    steuern kann, wobei x einen ganzzahligen Wert zwischen 0 und 99 annehmen kann. Wenn ich z.B.


    50 86·(>K:2:LIGHT_POTENTIOMETER_SET)


    in ein Script eingebe und teste, dreht sich der Potentiometer im A320 in Mittelstellung und das Licht des Overhead-Panels leuchtet etwa mit 50 Prozent Helligkeit. Aber wie bringe ich jetzt den Wert (die Stellung) des Potentiometers in den Befehl? Ich bräuchte etwas wie


    (Potentiometer1, number) 86·(>K:2:LIGHT_POTENTIOMETER_SET)


    und dieses "Potentiometer1" wäre dann der Wert, der von der Asigned Axis geliefert wird. Aber wie lautet da der richtige Befehl?

    Danke schon mal im Voraus.

    --

    Grüße aus Wien

    Wolfgang


    Intel Core i7-9700K CPU @ 3.60GHz, 8 Kerne, 64GB, NVIDIA GeForce GTX 1660 SUPER, 2 Monitore (Eizo & Benq)


    CH Products Flight Sim Yoke & Pedals

    HP Reverb G2 VR-Brille

  • Hallo Wolfgang,


    testen kann ich es leider nicht - aber schau mal, hier hat Thomas etwas dazu geschrieben:

    Herzliche Grüße :)

    Oliver

  • Hallo Oliver,

    herzlichen Dank für deine schnelle Antwort. Der Link war nicht genau das, was ich gesucht habe. Weil mein Problem war ja, wie ich den Achsenwert der Potis meines MIDI-Devices in ein AAO-Script bringe. Schließlich habe ich diesen Tipp dann irgendwo gefunden: Meine (falsche) Annahme war, dass man den Poti-Wert wie einen Joystick-Wert ständig überträgt. Tatsächich aber überträgt man nur EINEN Wert, der der momentanen Poti-Stellung entspricht. Dazu verwendet man eine eigene, beliebige L: Variable, die man bei Assigned Axis unter "Enter Variable" eingibt (siehe Bild) unnd dann durch Bewegen des Potis mit dem Steuerelement verbindet. Sinnvoll ist es auch, gleich bei der Achsendefinition die benötigte Werte-Spanne, also hier 0 min und 100 max, anzugeben.

    Im einfachsten Fall schreibt man dann ein Script, das regelmäßig aufgerufen wird, wo der Wert der Variable an die Drehregler-Variable des A320 geschickt wird. Also:

    (L:MS_Pot1,·Number)·86·(>K:2:LIGHT_POTENTIOMETER_SET)

    wobei die 86 den OVHD INTEG LD Drehknopf im Flugsimulator definiert. Die Variable L:MS_Pot1 liefert je nach Potentiometer-Stellung im MIDI-Device einen Wert zwischen 0 und 100.


    Leider ist ja beim Flugsimulator nichts einfach, und da hat mir Dein Link geholfen. Dass der Regler irgendwie eigenartig reagiert, habe ich schnell gesehen, aber dass er das nur bei Eingaben von > 50% macht, - da hätte ich wohl lange herumprobiert. Thomas hat dann einen sauberen Work Around angeboten. Ich habe es mir ein bisschen einfacher gemacht. Da ja der Wert maximal 100 sein kann, teile ich einfach jeden Variablenwert durch zwei und schicke die beiden halben Werte hintereinander an die Flusi-Variable, egal ob größer 50 Prozent oder nicht. "Hälfte" ist bei ungeraden Zahlen mathematisch auch nicht korrekt, ist aber bei einem Drehregler ganz egal, ob er auf 84 oder 85 Prozent eingestellt ist. Da das Drehen des Potis ja nicht zeitkritisch ist, sieht mein Skript jetzt schließlich so aus:

    //Errechne den halben Wert der Differez zwischen momentaner Flusi-Poti-Stellung und Midi-Device Poti-Stellung und lege den Wert in den Speicher

    (L:MS_Pot1,·Number)·(A:LIGHT·POTENTIOMETER:86,·Number)·100·*·-·2·div·near·sp0


    // Addiere den (jetzt nur halben) Wert zur momentanen Flusi-Poti-Stellung

    l0·(A:LIGHT·POTENTIOMETER:86,·Number)·100·*·+·86·(>K:2:LIGHT_POTENTIOMETER_SET)

    //Warte bis sich der Poti gedreht hat

    (SPLIT:900)
    //Schreibe den (halben) Wert nochmals zur aktuellen Poti-Stellung im Flusi.

    l0·(A:LIGHT·POTENTIOMETER:86,·Number)·100·*·+·86·(>K:2:LIGHT_POTENTIOMETER_SET)


    Nochmals Danke für deine Hilfe... jetzt mus ich nur noch die 9 vorhanden Schieberegler beim APCmini sinnvoll belegen :)


    --

    Grüße aus Wien

    Wolfgang


    Intel Core i7-9700K CPU @ 3.60GHz, 8 Kerne, 64GB, NVIDIA GeForce GTX 1660 SUPER, 2 Monitore (Eizo & Benq)


    CH Products Flight Sim Yoke & Pedals

    HP Reverb G2 VR-Brille

  • Hallo Wolfgang,

    sorry, deine Frage ging mir irgendwie durch die Lappen.


    Dein Ansatz ist meiner Meinung nach zu kompliziert.


    a) Das Problem mit dem "drehen in die falsche Richtung" tritt ja nur auf, wenn die Änderung über 50% beträgt. Wenn Du das Poti drehst - wie oft kannst Du da schneller 50% "drehen" als der MSFS das nachzieht? Hast Du es mal "einfach" probiert?

    b) Die Achse einer Variablen zuzuweisen und dann zyklisch ein Script aufzurufen ist nicht der präferierte Weg. Geh' mal wie folgt vor:


    1. Du legst ein Script an mit dem folgenden Inhalt:

    x near 86 (>K:2:LIGHT_POTENTIOMETER_SET)


    Dieses Script speicherst Du ab über "Save as new".

    Anschließend gehst Du an die Stelle mit dem x, löschst das x raus und klickst dann auf den Button "Insert Script Var". Dann wird an der Stelle eine Variable eingefügt, die so genannte Script-Variable. Diese wird später den Wert des Potentiometers beinhalten.


    Dann gehst Du ins Achsen-Assignment, weist dieses Script dem Potentiometer zu und setzt die folgenden Werte:



    Und jetzt mal - testen.


    Bitte dran denken: Wenn der RPN Scripts Editor offen ist, gibt AAO keine Events weiter. Also immer erst den Scripts Editor schließen, bevor Du einen Button oder eine Achse testest...


    Und wenn du dann damit Probleme hast - DANN versuchst Du den Ansatz mit 2 halbe Drehungen statt einer großen...



    Gruß,

    Thomas



    PS: Ich habe das Script in dem anderen Post absichtlich so gebaut, dass es nur 2 halbe Drehungen macht, wenn es wirklich über 50% drehen soll. Du hast ja einen 900ms Delay durch den Split. Wenn Du aber nur eine kleine Drehung hast (sagen wir mal 10%), dann sind die 5% schneller gedreht als die 900ms Delay. Dann ruckelt das ganze etwas. Deshalb hab ich das damals so gebaut...


    PPS: Nach dem Split kannst Du dich NICHT darauf verlassen, dass l0 noch einen gültigen Wert hat. Der könnte durch ein anderes Script überschrieben worden sein! Deshalb lieber eine Variable dafür verwenden...


    Und statt (A:LIGHT·POTENTIOMETER:86,·Number)·100·* kannst Du auch (A:LIGHT·POTENTIOMETER:86,·Percent) schreiben (ja, das war mir damals auch noch nicht klar) :)

  • Hallo Thomas,


    sehr, sehr cool. Danke für diese tollen Tipps (und auch danke an Oliver). Ich habe wirklich so ziemlich das ganze Internet abgegoogelt, aber dieser Weg stand nirgends. Wenn man es weiß, ist es - wie immer - ganz einfach. Ich habe zwar noch nicht die Challenge mit dem halben Drehweg eingebaut, aber da habe ich ja die Anleitung von Dir.

    Dass man da eine "falsche" Variable verwenden muss, abspeichern, dann die Script-Variable... da muss man erst mal darauf kommen.

    Nochmals, herzlichen Dank!

    P.S.: Die Schiebregler beim APCmini sind recht kurz... deshalb dachte ich, dass es sowieso meist mehr als der halbe Schubweg sein wird. Aber du hast recht, so etwas sollte man sauber und nicht quick and dirty lösen.

    PPS.: Dass der Stack auch von anderen Scripts beschrieben wird, wusste ich nicht - wieder etwas gelernt.

    PPPS.: Percent. Ist gelernt :) Danke!

    --

    Grüße aus Wien

    Wolfgang


    Intel Core i7-9700K CPU @ 3.60GHz, 8 Kerne, 64GB, NVIDIA GeForce GTX 1660 SUPER, 2 Monitore (Eizo & Benq)


    CH Products Flight Sim Yoke & Pedals

    HP Reverb G2 VR-Brille

  • Da mir gerade etwas unschönes mit dem PC widerfahren ist möchte hiermit einfach mal auf die Dringlichkeit hinweisen, seine AAO-Daten regelmäßig zu sichern!
    Dazu im Verzeichnis: C:\Users\Beuntzername\AppData\Local den Ordner LORBY_SI kopieren und an sicherer Stelle ablegen.

    Mein PC verabschiedet sich immer mal wieder mit einem CTB (hier bitte keine Diskussion warum oder Lösungsansätze suchen!) und vorgestern hat es mir dabei die USB Geräte mit neuen IDs versehen. Diese "neuen" Geräte kannte AAO nicht und nach dem neuen Einrichten der Geräte in AAO habe ich einen Fehler gemacht (alte IDs gelöscht und neue hinzugefügt, anstatt die alten einfach mit den neuen zu überschreiben), dadurch waren alle Achsen- und Buttonzuordnungen verloren gegangen.

    Zum Glück hatte ich eine Datensicherung von vor 4 Wochen, welche ich widerherstellen konnte. Da waren zwar ein paar wenige Änderungen, welche ich in der Zeit gemacht hatte, nicht drin, aber diese neu zu machen war wenig Aufwand.

    Grüße von EDKF

    Markus

  • Da mir gerade etwas unschönes mit dem PC widerfahren ist möchte hiermit einfach mal auf die Dringlichkeit hinweisen, seine AAO-Daten regelmäßig zu sichern!
    Dazu im Verzeichnis: C:\Users\Beuntzername\AppData\Local den Ordner LORBY_SI kopieren und an sicherer Stelle ablegen.

    Mein PC verabschiedet sich immer mal wieder mit einem CTB (hier bitte keine Diskussion warum oder Lösungsansätze suchen!) und vorgestern hat es mir dabei die USB Geräte mit neuen IDs versehen. Diese "neuen" Geräte kannte AAO nicht und nach dem neuen Einrichten der Geräte in AAO habe ich einen Fehler gemacht (alte IDs gelöscht und neue hinzugefügt, anstatt die alten einfach mit den neuen zu überschreiben), dadurch waren alle Achsen- und Buttonzuordnungen verloren gegangen.

    Zum Glück hatte ich eine Datensicherung von vor 4 Wochen, welche ich widerherstellen konnte. Da waren zwar ein paar wenige Änderungen, welche ich in der Zeit gemacht hatte, nicht drin, aber diese neu zu machen war wenig Aufwand.

    Thomas hat hierzu ein Script geschrieben, damit man per Knopfdruck sichern kann. Ich mache das automatisch nach jeder größeren Änderung. Link such ich raus.

    Herzliche Grüße :)

    Oliver

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!