X2: Wie kann ich die Karte ändern (im bestehenden Spiel)?

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

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

Post Reply
ManfredP
Posts: 115
Joined: Tue, 25. Apr 06, 12:40

X2: Wie kann ich die Karte ändern (im bestehenden Spiel)?

Post by ManfredP » Sun, 20. Jun 10, 11:53

Hallo,
habe das Spiel komplett durch und handle jetzt weiter. Wollte mal ausprobieren, wie das so geht und habe (mit doubleshadows Editor) die Galaxie-Karte (x2-universe.pck) aus der 02.cat des Spiels geändert (ein paar zusätzliche Torverbindungen und, nachdem ich Probleme hatte, ein paar zusätzliche Objekte wie Sonnen oder Planeten -die sieht man so gut). Doch im Spiel erscheinen die Änderungen nicht. Ne Idee?

P.s.: Habe im Forum nach einer Antwort gesucht, aber nichts gefunden. Mir fehlten auch ein klein bisschen die Ideen, nach welchen Schlagworten ich ihn suchen lassen sollte, daher habe ich es zumeist von Hand gemacht. Wenn da doch was ist: Tschuldigung, Link angeben und ... nichts für ungut, wenn möglich.

Manfred

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24950
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Sun, 20. Jun 10, 12:01

Hey ho,
ManfredP wrote:Doch im Spiel erscheinen die Änderungen nicht. Ne Idee?
Damit Änderungen an der Karte wirksam werden, muss ein neues Spiel gestartet werden.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

User avatar
Shadow dream
Posts: 1840
Joined: Thu, 1. Mar 07, 11:39
x3tc

Post by Shadow dream » Sun, 20. Jun 10, 13:22

alternativ könntest du auch entsprechende scripts schreiben/besorgen und von Sektor zu Sektor fliegen und sie bearbeiten. so sachen wie create planet und create sun etc...). Diese Änderungen sind sofort sichtbar, aber um einiges aufwändiger :!: Vorallem sind sie nur für dieses eine Spiel (also ab dem save der änderung, die original karte wird dabei NICHT verändert!!

Shadow
Wahre Gentlemen behalten sogar umzingelt von Löwen ihren Leitsatz: Ladies first.
Wann lernt die Gesellschaft endlich, dass Geld erst die Probleme macht, die wir haben?
[ external image ]
Topic - Gallery - Forum - Freiheit

ManfredP
Posts: 115
Joined: Tue, 25. Apr 06, 12:40

Post by ManfredP » Sun, 20. Jun 10, 14:34

X2-Illuminatus wrote:Hey ho,
ManfredP wrote:Doch im Spiel erscheinen die Änderungen nicht. Ne Idee?
Damit Änderungen an der Karte wirksam werden, muss ein neues Spiel gestartet werden.
Kapier ich nicht! Heist das, die Karte wird in jedem Savegame mitgespeichert? Wozu ist das gut? So 'ne Platzverschwendung (auf der Platte)! Aber anders fällt es mir schwer, das überhaupt zu glauben, da ich nicht weis, wie das sonst gehen soll. Na ja, aber demnach ist es dann ja wohl so, wie ärgerlich.

Danke für die schnelle Antwort.

Tschüß

Manfred

ManfredP
Posts: 115
Joined: Tue, 25. Apr 06, 12:40

Post by ManfredP » Sun, 20. Jun 10, 14:50

Shadow dream wrote:alternativ könntest du auch entsprechende scripts schreiben/besorgen und von Sektor zu Sektor fliegen und sie bearbeiten. so sachen wie create planet und create sun etc...). Diese Änderungen sind sofort sichtbar, aber um einiges aufwändiger :!: Vorallem sind sie nur für dieses eine Spiel (also ab dem save der änderung, die original karte wird dabei NICHT verändert!!

Shadow
Die Idee hatte ich auch schon. Klappt auch wunderbar an anderen Stellen, aber ausgerechnet bei den Gates wird es hakelig. Der 'create gate'-Befehl ist ja streng genommen auch eine Katastrophe. Man muss die beiden Gates getrennt 'createn' und daher auch nacheinander. Da die Beiden aber verbunden und verknüpft sind, muss man jedem Gate das jeweils Andere bekannt machen. Dafür dient ein Parameter 'dstgateid'. Da aber zwangsläufig eines der Gates das zuerst Erzeugte ist, muss man sich diesen Parameter aus den Fingern saugen. In einem Script, das ich hier gefunden habe, wird einfach ein IDs liefernder Befehl (hier 'get SectorObject ID') benutzt. Ich habe mir das mal angesehen: Da kommt immer Null raus, wenn das Zielgate noch nicht existiert (was beim ersten Gate ja immer so ist). Einfach eine ID bestimmen (also eine Zahl im Script eingeben) war auch nicht der Brüller. Insgesamt kann diese ganze Sache funktionieren, muss es aber nicht.

Ich hätte es sinnvoller gefunden, wenn die Erzeugung und Verknüpfung von Gates getrennte Befehle gewesen wären. Also zuerst 'create gate', aber ohne die ID-Parameter. Dann werden mittels zweier Befehle '<object> -> get warp gate ID' die ID der gerade erzeugten Tore abgefragt und mittels von '<object> -> set destination gate ID' die IDs im Nachgang gesetzt. Aber wie man es tatsächlich gemacht hat ...

Na ja, es ist eben so, man kann es nicht ändern.

Danke für die schnelle Antwort.

Tschüß

Manfred

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24950
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Sun, 20. Jun 10, 14:51

Kapier ich nicht! Heist das, die Karte wird in jedem Savegame mitgespeichert? Wozu ist das gut?
Die Karte selbst wird nur beim Spielstart geladen. In den Spielständen werden dann aber Informationen über die Karte gespeichert. Wenn dies nicht der Fall wäre und immer nur die Standardkarte beim Laden eines Spielstandes geladen werden würde, würde es nichts bringen, Stationen zu zerstören oder selbst welche aufzubauen. Auch das Platzieren von Objekten in der Karte würde nichts bringen, da nach einem Neuladen eh alles wieder weg wäre.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

User avatar
Shadow dream
Posts: 1840
Joined: Thu, 1. Mar 07, 11:39
x3tc

Post by Shadow dream » Sun, 20. Jun 10, 15:30

ManfredP wrote: Die Idee hatte ich auch schon. Klappt auch wunderbar an anderen Stellen, aber ausgerechnet bei den Gates wird es hakelig. Der 'create gate'-Befehl ist ja streng genommen auch eine Katastrophe. Man muss die beiden Gates getrennt 'createn' und daher auch nacheinander. Da die Beiden aber verbunden und verknüpft sind, muss man jedem Gate das jeweils Andere bekannt machen. Dafür dient ein Parameter 'dstgateid'. Da aber zwangsläufig eines der Gates das zuerst Erzeugte ist, muss man sich diesen Parameter aus den Fingern saugen. In einem Script, das ich hier gefunden habe, wird einfach ein IDs liefernder Befehl (hier 'get SectorObject ID') benutzt. Ich habe mir das mal angesehen: Da kommt immer Null raus, wenn das Zielgate noch nicht existiert (was beim ersten Gate ja immer so ist). Einfach eine ID bestimmen (also eine Zahl im Script eingeben) war auch nicht der Brüller. Insgesamt kann diese ganze Sache funktionieren, muss es aber nicht.
die sache ist doch klar: erstell beide gates in einem rutsch. TeaMetal's stargate script macht genau das. dann kannst du die gegenseitig verknüpfen.

Shadow
Wahre Gentlemen behalten sogar umzingelt von Löwen ihren Leitsatz: Ladies first.
Wann lernt die Gesellschaft endlich, dass Geld erst die Probleme macht, die wir haben?
[ external image ]
Topic - Gallery - Forum - Freiheit

User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest » Sun, 20. Jun 10, 15:43

naja wenn du einfach eine Zahl bei der GID einibst und dich wunderst wunder ich mich nicht mehr zumal GID 0-3 (ein sektor mit 4 Toren) schon vergeben ist. Max was x erkennt sind 6 GIds, sprich alles was nicht 4 oder 5 war wurde nicht / nur unzureichend erkannt.

guggst du auf nachfolgendes Script das selbstgeschrieben war und funktionierte. Allerdings mit einem Mod was die type=5 total unbrauchbar macht für dich:

015 $gate1 = create gate: type=5 addto=$sek1 gateid=5 dstsecx=$gate.2.sekx dstsecy=$gate.2.seky dstgateid=5 x=45000 y=30000 z=30000

019 $gate2 = create gate: type=6 addto=$sek2 gateid=5 dstsecx=$gate.1.sekx dstsecy=$gate.1.seky dstgateid=5 x=45000 y=30000 z=30000

Post Reply

Return to “X²: Die Bedrohung - Scripts und Modding”