X3TC löscht Scripts - Warum? (GELÖST)

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

chms
Posts: 165
Joined: Thu, 21. Oct 04, 19:17
x4

X3TC löscht Scripts - Warum? (GELÖST)

Post by chms »

Hallo zusammen.

Ich hatte mir mal ein Script geschrieben, das mir den Start etwas vereinfachen und auch die Performance etwas beeinflussen sollte.

Nachdem ich fertig war, hatte ich das Script gestartet (zum Testen) und dann wieder einen älteren Spielstand geladen.

Und siehe da, das Script war verschwunden.

Was ging da schief?

In dem Script waren KEINE Verweise auf Stationen oder Schiffe vorhanden (ausser PLAYERSHIP).

Das Ganze ist mir bereits mehrfach passiert - langsam werd' ich sauer :evil:
Last edited by chms on Tue, 4. Nov 08, 23:48, edited 1 time in total.
Allmaecht
Posts: 334
Joined: Wed, 23. Nov 05, 17:31
x4

Post by Allmaecht »

Falls dies unter Vista passiert, würde ich auf ein Problem mit dem Anwendungsschutz tippen. Von allem was sich im Standard-Programmordner befindet hält Vista Kopieen im Hintergrund, wird hier etwas verändert, geht Vista von einem Schädling aus und stellt die alte Version wieder her. Einziges Workaround: Programme nicht im Standard-Vista-Programmordner installieren.
chms
Posts: 165
Joined: Thu, 21. Oct 04, 19:17
x4

Post by chms »

Vista ist es nicht, sondern XP.

Merkwürdig ist auch, dass die Änderungen, die ich "zeitgleich" in anderen Scripts gemacht habe, erhalten geblieben sind.
Bughu Baas
Posts: 165
Joined: Tue, 24. Jun 03, 22:31
x4

Post by Bughu Baas »

Ich bin mir sicher, das Script wurde nicht gelöscht, sondern nicht einmal auf die Festplatte geschrieben.

Das passiert nämlich dann, wenn du Referenzen auf variable Objekte wie Stationen oder (bereits existierende) Schiffe fest reinschreibst. Sowas wie "$station = Argon Schiffswerft (Argon Prime)" funktioniert nicht, da bei einem neuen Spiel besagte Referenz nicht mehr stimmen muß - die Schiffswerft hat intern nur eine ObjectID. Abhilfe: Sektor fest vorgeben (das funktioniert) und darin die Schiffswerft mit "find station ..." finden und referenzieren.

Dämlicherweise gibt es KEINERLEI Meldung darüber, daß so ein Script zwar im Editor auftaucht aber nicht auf Platte gebannt wird. Notfalls halt im laufenden Spiel mit Alt+Tab nachschauen.

Malte, der zwei Tage brauchte um das festzustellen... :evil:
chms
Posts: 165
Joined: Thu, 21. Oct 04, 19:17
x4

Post by chms »

Bughu Baas wrote:Ich bin mir sicher, das Script wurde nicht gelöscht, sondern nicht einmal auf die Festplatte geschrieben.

Das passiert nämlich dann, wenn du Referenzen auf variable Objekte wie Stationen oder (bereits existierende) Schiffe fest reinschreibst.
Wie ich oben bereits geschrieben hatte:
In dem Script waren KEINE Verweise auf Stationen oder Schiffe vorhanden (ausser PLAYERSHIP).
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

kannst du mal den ungefähren Code hier reinposten?? vielleicht hat dann jemand ne idee, weshalb es ned gespeichert wurde...
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 ;)
chms
Posts: 165
Joined: Thu, 21. Oct 04, 19:17
x4

Post by chms »

Ich habe jetzt das Problem einkreisen können - verstehen kann ich das "Nicht-Abspeichern" (!) aber nicht.

In meinem Script wird ein weiteres aufgerufen, mit folgendem Inhalt (einfache Darstellung):

Code: Select all

<name>a.a.a.Staffel</name>
<arguments>
<argument index="1" name="Typ" type="Var/Ship Type" desc="Ship Type" />
<argument index="2" name="Wing" type="Var/Wing" desc="Wing" />
<argument index="3" name="Dock" type="Var/Station/Carrier" desc="Select Dock" />
</arguments>
<sourcetext>
if $Dock exists
. $Count = 0
. while not $Count >= 9
. . inc $Count
. . $Ship = [THIS] call script : a.a.a.create.ship Select Dock=$Dock Ship Type=$Typ
. . $Name = $Typ + " - " + $Wing + " - " + $Count
. . $Ship set Name to $Name
. . Add ship to flight wing wing=$Wing ship=$Ship
. end
end
return $Wing
Dieses zweite Script funktioniert einwandfrei (und ist auch auf Platte).

In dem aufrufenden Script wird das "Dock" erst erzeugt, es ist also kein Verweis auf eine Station oder ein anderes Schiff vorhanden.
Trotzdem wird ein Abspeichern des Scripts verweigert.

Die einzige Möglichkeit derzeit ist, den betreffenden Script-Call auszukommentieren und vor Aufruf des Scripts wieder zu Aktivieren.

EDIT: Beim Aufruf des Scripts habe ich die vorgefertigten Staffel-Namen verwendet (Blaue Staffel etc.)
Es scheinen also keine Namens-Vorschläge, sondern existierende Staffeln zu sein - obwohl ich diesen Befehle geben konnte....
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

kleiner tipp wenn du das nächste mal nen Script postest: mach einfach nen Doppelklick auf die xml-Datei (oder wäle 'öffnen mit...' -> IE, FF, Opera, whatever), die wird dann in der Browseransicht geöffnet und so angezeigt, dass du den Code einfach raus kopieren kannst ;)

PS funktioniert nur, wenn ne x2Script.xsl im selben Ordner ist..
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 ;)

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