Wirtschaftspruefer - Open Office Calc

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

xXxSamxXx
Posts: 342
Joined: Tue, 24. Feb 09, 14:56
x3tc

Wirtschaftspruefer - Open Office Calc

Post by xXxSamxXx »

EDIT
Projekt (vorläufig) eingestellt. Es ist extrem schwer alle Informationen der Stationen zu erhalten.

Zudem sollen die Stationen aus dem Spiel heraus gelesen werden. Das funktioniert zwar, aber da es viele Modifikaitonen gibt und dort die Stationen mitunter andere Namen oder Produkte haben, kann man das ganze nicht, wie gewollt, für alle Modifikationen benutzen.

Ich bin jetzt dabei eine Universelle Galaxie- und Sektorenkarte über Open Office zu schreiben. Wenn dies komplett fertig ist, werde ich einen dementsprechend neuen Thread eröffnen. Diese Datei(en) wird/werden dann Modifikations-unabhängig sein.

Diese Karte soll später Sektorinterne Entfernungen zwischen Stationen und Toren berechnen und anzeigen.

Bis dahin wünsche ich guten Profit ;)
/EDIT
Abend erstmal.

Gestern abend habe ich mir überlegt eine Größere Open Office Tabelle über die Wirtschaft in X3 TC zu schreiben. Habe nun in den letzten 16 Stunden etwa 10 Stunden daran gesessen und kopiert, formatiert etc, um möglichst viele Daten zusammen zu bekommen bevor alles mit dem Rechnen los geht.
Zu dem Anlass, dass ich jetzt so langsam zum Hauptziel kommen werde, wollte ich um eure Mithilfe bitten.
Ich will jede Menge an Daten mit einbringen, um möglichst genaue Angaben machen zu können. Aber erstmal zu meinen

Vorgenommene Ziele:
-Galaxiekarte
-Stationsliste
-Waffenliste
-Schiffstabelle
-Preisliste
-Ränge
-Asteroidenliste
-Komplexrechner
-Eigene Fabriken
-Handelsrouten

Erklärung zu den Zielen:
-Galaxiekarte:
Hier soll die komplette Galaxie des in X3 TC bestehenden Universums in einer Tabelle untergebracht werden. Außerdem wird (soll) angezeigt, welche Fabriken in den Sektoren vor kommen. Also nicht nur Ausrüstungsdock, Schiffswertf, etc, sondern wirklich alle

-Stationsliste:
Hier werden die Sektoren mit X und Y Koordinaten mit Name und Rasse abgespeichert. Ebenso die Koordinaten der Tore in die anderen Sektoren und der Kordinaten sowie Resourcen und Produkte der Fabriken. Das Auflisten der eigenen Fabriken soll dort ebenfalls möglich sein.
Sinn ist es, heraus zu finden wo man mit einem (relativ) kleinen Aufwand den (relativ) größten Gewinn machen kann. Außerdem soll man heraus finden, ob die Produkte der Wunschfabrik verkauft werden können oder einfach nur Fabrikhüter sind.

-Waffenliste:
Es ist zwar ein Wirtschaftsprüfer, aber ich bin mir sicher, dass es niemanden gibt, der mit seinem Reparaturlaser im Raumanzug in den Krieg ziehen will^^

-Schiffstabelle:
Ebenso hier wie bei der Waffenliste. Die beiden Tabellen werden aber vorerst nur so in der Tabelle dabei sein. Ich kann mir vorstellen beide Listen früher oder später mehr zu integrieren (Wenn es möglich ist oder ich mich nicht zu blöd dafür anstelle, versteht sich)

-Preisliste:
Liste Aller Waren mit Angaben, wie "Art", "Volk", "Mindestpreis", "Höchstpreis","Durchschnittspreis", "Maximalen Gewinn" in Credits und in %, sowie die Fabrik, die diese Waren herstellt und deren Abnehmer.

-Ränge:
Jeder kennt das, man möchte sich was kaufen und man hat gerade so nicht den Mindestrang dafür. Bevor man also einen Komplex bauen will soll man sich wenigstens informieren, ob man auch an alle Einzelheiten kommt, die man will.

-Asteroidenliste:
Zur Übersicht, um die besten Asteroiden ohne unnötiges gescanne zu finden. Die Asteroiden will ich später für den Komplexbau auswählbar machen. Verbaute Asteroiden sollen danach gekennzeichnet werden.

-Komplexrechner:
Ich denke viele wissen, was das ist. Aber für alle Neulinge (zu denen ich mcih wegen meiner größeren Inaktivität in der Spielereihe dazu zähle) erkläre ich es noch:
Ein Komplex ist eine Verbindung von mindestens 2 eigenen Fabriken. Durch den Komplex ist es möglich an einer Andockstelle anzudocken und auf alle verbundenen Fabriken gleichzeitig zu zu griefen. Außerdem können die Fabriken sich untereinander versorgen ohne Frachter zu benutzen.
(Wenn ich es falsch erklärt habe einfach benachrichtigen, dann schriebe ich es in einem Edit neu. Mit "benachrichtigen" meine ich nicht rumgespamme in dem Thread sondern eine schöne, saubere PN)

-Eigene Fabriken:
Übersicht der Eigenen Fabriken, die man in die Tabelle eingefügt hat. Hat nur einen reinen übersichtlichen Sinn.

-Handelsrouten:
Der meiner Meinung nach besondere Teil, den ich vor habe. Dadurch, dass man die Koordinaten der Fabriken einträgt kann man die Entfernung zueinander berechnen.
Entfernung/Schiffgeschwindigkeit in m/s*(Verkaufspreis-Einkaufspreis)=Profit in Sezuras
Durch diese Formel kann man den Profit für eine gewisse Strecke ermitteln. Dazu kommt aber noch, dass in vielen Sektoren/eig. in allen noch NPC Händler fliegen. DH es muss die Wirtschaftliche Situation in den Sektoren und umliegenden Sektoren ermittelt werden. Einfacher Gedanke:
Wenn 3 Sprünge um einen Sektor keine Sonnenkraftwerke stehen hat der Sektor weniger Energiezellen zur Verfügung als ein Sektor mit 4 Sonnenkraftwerken. In dem Sektor macht man somit mehr Gewinn wenn man Energiezellen aus weit her importiert.
Oder man lässt diese Fabriken mit Energiezellen in Ruhe und bringt den Fabriken, die von den Energiezellen-losen Fabriken Abhängig sind, deren Ware.


Da das das schwerste sein wird, will ich voerst nur mit einem Sektor ausprobieren. Wenn meine Berechnungen danach einiger Maßen stimmen werde ich das immer weiter rechnen lassen.

Wer weiß, evtl ist der beste Handelsweg einer von Omnycron Lyrae nach Argon Prime.
Spoiler
Show
(Was ich mir vorstellen kann, da es nur dort eine Impulsstrahlen-Emitter-Schmiede gibt und die Dinger um Argon Prime absolut nicht zu erwerben sind (Ich habe jedenfalls bis jetzt nicht noch mehr von den Fabriken gesehen^^)
-----------

Freue mich, dass ihr bis hierher schonmal durchgehalten habt :wink:

Wie ich oben schon geschrieben habe, brauche ich eure Hilfe. Und zwar bei volgendem:

Es gibt nach meiner Aufzählung in dem Programm 206 Sektoren und ich habe bis jetzt die Terranischen Sektoren nördlich von Ketzers untergang noch nicht dabei.
Für meine Liste mit den Koordinaten der Fabriken würde ich nun euch bitten mir einfach ein paar Angaben zusammen zu suchen, wenn ihr gerade mal gelangweilt in einem Sektor den SINZA am laufen haben.

Wenn Möglich schreibt mir die Daten so auf (Beispiel ist Herons Nebel):

Code: Select all

Sektor X	Sektor Y	Sektor	Rasse	Sektortyp	Tor N X	Tor N Y	Tor N Z	Tor O X	Tor O Y	Tor O Z	Tor S X	Tor S Y	Tor S Z	Tor W X	Tor W Y	Tor W Z	Station 1	Station 1 X	Station 1 Y	Station 1 Z	Station 2	Station 2 X	Station 2 Y	Station 2 Z	Station 3	Station 3 X	Station 3 Y	Station 3 Z	Station 4	Station 4 X	Station 4 Y	Station 4 Z	Station 5	Station 5 X	Station 5 Y	Station 5 Z	Station 6	Station 6 X	Station 6 Y	Station 6 Z	Station 7	Station 7 X	Station 7 Y	Station 7 Z	Station 8	Station 8 X	Station 8 Y	Station 8 Z	Station 9	Station 9 X	Station 9 Y	Station 9 Z	Station 10	Station 10 X	Station 10 Y	Station 10 Z	Station 11	Station 11 X	Station 11 Y	Station 11 Z
1	2	Herons Nebel	Argonen	zentral	-0,63	3,12	36,6	44,1	0	-2,5	-2,5	-4,37	-36	-44,1	0	3,75	Freie Argon Handelsstation	-7,98	8,15	-5,92	Cahoona-Presse M alpha	-21,3	0,42	-21,3	Erzmine M alpha	15	2,44	-19,6	Erzmine M beta	-2,03	-2,13	7,55	Erzmine M gamma	-0,54	6,85	-14,9	Produktionskomplex Torpedos alpha	-10	-4,8	3,65	Raumsprit-Brennerei M alpha	-8,5	-8,2	24,2	Raumsprit-Brennerei M beta	-17,2	-8,2	34,8	Rheim-Werk L alpha	17	0,74	-7,16	Rheimwerk M beta	21,7	3,94	-27,9	Siliziummine M alpha	25,1	-6,14	18,8
Wenn ein Sektor in eine Richtung kein Tor hat einfach in die demendsprechende Zelle ein -- einbauen (Doppelminus)

Sry wenn der Text von dem ein wenig komisch aussieht, aber anders kann ich das nicht machen. Die Tabelle hier ist ebenso breit.
Normal müsste man das nur kopieren und in ein Excel oder ein Open Office seiner Wahl kopieren, damit es ordendlich aussieht.
Spoiler
Show
So am Rande: Bei mir kann ich die Tabelle so komplett im Vollbild anschauen mit Standard Zellenbreite :D
Ich freue mich jetzt schon über Antwort, da ich momentan sau müde bin^^ einmal den Text geschrieben und dann noch sau wenig gepennt *gääähn*

Als, anstelle durch nen Sektor zu SINZAn einfach nen Blatt raus holen und mal die Koordinaten der NPC Fabriken aufschreiben. Die Torkoordinaten würde ich aber auch nehmen ;)

PS:
Nicht dass ihr mich falsch versteht: Ich bin gerade dabei diese Tabelle zu machen. Sie ist nicht fertig und auch noch nicht BETA tauglich (gibt es das in einer Tabelle?^^). Ich möchte mit dem Post einmal um eure Mitarbeit bitten und einmal die Tabelle schonmal ein wenig bekannt machen.

Bei Fragen könnt ihr sie ruhig stellen. Ich habe das Inet auf nem separaten Bildschirm offen aufdem ich öfters mal vorbei schaue.

EDIT:
Wäre klasse, wenn jemand, der Erfahrung mit dem Script Editor hat, ein kleines Script schreiben kann, um alle Stationen mit Sektoren und den zur Station gehörenden Koordinaten danach automatisch in einer Datei abzuspeichern.
Mein Können mit dem Script Editor geht nicht über das erstellen von Schiffen ohne Ausrüstung und dem hinzufügen von Waren in das eigene Schiff hinaus^^.

Vielen Dank schonmal

PS:
Wenn ihr es nicht macht schreibt mir das Danke bitte wieder per PN zurück. In der momentanen Rezessionen muss man sparen ;)
Last edited by xXxSamxXx on Thu, 14. May 09, 20:02, edited 2 times in total.
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Also, wo fange ich an?

Der Teil mit der Stationsliste wird schwer, da bei jedem Spielneuanfang die Stationen anders verteilt werden. Du müsstet als ein Skript schreiben, welches diese Daten erfasst.

Große Teile deiner Pläne kann das Tool "Scorps Map" schon. Damit lässt sich nach Waren etc. suchen.

Waffenliste, Asteroidenliste, Rängelist und Komplexrechner gibt es schon genug. Schau mal bei seizewell.de nach.

Zu den Handelsrouten:

Das wäre sicher eine interessante Fähigkeit deiner Tabelle, aber im Endeffekt macht es doch die Praxis und nicht die Theorie.
Es gibt außerdem ziemlich viele Faktoren, die du einberechnen musst.
Ist z.B. eine gefährliche Route mit höheren Profitchancen einer sicheren mit geringeren vorzuziehen?
Es gibt nach meiner Aufzählung in dem Programm 206 Sektoren
Soweit ich weiß, gibt es in X3:TC (ohne neue Sektoren aus 2.0) 220 Sektoren.


Zur Datenbeschaffung musst du, wie gesagt, ein Skript schreiben. Das geht erstens schneller und funktioniert dann auch nicht nur mit deinem aktuellen Spiel.


Also, eine gute Idee, aber vielleicht hast du ein paar der o.g. Dinge nicht beachtet.

MfG,
ScRaT
xXxSamxXx
Posts: 342
Joined: Tue, 24. Feb 09, 14:56
x3tc

Post by xXxSamxXx »

naja, mir war nicht bewusst, dass man nach jedem neustart neue Positionen für die Fabriken hat. Klingt aber eigendlich logisch, da ich im X3 eine Schiffswerft in Argon prime auf der Höhe von dem Ausrüstungsdock hatte und nun in TC bei etwa -10km auf der y achse...
Außerdem hatte ich "damals" (^^) im Energiezirkulum nur 3 SKW und nun sind es 4. Und da bekommt man jetzt immer welche für 13 Credits :D

Das Scorps Map habe ich nicht. Habe es aber auch nicht gebraucht^^

Die Waffenlisten und Ranglisten habe ich auch tatsächlich aus Seizewell.de bezogen. Ich möchte die ja nur als erweiterte Informationen mit einfließen lassen. Habe ich aber auch auf einer Seite hin geschrieben in der Datei.

Die Handelsrouten sollen nur theoretisch sein. Die Tabelle greift nicht in das eigendliche Spiel ein. Man soll damit die Möglichkeit haben die wirtschaftliche Situation vor dem Bau der eigenen Station durch zu gehen und die Station in verschiedene Sektoren verlegen können. Nachdem die einem Sektor zugewiesen wurde sollte sie eine Position bekommen, welche dann mithilfe der Koordinaten der eigenen und der anderen Fabriken verrechnet werden kann, um die genaue Entfernung und die Reisedauer der Schiffe zu berechnen. Und diese Berechnung soll nicht nur Sektorintern sein sondern auch über eine begrenzte Anzahl Sprünge zu anderen Sektoren funktionieren. Dabei soll dann ein Faktor zwischen Zeit und Entfernung berechnet werden, welcher dann z. B. zeigt, dass man Sektorübergreifend zwar 1000 Credits mehr verdienen würde aber wenn man Sektorintern Schaffen würde, man viel mehr in der selben Zeit verticken kann.

Es wird schwer, das ist mir klar. Nur wollte ich mal wieder an was schwererem schaffen und das fertig bekommen. Und da fiel mir halt nichts besseres ein^^ ne, scherz... Habe selbst vor gehabt das für mich zu programmieren am Anfang, aber das wäre erstens Unfair (finde ich^^, obwohl ich es ja selbst gemacht habe und Arbeit dahinter steht^^) und es ist eine Große Datenmenge, die man mit einarbeiten muss.

Naja, dann werde ich wohl mal schauen, ob ich ein Script hin bekomme, der mir das ausliest und automatisch im richtigen Format in einer extra Datei abspeichert... Aber aufgeben gibt's nicht... vorerst^^
User avatar
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden »

Also ohne Skript wirst du nicht auskommen.
Du müsstest dazu alle Stationen pro Sektor scannen (die tatsächlichen Stationen, nicht die die du erst aufgeklärt hast) und in eine Art Logfile schreiben (Sektor: XX Stationen: A (X=1000 Y= -20000 Z=100), B (X=-2000 Y= 0 Z=-10000) , usw) Danach müsstest du das in deine Excel einlesen. Wie das funktionieren soll - kA. Ein Programm was dein Logfile auswertet wäre da besser als Copy&Paste in Excel ;)
xXxSamxXx
Posts: 342
Joined: Tue, 24. Feb 09, 14:56
x3tc

Post by xXxSamxXx »

also hab ingame schon was gefunden, was die arrays (hoffe mal Positionen?) der Stationen ausliest und als Variabel speichert.
Ebenso ein Befehl, der eine Bestimmte Station sucht, wobei ich den nicht gut finde, da es einfach zu viele gibt^^

nur finde ich keinen Befehl, der in eine Datei rein schreibt. Ist mir egal ob .ini oder sowas, das ist nicht das Problem. Hauptsache ist, dass das Ergebnis in echten für uns lesbare Buchstaben geschrieben ist.

Hab auch grad versucht mal eine Datei aus dem X Ordner zu öffnen nur scheint die zu groß zu seon o.O Hatte noch nie dieses Problem gehabt^^

Kann mir jemand einen Befehl nennen, der eine Variabel in eine Externe Datei schreibt? Am besten in die Datei eine neue Zeile macht und dann rein schreibt. Sonst überschreibt er das vllt noch selbst^^
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Logbook Commands -> $text = write to logfile

Damit sollte es gehen. Wenn append = [TRUE] ist, wird der $text angehängt, wenn append = [FALSE] wird alles durch $text überschrieben.

MfG,
ScRaT
xXxSamxXx
Posts: 342
Joined: Tue, 24. Feb 09, 14:56
x3tc

Post by xXxSamxXx »

Wäre klasse, wenn jemand, der Erfahrung mit dem Script Editor hat, ein kleines Script schreiben kann, um alle Stationen mit Sektoren und den zur Station gehörenden Koordinaten danach automatisch in einer Datei abzuspeichern.
Mein Können mit dem Script Editor geht nicht über das erstellen von Schiffen ohne Ausrüstung und dem hinzufügen von Waren in das eigene Schiff hinaus^^.

Vielen Dank schonmal

PS:
Wenn ihr es nicht macht schreibt mir das Danke bitte wieder per PN zurück. In der momentanen Rezessionen muss man sparen

Habe es auch im ersten Post stehen
User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest »

naja das wird schon nen relatives langes script und für einsteiger nicht so ideal geeignet.

also ich würde ein array mit den rassen erstellen

also
$var.array = array allocal size=0
append Argon to array $var.array
....boronen teladi usw.

$size.rassen.array = size of array $var.array
while $size.rassen.array
dec $size.rassen.array
$rasse = $var.array [$size.rassenarray]
$stations.array = get stations array of race=$rasse type=null
$size.stations.rassen.array = get size of array $stations.array
while $size.stations.rassen.array
dec $stations.rassen.array
$station = $stations.rassen.array [$size.stations.rassen.array]
$x =$station -> get x position
y/z
get sector
write to playerlokbook sprfm= string (also ein text mit 5 %s) dann deine vars wie x, y, z, sector
end
end
end

*ich hab das jetzt nur mal so aus dem Kopf durchdacht ich hab auch imo kein komplettes beispiel also es kann noch ein paar Sachen geben wie fehlende end usw die noch korrigiert werden müssen* (unterstrichen deshalb weil´s im letzen kopfskeziereung auch ziemliche Diskussionen gab obwohl dran stand aus dem Kopf)
xXxSamxXx
Posts: 342
Joined: Tue, 24. Feb 09, 14:56
x3tc

Post by xXxSamxXx »

Das ist das Problem^^ Ich ging bis jetzt davon aus, dass die Stationen bei jedem fest sind. Nun Werde ich wohl nochmal einiges überarbeiten dürfen^^

im Moment konzentriere ich mich auf die Simulation. Ich habe mir dafür meinen Lieblingssektor Herons nebel ausgesucht und dort alle NPC Stationen mit Koordinaten eingetragen.

Das Gute ist, dass dort (bei mir zumindest) 5 Fabriken drumrum stehen, die alle Delexianischen Weizen brauchen und ich etwa mittig auf der Map einen Komplex mit 2 Agrarzentren gebaut habe. 3 Frachter versorgen die Stationen der NPCs und ein Superfrachter kauft im Sektor nördlich (Energiezirkulum) alle Paar Minuten neue Energiezellen für maximal 13 Credits^^

Naja, Back to Topic.
Ich bin dabei den Sektorinternen Handel zu Simulieren. EVTL kann man ja auch durch Angabe zum eigenen Schiff später auch den Flugweg auf einer Karte verfolgen^^ Mal schauen, was sich machen lässt.

Nur brauche ich eine Datei, aus der ich die Daten auslesen kann. Notfalls würde ich mithilfe eines anderen Compilers noch ein automatisiertes Einfügen der Daten programmieren, wenn es nicht über Office geht.

Wie gesagt:
Wäre sehr dankbar, wenn jemand ein lauffähiges Script schreiben würde! :D

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