GerDA, deutsches EDDI Profil

  • GerDA - ist ein deutsches Profil für das Tool EDDI


    Installation:


    • GerDA herunterladen
    • EDDI herunterladen und installieren:

      • als VoiceAttack-PlugIn: in das Apps Verzeichnis (steht unter VA-Options->General->AppsFolder)
      • als Stand alone: irgendwohin


    • Die heruntergeladene GerDA*.json in das Verzeichnis %APPDATA%\EDDI\personalities kopieren. (gelben Text im Explorer öffnen)
    • EDDI bzw. VoiceAttack starten. (VA mit aktivierten PlugIns)
    • Im Installationsverzeichnis liegt ein Voice Attack Profil (EDDI.vap),
      das unter anderem ein Kommando zum Öffnen von EDDI aus VA heraus enthält. (Wenn als PlugIn verwendet)


    Jetzt ist GerDA im Pulldown des "Sprach Antwort" Tab auswählbar.
    Sollte bei einem erneuten EDDI-Start immer das Std-Profil geladen werden, kann dieses Verhalten
    durch kopieren des Charakters (mittlerer Button, untere Leiste) behoben werden.


    Feedback gerne hier unten..


    Grüße
    -------
    Linkssammlung:
    EDDI: github.com
    EDDI Personality GerDa: snafets.de
    Cottle-Doku: http://r3c.github.io/cottle/#toc-2
    deutsche SAPI 5 Stimmen (Auszug):

  • Hi My Lord :D ,


    ... bist Du noch dabei, und aktualisiert "deine GerDa" ?
    Mir ist auf gefallen, dass das angesagte Alter der Sterne nicht stimmt.
    Im Journal wird das Alter mit "Age_MY" angegeben gefolgt von einer drei- oder
    vierstelligen Ziffernfolge. "Age_MY" bedeutet Alter in Millionen Jahren.
    Im Skript fehlen aber die "Millionen" ;) . Ich hab's bei mir korrigiert, aber "GerDA"
    steht ja noch bei http://snafets.de/elite/eddi_scripts/index.php?show=28 in der Liste.


    Vielen Dank jedenfalls für deine Mühe mit den Übersetzungen !


    Gruß nepo :sm1:

  • Hi My Nepomuk,


    danke für den Hinweis. Ist korrigiert.
    Derzeit finden bei EDDI ja größere Umwälzungen statt, was auch an den wackligen Betas zu erkennen ist.
    Manche Scripte funktionieren deshalb derzeit nicht wie früher.
    Es werden zum Beispiel oftmals die Variablen für den Test nicht mehr belegt.
    Hoffe das wird wieder.


    Weil EDDI jetzt aber fast Vollständig lokalisiert ist, (Danke und Respekt für Deine, CMDR homunk und CMDR DrWers Arbeit)
    werde ich mir die Skripte noch mal genauer ansehen.
    GerDA wird wahrscheinlich erheblich abspecken können. :lol:


    Aber weil wir gerade beim Thema sind...
    Ich versuche schon seit einer Weile die Leuchtklasse in den Star report mit aufzunehmen.
    Die Variablen {Spacialise(reportbody.luminosityclass)} hierfür werden in römisch 1-6 ausgegeben.
    Es gelingt mir ums verrecken nicht, die in arabische Ziffern umzuwandeln.



    Hast du eine Idee? Leuchtklasse V klingt einfach doof. :think:
    Grüße, your Lord


  • Und wenn du einfach mal "eins" bis "sechs" nimmst? und für den Rest "Unbekannt".

    19087.png

    "Mit dummen Menschen zu streiten, ist wie mit einer Taube Schach zu spielen.

    Egal, wie gut du Schach spielst, die Taube wird alle Figuren umwerfen, auf das

    Brett kacken und herumstolzieren, als hätte sie gewonnen."

  • Cocco schrieb:

    Und wenn du einfach mal "eins" bis "sechs" nimmst? und für den Rest "Unbekannt".


    Das Problem ist, Cocco, im Journal stehen die römischen Zeichen drin und die müssen erkannt und übersetzt werden.
    Aus dem Journal bastelt sich EDDI seine Variablen zusammen. Muss irgendwie ne Vergleichstabelle hineinbauen,
    die den Text erkennt und dann entsprechend umsetzt ... :sm39:
    Na da ham wa (alle Interessierten) doch wieder eine Aufgabe ;)


    Gruß nepo :sm1:


    hier mal ein Star-Scan-Beispiel im Journal:
    { "timestamp":"2018-05-24T21:14:20Z", "event":"Scan", "ScanType":"Detailed", "BodyName":"Seliacha", "BodyID":0, "DistanceFromArrivalLS":0.000000, "StarType":"K", "StellarMass":0.429688, "Radius":427959168.000000, "AbsoluteMagnitude":7.773132, "Age_MY":4212, "SurfaceTemperature":3741.000000, "Luminosity":"Va", "RotationPeriod":195836.484375, "AxialTilt":0.000000, "Rings":[ { "Name":"Seliacha A Belt", "RingClass":"eRingClass_MetalRich", "MassMT":8.0954e+13, "InnerRad":7.0613e+08, "OuterRad":1.8896e+09 } ] }

  • Also ich habe schon ewig nichts mehr programmiert (Seit dem C64 :lol: ) und aktuell keine Ahnung von der Syntax und Befehlsstruktur, aber ich würde mir vorstellen, daß man hier eine Abfrage in etwa so gestaltet:


    Wenn Text = Luminosity dann
    Lese Zeichen nach ":"
    und speichere diese bis
    " folgt
    Dann teste ob gelesenes = Va (Beispiel aus dem Text - Andere Vergleiche mit den ganzen Möglichkeiten müssten wohl eingebaut werden)
    Wenn JA dann ändere Text in 5a und gebe das aus
    und so weiter...


    Keine Ahnung ob das so funktioniert, und ob es nicht zu viel Performance oder Speicher kostet, aber da es wohl sehr viele verschiedene Leuchtklassen gibt, wäre das der einzige mir vorschwebende Weg.


    Fly Safe
    Kolumbus

  • Hallo Lord,


    also wenn ich könnte, würde ich Dir gerne helfen ... leider verstehe ich die Variablenvergabe in EDDI nicht so ganz :think:


    Mal kurz erläutert, was ich meine:
    * dein "star report" ist ja kein Event von EDDI, sondern ein Skript, das über ein Event (hier "star scanned") aufgerufen wird
    * im "star report" arbeitest Du mit der Variablen "reportbody" . Wo kommt die Variable her ? Warum heißt sie so und nicht anders ?
    * mit dem Hinzufügen von Name oder Stellarclass zu reportbody (reportbody.name / reportbody.stellarclass) greifst Du auf den
    Event star scanned vom Journal und den darin enthaltenen Variablen zurück, richtig ?
    * hängt wahrscheinlich mit dem SetState-Befehl zusammen, verstehe ich aber nicht :(
    * mit VA scheint mir das einfacher, wäre aber wahrscheinlich eher "von hinten durch die Brust ins Auge" oder so ähnlich
    * mit VA gibt es den Event ((EDDI star scanned)), dort kannst Du dann alle generierten Variablen nutzen
    z.B. {TXT:EDDI star scanned luminosityclass} weiter behandeln, vergleichen usw. ...


    Vielleicht kannst Du kurz in ein paar Zeilen erläutern, wie das bei EDDI in den Sprach-Skripten funktioniert.


    Gruß nepo :sm1:

  • Cmdr Lord Blackjack hat doch Translate-Module bei sich eingebaut, um engl.Begriffe einzudeutschen.


    Mir so einem Translate-Modul könnte man doch die römischen Zahlen als Wort ausgeben. Oder zu aufwendig?

    19087.png

    "Mit dummen Menschen zu streiten, ist wie mit einer Taube Schach zu spielen.

    Egal, wie gut du Schach spielst, die Taube wird alle Figuren umwerfen, auf das

    Brett kacken und herumstolzieren, als hätte sie gewonnen."

  • Cocco schrieb:

    Und wenn du einfach mal "eins" bis "sechs" nimmst? und für den Rest "Unbekannt".


    Hi Cocco,
    So ähnlich sollte das eigentlich auch funktionieren.
    Wenn die Variable mit I oder II oder III... belegt ist, wird die entsprechende Ziffer ausgegeben.
    Im Beispiel von LFT 926 B (das ist der Standard-Test-Stern) ist das römisch 5.
    Zutreffen sollte also: |elif Spacialise(reportbody.luminosityclass) = "V" : 5
    Dummerweise wird das "V" nicht erkannt und EDDI (oder GerDa, oder wer hier Schuld ist)
    springt in den |else: Zweig und spuckt mir das V unverändert aus. :sm23:


    nepo schrieb:


    hier mal ein Star-Scan-Beispiel im Journal:
    { "timestamp":"2018-05-24T21:14:20Z", "event":"Scan", "ScanType":"Detailed", "BodyName":"Seliacha", "BodyID":0, "DistanceFromArrivalLS":0.000000, "StarType":"K", "StellarMass":0.429688, "Radius":427959168.000000, "AbsoluteMagnitude":7.773132, "Age_MY":4212, "SurfaceTemperature":3741.000000, "Luminosity":"Va", "RotationPeriod":195836.484375, "AxialTilt":0.000000, "Rings":[ { "Name":"Seliacha A Belt", "RingClass":"eRingClass_MetalRich", "MassMT":8.0954e+13, "InnerRad":7.0613e+08, "OuterRad":1.8896e+09 } ] }


    Wenn zu den Leuchtkraftklassen jetzt noch die Spektralklasse dazukommt, müsste man das also vorher nochmal von einander trennen.
    Aber eins nach dem anderen... Zunächst sollte es bei LFT 926 Beta funktionieren.


    KOLUMBUS schrieb:


    Keine Ahnung ob das so funktioniert, und ob es nicht zu viel Performance oder Speicher kostet, aber da es wohl sehr viele verschiedene Leuchtklassen gibt, wäre das der einzige mir vorschwebende Weg.


    Wegen der Performance sehe ich eigentlich keine Probleme. Da werden im Commodity Script ganz andere Kaliber verarbeitet.
    Da konnte ich bis jetzt noch keine Delays oder ähnliches feststellen.


    Werde mich mal wieder ins Spiel begeben und ein paar Sterne scannen...

  • Alles klar, die römixhe 5 wird also nicht erkannt. Da muss ich leider passen.

    19087.png

    "Mit dummen Menschen zu streiten, ist wie mit einer Taube Schach zu spielen.

    Egal, wie gut du Schach spielst, die Taube wird alle Figuren umwerfen, auf das

    Brett kacken und herumstolzieren, als hätte sie gewonnen."

  • nepo schrieb:

    Hallo Lord,


    also wenn ich könnte, würde ich Dir gerne helfen ... leider verstehe ich die Variablenvergabe in EDDI nicht so ganz :think:
    [...]


    Hi nepo,


    Im großen und ganzen verwende ich in GerDa die Variablen aus den original Scripten.
    Wie die Vergabe im einzelnen funktioniert, das hat sich mir bis jetzt auch noch nicht vollständig erschlossen.
    Aber wenn ich das richtig verstanden habe, werden die Event Daten beim Scan in die sqlite geschrieben und sind ab da
    über {event.xyz} abrufbar. Die Daten sind auch in anderen Scripten vorhanden, so lange diese aus dem Event Skript aufgerufen werden.


    Mit der Einführung der statischen Variablen (state.eddi_irgendwas), mussten die Daten von event auf reportbody übergeben werden.
    Ich denke mal um Kollisionen zu umgehen oder so etwas. Prinzipiell funktioniert das dann aber genauso wie im Event Script.


    Von der "von hinten durch die Brust ins Auge" Methode will ich vorerst absehen. Dann würde man für GerDa zwangsläufig auch
    VoiceAttack verwenden müssen, damit das so funktioniert. Stand allone ginge dann nicht mehr.


    Aber das muss doch... :sm23:

  • Vorab - ich liebe kurze Beschreibungen


    Problem bei mir in EDDI 3.0.1.4b ist:
    es gibt kein Verzeichnis EDDI/SpeechResonder\eddi,json zur Personalisierung gem Wiki EDDI
    es gibt kein Verzeichnis %APPDATA%\EDDI\personalities gem. Anleitung GerDA
    Auswahl über EDDI nicht möglich


    Anlage der Unterverzeichnisse, Ablage der GerDa in allen Verzeichnissen war erfolglos.
    :sm12:


    Bitte Installationsanleitung ergänzen oder einem alten Mann näher erklären / ergänzender Hinweis :sm30:

  • Hallo CMDR DrWer,


    Ok, dann mal im Steno-Stil ;) (gilt alles für meine Installation)


    * alte Version deinstalliert, EDDI-Verzeichnis in VA wurde bei mir autom. gelöscht, wenn nicht, "von Hand" löschen
    * eigene Charakter-Datei im "personality"-Verzeichnis sichern
    * EDDI-Verzeichnis im User-Pfad löschen
    * neue Version (ganz normal, Doppelklick auf die exe) installiert
    * meine Installationsorte (Defaultinstallation von VA und EDDI, keine Installationsorte extra benannt oder ausgewählt)

      VA = c:\Program Files (x86)\VoiceAttack\
      EDDI (Haupt) = c:\Program Files (x86)\VoiceAttack\Apps\EDDI\
      EDDI (User) = c:\Users\UserName\AppData\Roaming\EDDI\
      c:\Users\Flitzipaldi\AppData\Roaming\EDDI\personalities\


    Ich hoffe, dass hilft dir. Habe das, wie oben beschrieben, in letzter Zeit wegen der Beta
    ziemlich oft gemacht und hat immer funktioniert.


    Gruß nepo :sm1:


  • Danke erstmal für die Hinweise ! :sm30:
    Ich glaube, ich habe da ein bisschen 'was verwechselt und bin immer von den Namen im Journal ausgegangen,
    dem ist ja aber nicht so. Ich habe mir mal den "Hilfe"-Text und den "Variablen"-Text in EDDI angesehen und da
    haben sich ein paar Sachen geklärt, z.B. warum "stellarclass" obwohl es im Journal "StarType" heißt ...
    Das heißt also EDDI benutzt andere Namen als im Journal, blöd is' aber so, ok.
    Jetzt, wie ist der "Werdegang" zu den Variablen
    Nehmen wir mal dieses Beispiel hier:


    Trigger: Star scanned
    ...
    Scan, des {event.stellarclass}-Klasse Sterns, {P(event.name)} abgeschlossen.
    ...


    Der Event wird erkannt durch den Journal-Eintrag "event":Scan" . In der EDDI-Variablen-Beschreibung findet man hierzu
    die Variable "Body" mit verschiedenen Werten wie "type", "name", "stellarclass" ect. ...
    Eigentlich müsste doch im oberen Beispiel {body.stellarclass} stehen, aber damit geht es nicht. Wie ist da der Zusammenhang ?
    Ziemlich undurchsichtig, jedenfalls für mich.


    Aber nochmal zu deinem Problem. Mit {event.stellarclass} werden doch auch einzelne Buchstaben erkannt. Das gleiche muss es
    doch sein bei der Leuchtklasse {event.luminosityclass} ? Die Funktion Spacialise() wird in der Anleitung mit event verknüft ... :think:
    Star luminosity class: {Spacialise(event.luminosityclass)}.


    Beispiel eine Scan-Eintrages im Journal:
    { "timestamp":"2018-05-25T19:56:05Z", "event":"Scan", "ScanType":"Detailed", "BodyName":"ICZ KX-T b3-1", "BodyID":0, "DistanceFromArrivalLS":0.000000, "StarType":"M", "StellarMass":0.355469, "Radius":373326048.000000, "AbsoluteMagnitude":8.650330, "Age_MY":3082, "SurfaceTemperature":3273.000000, "Luminosity":"Va", "RotationPeriod":146315.656250, "AxialTilt":0.000000 }


    Schade, muss jetzt weg, sehr interessant ...


    Gruß nepo :sm1:


  • Freut mich, dass es jetzt klappt :D


    Guten Flug CMDR, Gruß nepo :sm1:

  • Also ich habe jetzt auch mal EDDI installiert. Von der Installation her wars problemlos und es läuft auch sauber mit VA. Man muß halt seine Zugangsdaten eingeben, damit die API von FD abgefragt werden kann, ich hoffe die werden nur Lokal auf meinem Rechner gespeichert und landen nicht auch noch auf irgendeinem Server...


    Kann es sein das mein keinen Zugriff auf die Modulkonfiguration im Modulemenue hat? Falls da jemand Variablen kennt, bitte mitteilen... Danke...

  • Tomski [BBfA] schrieb:

    Also ich habe jetzt auch mal EDDI installiert. Von der Installation her wars problemlos und es läuft auch sauber mit VA. Man muß halt seine Zugangsdaten eingeben, damit die API von FD abgefragt werden kann, ich hoffe die werden nur Lokal auf meinem Rechner gespeichert und landen nicht auch noch auf irgendeinem Server...


    Kann es sein das mein keinen Zugriff auf die Modulkonfiguration im Modulemenue hat? Falls da jemand Variablen kennt, bitte mitteilen... Danke...


    Sorry, was meinst Du mit "Modulemenü" ? Kenne ich nicht bei EDDI. Es gibt da nur ein Schiffe-Menü (Schiffe Monitor).
    Dort kann man sein Schiff zu coriolis oder shipyard exportieren. Über VA kann man über einen Befehl seinen
    Schiffsausbau anzeigen lassen und mit diesen Variablen spielen (wenn man möchte). Den Befehl zum Anzeigen/Auslesen
    des Schiffsausbaus bei VA findes Du in der EDDI.vap . In VA Edit a Profile dann unten links Import command und EDDI.vap
    auswählen. Dann bekommt man eine ganze Liste von Befehlen. Befehle mit ((EDDI xxx)) kannst Du in VA importieren
    und mit entsprechenden Befehl ausführen. Liste der verbauten Module z.B. gibt es über ((EDDI: ship compartment variables)).
    War es das, was Du meintest ?


    Gruß nepo :sm1:


  • Meiner Erfahrung nach, werden die Einträge aus dem Journal auch nicht immer 1zu1 ausgelesen,
    sondern meistens noch durchaus sinnvoll Formatiert.


    Wie so oft, steck der :twisted: im Detail. In dem Fall auch noch unsichtbar.
    Hinter dem "V" verbirgt sich noch ein fieses Leerzeichen! Wenn ich das berücksichtige, funktioniert es.
    Jetzt weiß ich natürlich nicht, ob das in allen Fällen so ist, oder nur im Test Beispiel.
    Werde {Spacialise(reportbody.luminosityclass)} also vorher unter Umständen trimmen müssen.
    Mit Voice Attack geht das ganz einfach: {TXTTRIM:variableName / value}
    Bei Cottle muss man da erst mal durchsteigen: http://r3c.github.io/cottle/#toc-3.3


    Zumindest ist jetzt der Wurm raus. :sm25:


    Danke für deine Hilfe und Grüße

  • Hi Nepo,


    die Variablen die die verbauten Module anzeigen habe ich gesehen und die funktionieren auch super. Wenn sich aber am Schiff was ändert, wie z. B. ich nehme einen Schildbooster raus und baue einen Düppel ein, dann ändert sich im Modulmenue die ganze Reihenfolge (Mit Modulmenue meine ich - rechtes Menue > Module - dort wo ich Module aktivieren/deaktivieren/synthetisieren kann), da dort die Module nach Energieverbrauch sortiert sind. D. h. das Modul das vorher an Position 10 war ist jetzt vielleicht an Position 9 und ein Makro das mit diesen Posoitonen arbeitet würde nicht mehr korrekt ausgeführt.


    Könnte ich jetzt die Modulreihenfolge auslesen, könnten die Makros mit dynamischen Variablen arbeiten und das Makro greift je nach Schiffskonfiguration immer auf die richtige Position zu. Auch das auslesen der aktuellen Schildzellenmenge, Düppel, Kühlkörper etc. habe ich auch nicht gesehen, möglicherweise gibts die eben nicht... falls doch... für Informationen bin ich dankbar... :daumen:


    Alles in allem ist EDDI sehr gelungen... :daumen:


    NACHTRAG: Leider habe ich auch keine Variablen für die Werkzeugsteckplätze gefunden.