[MOD] Verbesserte Ausrüstungsdocks (vAD) [eingestellt, Derivate verfügbar]

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

alles wrote:

Code: Select all

<RetVar/If>get all global variable Keys, starting with=<Var/String>
habe aber noch nicht getestet, was der genau macht.
Ja, bei diesem werde ich aus dem "starting with" nicht schlau. Jedenfalls, egal mit was ich es dort versucht habe, bekam ich NULL als Ergebnis.



Nachdem ich aber verschiedene Ideen begonnen habe, um mehr oder weniger kurz darauf zu bemerken, dass dies so nich funktioniert ... hab ich gestern Nacht noch ne Eingebung erhalten, die mir einen Workaround ermöglichen dürfte: und zwar eine Kombination aus einem Script mit globalem Array, sowie einem Script zum abreißen und an derselben Stelle neu aufbauen eines bestehenden HQ.
User avatar
Wolf13
Posts: 3726
Joined: Sat, 20. Mar 04, 22:15
x3ap

Post by Wolf13 »

Kann man nicht eine Liste aller HQ`s ( oder das zuletzt Gebaute ) manuell erstellen und dann im `richtigen` HQ in einem Kommandoslot ein Script starten, das alle Blueprints in den anderen HQ`s kopiert und überträgt.
Kann man auch selber per Hand ausführen, da so viele ja nicht gekauft werden und wenn man mal ans Bauen geht, kann man damit die Liste aktualisieren.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Wolf13 wrote:... ein Script starten, das alle Blueprints in den anderen HQ`s kopiert und überträgt.
Nein, dadurch da Egosoft dies ihn ihren Befehlssätzen nicht berücksichtigt hat nicht. Man kann bei den Befehlen, welche die Blaupausen betreffen, (bisher) keine Station angeben, welche dieser Befehl beeinflussen soll.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Tja, hier nun ein Doppelpost ... aber für ein Edit war mir der Inhalt dann doch zu Umfangreich.

Für den geplanten Workaround gibt es ein Script, welches ein HQ abbricht und an derselben Stelle neu errichtet, und bereits so ziemlich einige Abfragen mitbringt um möglichst einen Klon entstehen zu lassen (Position, Sektor, Hülle, Schildstärke, Waren + Menge + Preis, Freund-/Feind Einstellungen, Geld ... gedockte Schiffe docken vor Zersörung ab, um Kollateralschaden zu vermeiden). Und ein weiteres, welches etwa alle 5 Minuten das HQ auf neue Schiffspläne prüft, und gegenenfalls neue Pläne in einem globalen Array speichert um sie auf einem neueren HQ ohne diese Pläne wieder laden zu können. Funktioniert soweit ganz gut.

Allerdings können die vAD's erst gar keine Schiffspläne speichern, wie ich feststellen musste. Die Ursache liegt wohl in der hq.xml, da ich die <blueprints>-Tags entfernt hatte. Ein nachträgliches wiedereinfügen, führte allerdings nicht zum Erfolg. Weder bei bestehenden vAD's, noch bei im Anschluss neu gebauten vAD's wurden die Blaupausen gespeichert.
Scheinbar liegt es also auch an anderen Faktoren, womöglich der deaktivierten Schiffswerft, da dadurch die Blaupausen nicht angezeigt werden. Jedenfalls macht dieser Umstand das zweite Script so ziemlich "sinnlos".

Somit bleibt als bisherige Lösung nur, nach jedem Bau eines vAD, ein bestehendes HQ neu errichten zu lassen. Dazwischen gekaufte Blaupausen gehen dabei aber dennoch verloren. Für das erste Script fehlt mir noch das GUI, um es starten zu können.

Eine Frage bleibt mir allerdings noch offen:
Lord Morpheus wrote:Habe allerdings einen kleinen Bug entdeckt. Der ist darin begründet, dass die Stationen als HQs gelten und auch eine entsprechende Kennung erhalten. Man kann, sobald man eine dieser Stationen besitzt, Think Missionen annehmen durch die man Blaupausen erwirbt.
@Lord Morpheus
Hast du wirklich nur vAD's gehabt, oder doch schon auch ein HQ? Es kann am Zufall liegen, oder daran dass ich nur "THINK-Missionen" gesucht habe, in welchen man Blaupausen kaufen kann. Ich weiß nicht, ob man die auch mit anderen Missionen als Belohnung erhält.

Jedenfalls ist es mir nicht vorgekommen, dass ich ohne ein HQ eine Blaupause zum Kauf angeboten bekommen hätte.

Ich bitte dich daher noch um Bestätigung, dass du Blaupausen über THINK-Missionen definitiv angeboten bekommen hast, ohne dass du auch nur ein originale Hauptquartier bereits besessen hast.
jadmanthrat
Posts: 695
Joined: Sat, 22. Apr 06, 14:07
x3tc

Post by jadmanthrat »

hi saetan,
dass man blaupausen ohne HQ angeboten bekommt kann ich definitiv bestätigen, da ich noch nicht einmal den HUB-Plot fertig habe und schon blaupausen kaufen kann :idea:
greetz
User avatar
Wolf13
Posts: 3726
Joined: Sat, 20. Mar 04, 22:15
x3ap

Post by Wolf13 »

War bei mir ähnlich, dass ich Dutzende Blaupausen gekauft habe bevor ich das HQ errichtet habe ( Lämpchen ) und dann im HQ festgestellt habe, dass da eine Buster zum Bau war und nichts anderes vorhanden war.
Kann man wohl nur vor dem Bau des HQ genau planen wo man die `speziellen` Docks hinstellt und sie dann auch errichtet haben, bevor man sich als Letzes das HQ hinstellt.
Falls man den Hub normal durchspielt, hat man da ja auch genug Zeit für die Planung.
Headhunter84
Posts: 54
Joined: Sat, 7. Feb 09, 10:57
x4

Post by Headhunter84 »

Moin Moin

Mal ne frage gibts ein script für TC, wo man alle Schffe-Blueprints zu HQ auf einmal hinzufügen kann?

Im SE hab ich ja schon gefunden "add Blueprints to PlayerHQ".
Hab aber keine Lust alle Schiffe einzel hinzu zu fügen und vom Scripten hab ich noch nicht allzuviel Plan.

Hat jemand so ein Script oder kann mir da weiter helfen?

:gruebel: :gruebel: :gruebel: :gruebel:
MoSII
Posts: 504
Joined: Fri, 24. Jun 05, 16:07
x3tc

Post by MoSII »

bei cycrows cheatpacket gibts so eine funktion glaub ich.
Headhunter84
Posts: 54
Joined: Sat, 7. Feb 09, 10:57
x4

Post by Headhunter84 »

bei cycrow´s da muss man aber alle schiffe einzeln auswählen und hinzufügen.
Ich will aber alle schiffe-Blueprints auf einmal hinzufügen und nicht jedes einzeln.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Headhunter84 wrote:bei cycrow´s da muss man aber alle schiffe einzeln auswählen und hinzufügen.
Ich will aber alle schiffe-Blueprints auf einmal hinzufügen und nicht jedes einzeln.
Da es hierbei nichts mit meinem Mod zu tun hat ... eine entsprechende Funktion welche einem alle Schiffsentwürfe ermöglicht, ohne sie davor selbst besessen zu haben, werde ich bestimmt nicht einbauen ... wende dich bitte in/an einen passenden Thread.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Heute habe ich die auf Scripten basierende WorkAround-Lösung für die Problematik mit den Schiffsentwürfen fertig gestellt. Auch können in (neu gebauten) GKS-Versorgungsbasen nun nur noch GKS repariert werden, und keine anderen Schiffstypen mehr.

Changelog
1.4-beta.5.1: WorkAround-Scripte hinzugefügt, zudem ist durch diese Änderung (noch) keine englische Sprachdatei
vorhanden. Weiters können in der GKS-Versorgungsbasis nur noch Großkampfschiffe repariert werden.

Download
Verbessertes Ausrüstungsdock (1.4-beta.5.1)
ReadMe im PDF-Format
T'hul-Nok Razna
Posts: 124
Joined: Tue, 25. Mar 08, 23:04
x3ap

Post by T'hul-Nok Razna »

Hab mir mal das WorkAround durch gelesen. Ist es daher möglich, das ein Script quasi das orig. HQ abreist und neu aufbaut?
Halt wenn irgendwas auf dem HQ (Rohstoffe, Geld, ect) war, das dies ebenfalls (in diesem Sinne als interner Cheat) wieder einfügt?
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Saetan wrote:
alles wrote:

Code: Select all

<RetVar/If>get all global variable Keys, starting with=<Var/String>
habe aber noch nicht getestet, was der genau macht.
Ja, bei diesem werde ich aus dem "starting with" nicht schlau. Jedenfalls, egal mit was ich es dort versucht habe, bekam ich NULL als Ergebnis.
Nur kurz dazu: Ich habe mal folgendes eingegeben: get all global variable Keys, starting with='E' und habe dann einen Array der globalen Variablen bekommen, die mit E starten.

Was ich mich schon die ganze Zeit frage: Wieso korrigierst du nicht endlich mal den Threadtitel zu "Verbesserter Ausrüstungsdock"? =)

Ansonsten: Schöne Mod, Danke!

MfG,
ScRaT
Moser
Posts: 139
Joined: Fri, 12. Dec 08, 06:58

Post by Moser »

Hi Saetan,

blick nicht so richtig, was macht die neueste version (ausser nur noch GKS reparieren zu lassen)?

Moser
User avatar
Wolf13
Posts: 3726
Joined: Sat, 20. Mar 04, 22:15
x3ap

Post by Wolf13 »

Steht in der Read me.
Der Workaround, um die Blaupausen, die man kauft oder vielleicht bekommt auch im HQ zur Verfügung zu haben.
Falls man nach Aufstellen des HQ eine Station aus der Sammlung des vAD Mods errichtet, klappte das nicht mehr.

1. Script speichert alle erhaltenen Blaupausen, damit dann ein durch das 2. Script abgerissenes und neu aufgebautes HQ nach spätestens 10 min wieder alle bis dato erhaltenen Blaupausen zur Verfügung.

So kann man es einrichten, dass das HQ immer das letzte `HQ` ist und man dort auch die Blaupausen zugefügt bekommt.

Da hätte ich auch eine kleine Frage.

Wenn man das zweite Script ausführt, sollten ja keine Schiffe gedockt sein, aber wie sieht es da zB. mit einem Bauauftrag aus.
Sollte da auch kein aktiver vorhanden sein ?
Denke mir mal, dass eine Reperatur auf jeden Fall abgeschlossen sein sollte, da das Schiff so halb gedockt ist und dann wohl zerstört wird, aber bei einem Bauaufrtrag bin ich mir nicht sicher.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Wie Wolf13 bereits richtig erläutert hat. Durch diese Version werden zwei Scripte mit eingefügt. Das erste Script läuft (sobald es in einem HQ oder vAD über die Stationskommandos gestartet wurde) im Hintergrund, und prüft alle 10 Minuten ob im (zuletzt gebauten) HQ Schiffsentwürfe existieren. Ist dem so, werden die vorhandenen Pläne in eine globale Variable gespeichert.

Wenn nun nach einem Hauptquartier ein vAD gebaut wird, kann dies keine Schiffsentwürfe speichern und neu gekaufte Pläne gingen dadurch verloren.

Aus diesem Grund gibt es das zweite Script. Dieses reißt ein bestehendes Hauptquartier ab, und errichtet es an derselben Position (Sektor, Koordinaten, Rotation) neu. Wiederhergestellt werden dabei bisher die Credits, die Waren + Anzahl + Preis, Stationshülle, -schilde und Name. Angedockte Schiffe werden vor dem Abriss automatisch abgedockt.
Stationseinstellungen müssen nach Errichtung wieder angepasst werden, evtl. davor laufende Scripte neu gestartet. Auch eventuelle Heimatfrachter müssen neu zugewiesen werden. Es ist geplant, zu einem späteren Zeitpunkt dies weiter zu automatisieren. Vorerst wollte ich aber eine grundsätzlich laufende Funktion online stellen.

Durch das erste Script werden dann die Pläne aus der globalen Verwaltung wieder ins HQ eingefügt. Möglich, dass ich in einer späteren Version beim Neu-Aufbau des HQ direkt aus der globalen Variablen einfügen lasse.

Hier hake ich bei Wolf13 ein ... ich muss gestehen, soweit habe ich nicht gedacht ... aber solange X³ das zu reparierende Schiff als angedocktes (Völker-)Schiff behandelt, dürfte das HQ nicht abgerissen werden. Ein im Bau befindliches oder zu zerlegendes Schiff dagegen, wird wohl verloren gehn ... weiß noch nicht, ob ich in einer späteren Version dies Scripttechnisch abfangen könnte.



@T'hul-Nok Razna
Sämtliche Waren und Geldmittel die im HQ eingelagert waren, werden wiederhergestellt. Da das alte dabei vernichtet wird, sehe ich das nicht als Cheat. Man gewinnt weder etwas dafür, noch verliert man etwas dafür. Es dient lediglich die volle Nutzbarkeit eines HQ wiederherzustellen.

Als Cheat kann es lediglich verwendet werden, wenn man mehrere HQ's besitzt. Auf die Art könnte man die Schiffsentwürfen auf allen HQ's synchronisieren. Diese Verwendung wäre wohl als Cheat zu werten.



@ScRaT
Deinem Einwand mit der Umbenennung kann ich nich folgen ... es heißt das Dock und nicht der Dock. Und auch die Mehrzahl wäre mit deinem Vorschlag nicht richtig benannt.

Fakt ist: der Name passt schon seit jener Version nicht mehr, in welcher die ersten zusätzlichen Stationen dazu gekommen sind. Da mir kein besserer Name einfällt, belasse ich es aus "Tradition" somit beim Ursprungsnamen ;-)

Danke für deinen Hinweis/deine Aufklärung bzgl. des Scriptbefehls.


PS: Wer in (neu gebauten) GKS-VB weiterhin auch Kleinschiffe reparieren möchte, könnte weiterhin die Vorgänger cat/dat's verwenden, zusammen mit den neuen Scripten. Diese Kombination wird zwar offiziell nicht unterstützt, müsste aber funktionieren.
T'hul-Nok Razna
Posts: 124
Joined: Tue, 25. Mar 08, 23:04
x3ap

Post by T'hul-Nok Razna »

Ne, mir ging es eher darum, ob das abbauen, Waren transferieren automatisch abläuft. Ich versteh es so, das dies manuell ausgeführt werden muss.
Aber da ich gerad seh, das dies (Heimatfrachter, Schiffe im bau, ect) noch als Problem da steht. Ist dieser Weg im mom. un umgänglich.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Gut, zur genaueren Erläuterung des Ablaufes der WorkAround Scripte:

Die globale Verwaltung der Blaupausen überprüft gleichzeitig, ob Blaupausen auf dem HQ gespeichert werden können. Anhand dieser Information kann sie feststellen, ob das zuletzt gebaute HQ auch tatsächlich ein HQ ist.
Wenn die Pläne nicht aus der globalen Variable gespeichert werden konnten, und ein richtiges HQ existiert, bietet es dir in einer Rückfrage an, ob du das HQ erneuern lassen möchtest.

Wenn du hier Nein wählst, lässt es die Finger von deinen Stationen, prüft regelmäßig weiter, meldet sich aber nicht mehr von sich aus.
Du hast dann die Möglichkeit, zu einem selbstgewählten Zeitpunkt, das HQ über das "vAD-Kommandoterminal" in den Stationskommandos eines echten Hauptquartieres neu errichten zu lassen. Daher mein Ausdruck des "manuellen" ausführens.

Wenn du in der Abfrage Ja wählst, oder die Erneuerung über das vAD-Kommandoterminal manuell startest, erhälst du eine Auswahl aller deiner echten HQ's (durch Scripte und andere Mods ist man ja in der Lage, mehrere zu besitzen). Vom gewählten HQ werden dann wie bereits erwähnt: Sektor, Position, Rotation, Name, Hülle und Schildstärke, angebotene Waren inkl. Menge und Preis, vorhandene Geldmittel und Schiffsentwürfe (wohlgemerkt unter scripttechnischen Möglichkeiten ... ist die zuletzt gebaute Station ein vAD wird der Inhalt dieser Abfrage leer sein, daher die globale Verwaltung der Schiffsentwürfe) gesichert. Bevor das HQ abgerissen wird, wird noch geprüft, ob Schiffe angedockt sind und diesen der Befehl gegeben, abzudocken.

Erst dann wird das HQ abgerissen, und mit den gesicherten Einstellungen 1:1 wiederhergestellt.

Heimatfrachter und Scripte müssen im Anschluss neu gestartet werden (allzu häufig sollte der Fall, das HQ neu errichten lassen zu müssen, ja aber nicht vorkommen).

Wenn noch Schiffe im Bau oder in der Zerlegung sind, sollte mit dem erneuern noch zugewartet werden. Je nach Auftrag kann dies zwar ne Weile dauern, allerdings lässt sich dies durch zeitliche Planung beim Bau von vAD's umgehen. Abgesehn davon, dass es ungeschickt ist, Schiffe zwecks Entwurfgewinn in einem nicht zuletzt gebauten HQ zerlegen zu lassen. Diese Blaupause kann nämlich auch nicht in die globale Verwaltung gesichert werden.

Schiffe welche gerade repariert werden, müssten als angedocktes Schiff gelten, die Erneuerung würde somit erst nach Beendigung der Reparatur durchgeführt.

Die Erneuerung des HQ dauert einige Sekunden, und wird nach erfolgter Durchführung mit einer einkommenden Nachricht, sowie einem Logbuch-Eintrag qutiert.

Ebenfalls mit einem Logbuch Eintrag werden das Hinzufügen von Schiffsentwürfen in die globale Verwaltung, sowie auch zurück in ein HQ bestätigt.
Lord Morpheus
Posts: 764
Joined: Thu, 15. Dec 05, 21:27
x3tc

Post by Lord Morpheus »

Ich muß leider schon wieder einen Bug melden. Dein Script bewirkt in der einen extremen Perfomance-Einbruch bei mir. In der neuesten Version 5.1 ist es noch viel extremer. Ich habe es nicht gleich gemerkt, da ich gleichzeitig noch andere Scripte installiert habe. Doch nach ausführlichen Tests kann ich definitiv sagen, dass es an deinem Script liegt.
Aufgefallen ist es mir im System Aladnas Hügel. Bin dort zum Südtor gesprungen um einen Komplex zu errichten. Geschätze 0,2 fps (Ja richtig alle 5 Sekunden ein Bild) wenn ich vom Tor ins Sektor Zentrum schaue. Schaue ich zum Planeten läuft das Spiel relativ flüssig (Position immer noch am Südtor). In Herzenslicht habe ich einen Komplex mit knapp 30 Stationen. Bin ich im System und schaue zum Komplex sinken die fps Zahlen ebenfalls auf unspielbare Werte. Zusätzlich stockt selbst die Sprunganimation, bei jedem beliebigen Hypersprung.
Also habe ich die Beta 5.1 deinstalliert und die beta 4 wieder installiert. Ergebnis Aladnas Hügel geschätzte 10-15 fps. Nicht toll aber auf jeden Fall wieder spielbar. Sprungtoranimation stockt nicht mehr und Komplexe kann ich mir auch wieder anschauen, wenn auch mit wenigen fps.
Nun habe ich alles komplett aus den Ordnern gelöscht (einfaches deaktivieren reichte nicht). Ergebnis: Aladnas Hügel läuft flüssig und beim besagten Komplex habe ich nur ganz leichtes ruckeln (Schätzung ca. 20 fps).
War alles immer der Selbe Spielstand.

Gruß

Morpheus

EDIT: Habe deine als .pck gepackten Scripte der Beta 4 entpackt. Schon habe ich die normale Performance. Mehrfach getestet.
Last edited by Lord Morpheus on Fri, 6. Mar 09, 21:33, edited 1 time in total.
User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan »

Lord Morpheus wrote:Doch nach ausführlichen Tests kann ich definitiv sagen, dass es an dein Script ist.
Meinst du hier konkret die WorkAround-Scripte, oder die Modifikation im allgemeinen?


PS: Könnte es sein, dass du bei Verwendung von beta.04 zudem jene Version verwendest, welche die "performanten Komplexröhren" inkludiert hat? Für die aktuelle Version habe ich ein derartiges Paket nämlich noch nicht veröffentlicht.

-EDIT--------------------
Gerade hab ich meine Testreihe in meinem Sektor durchgeführt. Der Sektor ist jener unbekannte, neben Montalaar. Dieser wurde von Ost nach West auf die ganze Länge durchflogen. In diesem habe ich 156 produzierende Fabriken innerhalb von 8 Komplexen und ein zusätzliches vAD.
FRAPS wrote:2009-03-06 19:59:12 - X3TC
Frames: 12180 - Time: 800000ms - Avg: 15.225 - Min: 6 - Max: 28

2009-03-06 20:32:44 - X3TC
Frames: 12135 - Time: 800000ms - Avg: 15.169 - Min: 5 - Max: 29

2009-03-06 20:48:24 - X3TC
Frames: 7812 - Time: 800000ms - Avg: 9.765 - Min: 2 - Max: 24

2009-03-06 21:19:47 - X3TC
Frames: 12269 - Time: 800000ms - Avg: 15.336 - Min: 6 - Max: 28
Das Erste war beta.5.1 mit perf. Komplexröhren und .pck-Scripten
Das Zweite war beta.5.1 mit perf. Komplexröhren und .xml-Scripten
Das Dritte war beta.5.1 ohne perf. Komplexröhren und mit .xml-Scripten
Das Vierte war beta.04 mit perf. Komplexröhren und .xml-Scripten (allerdings dieselben Scripte wie beta.5.1)

Daher kann ich deine Meldung leider nicht nachvollziehen, da ich auf meinem System keinerlei wesentliche Auswirkungen dieser "Versionen" untereinander erkennen kann, mit Ausnahme der fehlenden Komplexröhren-Mod.

Falls du genauere Informationen zu deiner Nutzung des vAD-Mods geben könntest, könnte ich vllt. eher ein möglicher Fehler ausfindig machen.

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”