Sektorname ändern bei Übernahme oder Eroberung

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

friedemann1102
Posts: 2
Joined: Tue, 31. Jan 06, 14:01
x3ap

Sektorname ändern bei Übernahme oder Eroberung

Post by friedemann1102 »

Hallo zusammen,

es hat mich bei allen Versionen von X3 und allen geschriebenen Skripten verwundert, dass sich anscheinend niemand so richtig an den Namen "Unbekannter Sektor" in der Universumskarte störte. Ich schon ... vor allem im Hinblick darauf, dass z.B. der Unbekannte Sektor zwischen Montalaar und Neuer Verdienst zumindest in X3R wenigstens ersteigert werden konnte und dann endlich - wenn auch einen vorgegebenen - Namen erhielt. Ich will ja nicht ständig nur bei anderen Völkern in den Sektoren der Gast sein, sondern gerne selbst einen Sektor besetzen, besiedeln, ausbauen, besitzen und dann sollte schon der Unbekannte Sektor meiner Wahl auch meinen Namen tragen, insbesondere in der Universumkarte.

In diesem Sinne: ich würde gerne den Script von teemetals "Sektor-Übernahme" als Vorlage so verändern, dass eine Namensvergabe von "Unbekannter Sektor" in einen Wunschnamen meiner Wahl im gleichen Zuge geändert wird und dann auch so in der Universumskarte erscheint, nur, so einfach geht's anscheinend halt auch net und deswegen bin ich hier.

Zwei Lösungsansätze von mir:

Habe z.B. versucht, folgende Befehle zu verwenden:
$Sektor = $Namegeben -> get sector
get global variable = name
danach
set global variable = name
value null
end

Wahrscheinlich habe ich nach meinem laienhaften Verständnis was durcheinandergewürfelt oder gar einige Befehle nicht richtig interpretiert, jedenfalls funktioniert es so nicht. Bei über 500 Scriptbefehlen und setzen von Variablen ist mir das so nicht gelungen. Hatte zwar ein Tutorial gefunden, konnte das aber auch nicht so richtig umsetzen.

Oder gäbe es die Alternative:
Man listet unter Zuhilfenahme der Sektorenliste alle x- und y-Koordinaten sämtliche Sektoren auf und speichert die Datei im xml-Format in den t-file Ordner ab. Den Weg hatte ich auch versucht mit der Folge, dass nachher im Spiel überall stand: Read Text + versch. Nr. und in der Universumsmappe alle Namen verschwunden waren und nur noch stand "Sector Nr.-Nr.".

Der Kopf des xml lautete:
<RetVar/IF> get sector from univers index: x=<Var/Number>, y=<Var/Number>
<RetVar> = <RefObj> get univers x index
<RetVar> = <RefObj> get univers y index
Danach die Auflistung der Sektornamen schön untereinander mit den jeweiligen x- und y-Koordinaten, wobei einstellige Nr. z.B. 8 mit 08 geschrieben wurden.

Also irgendwie finde ich nicht so richtig den Ansatz, den unbekannten Sektor nach meinem Gusto umzubenennen, wobei das Sektor-Übernahme-Script zu ergänzen wohl die einfachste Variante sein könnte.

Mittlerweile hatte ich auch gelesen, die CAT Datei (fragt sich nur welche der 1-9) zu öffnen (ist mir auch nicht gelungen, trotz WinRar), um darin dem von mir besiedelten unbekannten Sektor meinen Namen zu geben.

Welcher Lösungsansatz wäre am sinnvollsten
- Script schreiben/umschreiben
- XML schreiben
- CAT Datei öffnen und verändern
und wer kann mich unterstützen?

Gruß friedemann1102
Cronos988
Posts: 691
Joined: Mon, 27. Aug 07, 12:34
x3tc

Re: Sektorname ändern bei Übernahme oder Eroberung

Post by Cronos988 »

friedemann1102 wrote: Habe z.B. versucht, folgende Befehle zu verwenden:
$Sektor = $Namegeben -> get sector
get global variable = name
danach
set global variable = name
value null
end
Also dieses Skript macht folgendes:
Es schreibt den Namen des Sektors §Sektor in die Variable $Namegeben
Dann ruft es den Wert der Globalen Variable name ab
Dann setzte ("erschafft") es die globale variable name mit dem wert Null.

In anderen Worten das Skript tut überhaupt nichts (sinnvolles).

friedemann1102 wrote:
Oder gäbe es die Alternative:
Man listet unter Zuhilfenahme der Sektorenliste alle x- und y-Koordinaten sämtliche Sektoren auf und speichert die Datei im xml-Format in den t-file Ordner ab. Den Weg hatte ich auch versucht mit der Folge, dass nachher im Spiel überall stand: Read Text + versch. Nr. und in der Universumsmappe alle Namen verschwunden waren und nur noch stand "Sector Nr.-Nr.".

Der Kopf des xml lautete:
<RetVar/IF> get sector from univers index: x=<Var/Number>, y=<Var/Number>
<RetVar> = <RefObj> get univers x index
<RetVar> = <RefObj> get univers y index
Danach die Auflistung der Sektornamen schön untereinander mit den jeweiligen x- und y-Koordinaten, wobei einstellige Nr. z.B. 8 mit 08 geschrieben wurden.
Ich blicke da nicht ganz durch, die XML muss aber dann noch irgendeinen Befehl enthalten haben?
Also get Sector from Universe Index sucht einen Sektor mit seinen Koordinaten. Die beiden Befehle darunter legen wohl fest welcher Sektor gefunden wird. Und dann?

Wo "überall" stand denn "Read Text + Nr." ?

friedemann1102 wrote:
Also irgendwie finde ich nicht so richtig den Ansatz, den unbekannten Sektor nach meinem Gusto umzubenennen, wobei das Sektor-Übernahme-Script zu ergänzen wohl die einfachste Variante sein könnte.

Mittlerweile hatte ich auch gelesen, die CAT Datei (fragt sich nur welche der 1-9) zu öffnen (ist mir auch nicht gelungen, trotz WinRar), um darin dem von mir besiedelten unbekannten Sektor meinen Namen zu geben.

Welcher Lösungsansatz wäre am sinnvollsten
- Script schreiben/umschreiben
- XML schreiben
- CAT Datei öffnen und verändern
und wer kann mich unterstützen?

Gruß friedemann1102
Eine XML im SKriptordner schreiben und ein Skript schreiben ist das selbe ^^.

Über die Cat datei gehts sicher, da befindet sich die Universe.pck (oder so ähnlich) die du verändern kannst und so Sektoren umbenennen. Das macht aber einen Neustart erforderlich und ist glaub ich nicht ganz was du willst.
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Re: Sektorname ändern bei Übernahme oder Eroberung

Post by UniTrader »

Cronos988 wrote:
friedemann1102 wrote:
Oder gäbe es die Alternative:
Man listet unter Zuhilfenahme der Sektorenliste alle x- und y-Koordinaten sämtliche Sektoren auf und speichert die Datei im xml-Format in den t-file Ordner ab. Den Weg hatte ich auch versucht mit der Folge, dass nachher im Spiel überall stand: Read Text + versch. Nr. und in der Universumsmappe alle Namen verschwunden waren und nur noch stand "Sector Nr.-Nr.".
...
....

Wo "überall" stand denn "Read Text + Nr." ?
ich schätze mal überall, weil er seine 0001-L049.xml / pck geschrottet hat... und dan kann X3 natürlich keinerlei texte laden.. deswegen ist mein vorschlag, dass er sich ne neue mit ner anderen nummer erstellt.. wenn er da was durcheinander bringt sind höchstens seine Änderungen nicht mehr da, das Spiel läuft aber ohne ReadTexte (zumindest bei den Dingen von EGO ^^) weiter ;)

Cronos988 wrote:Eine XML im SKriptordner schreiben und ein Skript schreiben ist das selbe ^^.
nur wenn du die Syntax vom Codearray verstehst, denn die ist das ausschlag gebende.. und so wie du das sagst hast du die warscheinlich noch nie gesehen :roll: öffne mal ne beliebige X3-Script-xml im Notepad o.ä. und scrolle etwas runter, dann siehst du was ich meine - und dann sag das nochmal :D :P
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
friedemann1102
Posts: 2
Joined: Tue, 31. Jan 06, 14:01
x3ap

Post by friedemann1102 »

Erst mal Danke für die Antworten.
"Read Text + Nr." stand in der ganzen Universumkarte, also sinnlos und die CAT möchte ich wahrlich nicht verändern. Müsste dann über einen Script gehen. Leider sucht man sich in den vielen Befehlen tot und ich hatte schon Stunden mit verschiedenen Variablen probiert. mmmmhhh

Vielleicht hat noch einer ne Idee, ich hab die ganze Nacht gedaddelt, das Universum ist halt gross und muss jetzt erst mal was anderes machen. Bis heute Abend und Gruß Friedemann1102
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Re: Sektorname ändern bei Übernahme oder Eroberung

Post by UniTrader »

Eigentlich sollte diese Antwort zuerst da stehen und mein voriger Post hier noch als Nachtrag dran, ich hab mich aber etwas mit dem C&Pen vertan, deswegen wird das hier nachgeliefert: ;)
Cronos988 wrote:Über die Cat datei gehts sicher, da befindet sich die Universe.pck (oder so ähnlich) die du verändern kannst und so Sektoren umbenennen. Das macht aber einen Neustart erforderlich und ist glaub ich nicht ganz was du willst.
blödsinn, die Datei hat mit den Sektornamen überhaupt nix am hut.. und ein Neustart ist erst recht nicht nötig wenn man nur einen Sektornamen ändern will, sowas kann man mit entsprechendem Aufwand sogar volldynamisch im laufenden Spiel managen (wobei das aber imo wirklich aufwändig & in den meisten fällen unnötig ist), das statische ändern eines Sektornamens ist demzufolge eine kleinigkeit ^^

die Sektornamen sind alle über die XY-Koordinaten der Sektoren in den t-files in der Page 7 festgelegt.. und die t id ordnet den Namen den Sektor zu.. (die t id ist ungefähr so aufgebaut (erklärung in mehreren Varianten, um mehr zu verwirren :D) :
Variante 1:
1030000 + ( ( X+ 1) * 100 ) + ( Y + 1 )
Variante 2:
103«X+1»«Y+1»

nun erstellst du dir am besten ein neues t-file (da gab es iirc für Reunion nen gutes tutorial für, bedenke nur dass sich das Namensformat der t-files von XXYYYY.xml nach XXXX-L0YY.xml geändert hat..) und mache darin in der Page 7 und t id deines US nen neuen Eintrag und lade dieses t-file dann in nem Setup-Script (Namensformat des Scriptes: "setup.***", inhalt: 001 load text: id=XXXX)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
Cronos988
Posts: 691
Joined: Mon, 27. Aug 07, 12:34
x3tc

Re: Sektorname ändern bei Übernahme oder Eroberung

Post by Cronos988 »

UniTrader wrote:Eigentlich sollte diese Antwort zuerst da stehen und mein voriger Post hier noch als Nachtrag dran, ich hab mich aber etwas mit dem C&Pen vertan, deswegen wird das hier nachgeliefert: ;)
Cronos988 wrote:Über die Cat datei gehts sicher, da befindet sich die Universe.pck (oder so ähnlich) die du verändern kannst und so Sektoren umbenennen. Das macht aber einen Neustart erforderlich und ist glaub ich nicht ganz was du willst.
blödsinn, die Datei hat mit den Sektornamen überhaupt nix am hut.. und ein Neustart ist erst recht nicht nötig wenn man nur einen Sektornamen ändern will, sowas kann man mit entsprechendem Aufwand sogar volldynamisch im laufenden Spiel managen (wobei das aber imo wirklich aufwändig & in den meisten fällen unnötig ist), das statische ändern eines Sektornamens ist demzufolge eine kleinigkeit ^^

die Sektornamen sind alle über die XY-Koordinaten der Sektoren in den t-files in der Page 7 festgelegt.. und die t id ordnet den Namen den Sektor zu.. (die t id ist ungefähr so aufgebaut (erklärung in mehreren Varianten, um mehr zu verwirren :D) :
Variante 1:
1030000 + ( ( X+ 1) * 100 ) + ( Y + 1 )
Variante 2:
103«X+1»«Y+1»

nun erstellst du dir am besten ein neues t-file (da gab es iirc für Reunion nen gutes tutorial für, bedenke nur dass sich das Namensformat der t-files von XXYYYY.xml nach XXXX-L0YY.xml geändert hat..) und mache darin in der Page 7 und t id deines US nen neuen Eintrag und lade dieses t-file dann in nem Setup-Script (Namensformat des Scriptes: "setup.***", inhalt: 001 load text: id=XXXX)
Oh, da war ich wohl falsch informiert wegen der Universe.pck. Ich dachte mir wenn man schon ändern kann was in den Sektoren drin ist dann auch ihre Namen. Dass das natürlich nicht der Optimale weg ist is mit klar ^^.

Ein änderungsskript würde also in etwa so aussehen, wenn ich die in Aktionen darstelle (die konkreten Befehle kenn ich net).
XY Koordinaten des gewünschten Sektors finden
voher iniitalisierte neue, oder die Originale T-File laden
Mit den XY Koordinaten die entsprechende Stelle in der T-File finden
Neuen Namen als String eingeben
Den String an die entsprechende Stelle in der T-File schreiben.

So in etwa sollte das doch machbar sein?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Re: Sektorname ändern bei Übernahme oder Eroberung

Post by UniTrader »

Cronos988 wrote:Ein änderungsskript würde also in etwa so aussehen, wenn ich die in Aktionen darstelle (die konkreten Befehle kenn ich net).
XY Koordinaten des gewünschten Sektors finden
voher iniitalisierte neue, oder die Originale T-File laden
Mit den XY Koordinaten die entsprechende Stelle in der T-File finden
Neuen Namen als String eingeben
Den String an die entsprechende Stelle in der T-File schreiben.

So in etwa sollte das doch machbar sein?
Ich hatte schonmal so nen Script, grundlegend funktioniert es in etwa so, nur dass du vorher kein t-file einlesen musst sondern es reicht, wenn man sich ein neues erstellt und es dann ins Spiel lädt.. (die ganzen ids sind ja bekannt ;) und mehr braucht man nicht..)

das problem ist nur dass man nicht direkt in nen t-file schreiben kann.. aber wie gesagt: auf umwegen ist es volldynamisch möglic,h ;) (Logfile erstellen, das wie ein t-file aufgebaut ist -> -log-t-file manuell oder per externem Programm verschieben & umbenennen -> t-file laden)

zum einfachen umbenennen eines Sektors langt es aber völlig, wenn man sich nen t-file selber anlegt, wo man eben diese änderung einträgt ^^ dafür muss man nicht aus dem Spiel heraus die t-files machen können.. (ist wie gesagt für das vorhaben nen zu grosser Aufwand - besonders wenn man sich nicht so sehr mit der Materie auskennt ^^)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
Raumkraut93
Posts: 1368
Joined: Wed, 18. Mar 09, 22:20
x3tc

Post by Raumkraut93 »

Wieso erstellst du nicht einfach nen neuen T-File mit dem du den Sektornamen änderst?

Ein Beispiel zur Umbenennung des US 8/8:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<language id="49">
     <page id="7777">
           <t id="1">Neuer Name</t>
     </page>
     <page id="7" title="Boardcomp. Sectornames" descr="Names of all sectors (spoken by Boardcomputer)" voice="yes">
           <t id="1020909">{7777,1}</t>
     </page>
</language>
Abspeichern unter XXXX-L049.xml
Dann noch per Skript die Text-Datei laden und fertig.
"Dies ist alles, was ich über den Krieg weiss: Einer gewinnt, einer verliert
und nichts ist nachher so
wie es vorher war."

"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
u24j7x5
Posts: 599
Joined: Thu, 1. Sep 05, 09:00
x4

Post by u24j7x5 »

hi,

du kannst das auch via mission director machen.

mit dem md befehl:

<set_sector_override x="(x-koordinate)" y="(y-koordinate)" textid="xxxxxx"/>

die textid wird von page 7 gelesen. also eine neue x-beliebige nummer in ein tfile / page 7 erzeugen und mit dem gewünschten sektornamen versehen. zur laufzeit kann dann der sektorname mit dem o.a. befehl geändert werden. das bedeutet, man kann mehrere namen in ein tflile schreiben und dann bei bedarf die sektoren entsprechend umändern.

das sollte funktionieren. auch noch eventgesteuert. :wink:

gruß

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