[lib][17.01.2006]"Spielerbesitz" und "Schiffssoftware"-library

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

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

User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

[lib][17.01.2006]"Spielerbesitz" und "Schiffssoftware"-library

Post by SymTec ltd. »

>>>Engl. Diskussion<<<

Spielerbesitz" und "Schiffssoftware"-library V1.0

lib.st.hardwarearrayship - DE/EN - 17.01.2007 - .xml(.zip.)
Dieses Script gibt für ein eingegebenes Schiff ein Array aller Erweiterungen und Softwares aus, die nach dem am 24.12.2006 veröffentlichten Bonuspack und dem X³-Update 2.0.02 auf einem Schiff sein dürfen und sich auf diesem Schiff befinden. Wenn das Schiff nicht existiert oder keine Waren hat, wird "null" oder ein leeres Array zurückgegeben. Dieses Script kann so modifiziert werden, dass es alle oben definierten Erweiterungen einem Schiff hinzufügt. Um auch von nachträglich durch Scripts etc. hinzugefügten Erweiterungen und desgleichen benachrichtigt zu werden, empfehle ich ein ähnliches Script von X-Freak Cartman, das hier vorgestellt wird.
  • Input:
  • Var/Ship , 'Ship' - Schiff zur Abfrage
    Output:
  • Var/Array - Array der gefundenen Erweiterungen

    Andere Scripts werden benötigt: keine
lib.st.playerownedvalue - DE/EN - 17.01.2007 - .xml(.zip.)
Dieses Script berechnet (zu einem bestimmten Genauigkeitsgrad) den gesamtwert aller Besitztümer des Spielers. Je mehr Schiffe und Stationen der Spieler besitzt und je mehr Spezifikationen abgefragt werden, desto länger arbeitet dieses Script.
  • Input:
  • Var/Boolean , 'Bankaccounts' - Berechne alle Spieler- und Stationskonten? (True/False)
  • Var/Boolean , 'Stations' - Berechne alle Stationen? (True/False)
  • Var/Boolean , 'Ships' - Berechne alle Schiffe? (True/False)
  • Var/Boolean , 'Wares in Ships and Stations' - Berechne alle Waren in Schiffen und Stationen? (True/False)
  • Var/Boolean , 'Equipment on Ships' - Berechne alle Schiffssoftwares? (True/False)

    Andere Scripts werden benötigt: lib.st.hardwarearrayship, lib.st.stationvalue

lib.st.stationvalue - DE/EN - 17.01.2007 - .xml(.zip.)
Dieses Script gibt den Geldwert einer Station oder eines Schiffes als Zahl zurück.
  • Input:
  • Var/Ship/Station , 'Ship or Station' - Schiff/Station (Ship/Station)
  • Var/Boolean , 'Bankaccounts' - Berechne das Stationskonto? (True/False)
  • Var/Boolean , 'Wares in Ships and Stations' - Berechne alle Waren im Lager? (True/False)
  • Var/Boolean , 'Equipment on Ships' - Berechne Schiffssoftwares? (True/False)

    Andere Scripts werden benötigt: lib.st.hardwarearrayship
Fragen? (Und nein, Fragen nach eine Übersetzung beantworte ich nicht.)

Direkt-Download
[ external image ]

>>>Downloadseite<<<
Last edited by SymTec ltd. on Sun, 4. Feb 07, 19:22, edited 1 time in total.
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

Es gibt noch einen besseren Weg, das Ship Equipment abzufragen, der auch durch andere Scripts ins Spiel eingefügte Waren beinhaltet.

In meinem lib-Paket werd ich diesen Script morgen mal integrieren.
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

So, bin fertig mit meiner Version (ich war gestern wegen des Sturms verhindert)

Meine Variante, die garantiert alle installierte Hardware ausgibt, befindet sich in dem Paket meiner lib-scripts.
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Ich habe einmal deine Variante nachvollzogen und festgestellt, dass das zwar in der Theorie funktioniert, in der Praxis jedenfalls bei mir in einem ähnlichen Script aber auch z.B. Kristalle und ein großer Haufen leerer Warenslots aufgezeigt werden. Zudem möchte ich ein wenig Kontrolle haben, dass nicht jede unsignierte Erweiterung in der Liste auftaucht, weil diese Erweiterungen Spezialfälle darstellen, mit denen ein normaler Scripter nicht zu rechnen hat. :wink:
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

In meiner Variante werden auch nur die installierten Erweiterungen angezeigt, weshalb leere Warenslots eigentlich nich vorkommen sollten.
Am Anfang meiner Scriptdatei schließe ich übrigens aus, dass handelbare waren rausgesucht werden (Array.forbidden = [THIS] -> get tradable Ware Array).

Was du mit Kontrolle meinst, entzieht sich meiner Kenntnis. Zum Preis des Schiffes sollten alle installierten Erweiterungen auf ihren Preis überprüft werden, und wenn du einen Script nur mit einer bestimmten Software laufen lassen willst, musst du sowieso eigene Prüfungen einbauen.

Mein Kommando ist halt auf ein Schiff begrenzt, so dass nicht installierte Erweiterungen eigentlich nicht angezeigt werden sollten. Kristalle und Bergungsversicherungen sind ebenfalls ausgeschlossen (je nach Option).

An deiner Version stört mich, dass Erweiterungen von Scripts oder zukünftige Erweiterungen aus dem BP nicht berücksichtigt werden.
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Ah, jetzt verstehe ich, wo mein Denkfehler war: Ich hatte die Maintype/Subtype-Variante an einer Stelle versucht, wo ich alle überhaupt möglichen Waren finden wollte, nicht nur die installierten. Dass nichtexistente Waren meist auch nicht installiert sind, war mir bei meiner Argumentation wohl entgangen.

Zum Punkt "Erweiterungen von Scripts": Es stimmt schon, dass diese Erweiterungen im Grunde Teil des Schiffswertes sind und als solche aufgezählt werden sollten. Aber für mich persönlich hat das auch einige Unvorhersehbarkeit, etwa wenn eine Ware aus Kompatibilitätsgründen in dem 64-Millionen-Slot liegt, eigentlich aber per Script hinzugefügt wurde und dann hier mit 64 Millionen zu Buche schlägt. Die Wahrscheinlichkeit geht zwar gegen null, aber ich arbeite eben am besten mit Waren, die auch für mich existieren. :wink:

Und wer das anders sieht, hat ja immer die Wahl, es auch anders zu machen, etwa mit deiner library :)
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

Hmm... Sollte ein unbegabter Scripter tatsächlich einmal einen so hohen Slot belegen, hat meine Variante tatsächlich den Kürzeren gezogen.
Andererseits gibt es das EMP. Damit werden die Erweiterungen logisch hinzugefügt und auf keine zu hohen Slots gelegt ;)

Die Scripts sind halt nicht immer kompatibel zu allen Mods, was sich leider nicht verhindern lässt. Wer aber vom Modden Ahnung hat, wird nie einen so hohen Slot verwenden (hofft man doch).

In diesem Sinne:
Zum Glück hat man noch die freie Wahl
- EL

Return to “X³: Reunion - Scripts und Modding”