Ich habe mittlerweile noch ein bißchen weiter daran rumgebastelt und habe dem
Elite FIP Server, also quasi der Verbindungskomplonente zwischen Elite und der Tabletsteuerungssoftware ein paar zusätzliche Funktionen einprogrammiert, welche ich sehr nützlich fand und welche die API auch anbietet, welche dem Server aber bisher gefehlt haben. Das Projekt sieht leider nicht mehr sehr aktiv aus, glücklicherweise wurden aber alle Sourcecodes in Github veröfffentlicht, sodaß ich mir einfach meine eigene Version schreiben konnte
Im Wesentlichen habe ich 2 Funktionen nachgerüstet:
- Bereitstellung der Landepad-Nummer, sowie die Gründe falls der Request verweigert wird, sowie ein paar optimierte Statuswerte.
- Anzeige für Schilde, Hülle und gewähltes Sub-System für das aktuelle Ziel.
Darüber hinaus habe ich noch ein paar Anzeigen und Formatierungen überarbeitet.
So sieht jetzt der neue Landemodus aus:
Docking Request erfolgreich:
oder abgelehnt bzw abgebrochen:
Und angedockt:
Das funktioniert wirklich super zuverlässig, musste dafür 4 neue Events von der API in den Server stricken (DockingGrantedEvent, DockingDeniedEvent, DockingTimeoutEvent und DockingCancelledEvent).
Für meinen Flugmodus habe ich die Panelserver Komponente des Server genutzt und das Nav Template ein bißchen angepasst, das war schon von Haus aus ziemlich cool mit der Routenanzeige, besoners die Animationen:
Der neue Combat Modus gefällt mir auch sehr gut. So sieht er jetzt aus:
Ziel erfasst und gescannt:
Ziel hat Schildschaden:
Schilde des Ziels sind unter 33% (Farbe hat gewechselt bei Ziffern und Hintergrund),
Ziel hat jetzt auch Rumpfschaden, Subsystem Schaden am Antrieb und wieder ein bißchen Schilde (interessanterweise speichert die API den aktuellen Reinitialisierungszustand des Schildes in die gleiche Variable. Mein Ziel hat also nicht 14% Schilde, es hat aktuell gar keine Schilde und ist bei 14% der Reinitialisierung).
Ziel geht es so überhaupt gar nicht gut, alles ist ziemlich beschädigt
Leider muss ich zugeben, daß dieser Teil cooler aussieht als es in der Praxis ist. Der Grund ist, daß die Elite API keine regelmäßigen Statusänderungen während des Kampfes schickt. Nur wenn ein Ziel neu erfasst wird oder man das Subsystem ändert oder so wird ein neues ShipTargetedEvent getriggert welches die Werte enthält und welche man auslesen kann. Die Zahlen bleiben also jeweils eingefroren, bis man man kurz das Subsystem hin un her schaltet, dann aktualisiert sich alles sofort wieder. Leider ist da nicht wirklich was zu machen, da müsste wohl Frontier ran wenn ich das richtig analysiert habe. Ich mag es trotzdem, man kann ja mal schnell das Subsystem zwischendrin flippen, das ist bei mir am Coolie und die Anzeige auf dem Tablet ist besser abzulesen als im Spiel.
Ansonsten ist wirklich genial, daß die ganzen Anzeigen wie Fuel Scooping, Mass lock, FSD Jump, Supercruise usw. alle zuverlässig auf Statusveränderungen im Spiel reagieren, das macht wirklich Laune. Wenn das Spiel also ein Event generiert, dann kommt das auch jeweils sehr zeitnah an der entsprechenden Funktion an. Wenn nicht, dann ist leider wenig zu machen. Etwas frustrierend sind da besonders die Tankanzeigen. Das Spiel schickt leider in keinem der Events den Maximalwert des Treibstofftanks mit, nur die aktuell vorhandene Menge und auch nur immer in Tonnen und nicht in Prozent. Sicher steckt der verbaute Tank in irgendeinem anderen Event aber das wird in diesem Verlauf einfach nicht generiert und da man also nicht auslesen kann wie groß der aktuelle Tank ist, kann man auch keinen Fortschrittsbalken berechnen und füllen. Selbst das Reservoir (der keine dünne Balken der sich aus dem Haupttank füllt) ist intern scheinbar in Tonnen gespeichert. Daher habe die stattdessen halt die Anziege des Haupttanks in Tonnen ohne Balken eingebaut. Ist auch nützlich, vor allem wenn man sieht wie die Zahl hochzählt wenn man scoopt oder runtergeht wenn man springt.
Ich denke ich lasse das jetzt erst mal so