Lorby's AAO (Axis And Ohs)

  • Hallo

    seit heute, mit dem Update der Kodiak 100 funktioniert mein Throttle nicht mehr. Hatte vorher Throttle1_axis_set_ex1. Bekomme es nicht hin.

    In der neuen Version History für die Kodiak 100 folgende Änderung:


    -Modified throttle lever code and re-animated


    kann mir da jemand helfen ?



  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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.

  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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?

  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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.

  • 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


    Add me:

    MSFS-Name: plerzelwupp 
    Discord: plerzelwupp#4818

  • 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

Jetzt mitmachen!

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