[TUTORIAL] Was bei Readtexteinträgen und t-files Doppelbelegung tun?

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

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

User avatar
-Ford-
Posts: 2064
Joined: Wed, 18. Jan 06, 18:40
x4

[TUTORIAL] Was bei Readtexteinträgen und t-files Doppelbelegung tun?

Post by -Ford- »

Dies ist ein Tutorial für Newbies im Scriptbereich und es befasst sich mit dem Problem von Readtexteinträgen im Kommandomenü und Doppelbelegungen von ID bei der Installation von Scripten:


1. Was tun wenn ein neues Script installiert wurde, die Text ID noch nicht in meinem Script - Ordner benutzt war und jetzt sehe ich in einem Kommandomenü Readtexteinträge?

2. Was tun wenn die Text ID in meinem t-files Ordner schon belegt ist?
Ponyfabulous
User avatar
-Ford-
Posts: 2064
Joined: Wed, 18. Jan 06, 18:40
x4

Post by -Ford- »

Was tun wenn ein neues Script installiert wurde, das t-file noch nicht in meinem t-files Ordner vorhanden war und jetzt sehe ich in einem Kommandomenü Readtexteinträge?



Dieses Problem lässt sich folgendermassen lösen:
Öffne die t-files Datei die dem Script beilag mit dem Windows Text-Editor, (solltest du nicht wissen welche es ist kannst du den Scripter fragen der dieses Script geschrieben hat, oder du dekomprimierst es erneut), und schaue dir den Code an:

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<language id="49">
<page id="2010" title="" descr="">
 <t id="457">Warentransporter</t>
 <t id="1158">Warentransporter</t>
</page>
<page id="2011" title="" descr="">
 <t id="457">...</t>
 <t id="1158">...</t>
</page>
</language>
*Beispiel aus einem meiner Scripte
In diesem Beispiel sind die Kommandos

Code: Select all

<t id="457">Warentransporter</t>
und
<t id="1158">Warentransporter</t>
Die letzten beiden Zahlen geben an der vievielte Eintrag aus einer bestimmtem Kommandomenü sind. Die Zahl, bzw. die beiden Zahlen davor bezeichnen das Kommandomenü:

Code: Select all

2xx: COMMAND_TYPE_NAV_xx
3xx: COMMAND_TYPE_FIGHT_xx
4xx: COMMAND_TYPE_TRADE_xx
5xx: COMMAND_TYPE_SPECIAL_xx
6xx: COMMAND_TYPE_PIRACY_xx
7xx: COMMAND_TYPE_CUSTOM_xx
8xx: COMMAND_TYPE_GENERAL_xx
9xx: COMMAND_TYPE_TURRET
11xx: COMMAND_TYPE_STATION_xx
12xx: COMMAND_TYPE_SHIP_xx

Bevor es weiter geht solltet ihr hier nach einer als frei gekennzeichneten KommandoID im gleichen Kommandomenü schauen. Notiert euch die Nummer die statt xx dort hinter steht. Nun ändert die ID die vor dem fraglichen Kommando steht:

Code: Select all

<t id="457">Warentransporter</t> 
--> <t id="4xx">Warentransporter</t>
Wichtig ist das ihr die ID sowohl hier

Code: Select all

<page id="2010" title="" descr="">
 <t id="457">Warentransporter</t>
 <t id="1158">Warentransporter</t>
</page>
als auch hier

Code: Select all

<page id="2011" title="" descr="">
 <t id="457">...</t>
 <t id="1158">...</t>
</page>
ändert. Dann speichert das t-files ab [Strg+S]. Nun startet X3 und öffnet den Script Editor. Sucht das initialisierungsscript (meist mit setup.plugin.{script.name}, ihr könnt sonst auch den Scripter der das Script gemacht hat fragen), öffnet es und sucht die Zeile in der der Befehl der Vorher in dem t-files stand also im Beispiel

Code: Select all

COMMAND_TYPE_TRADE_57
und ändert es in den neuen Befehl um, in dem ihr den alten mit enter öffnet und runterscrollt bis zu "Object Commands"dort sucht ihr das neue Kommandoraushier wäre es

Code: Select all

COMMAND_TYPE_TRADE_xx
. Bestätigt es durch enter. Macht das überall wo der alte Befehl steht, im agnzen Script. Wenn ihr fertig seit, speichert das Script ab und drückt Escape, geht dann auf "Reinit Script Caches" und wartet kurz. Dann sollten die Befehle erscheinen.
Ponyfabulous
User avatar
-Ford-
Posts: 2064
Joined: Wed, 18. Jan 06, 18:40
x4

Post by -Ford- »

Was tun wenn die Text ID in meinem t-files Ordner schon belegt ist?




Dieses Problem lässt sich relativ einfach lösen: Ändere den Namen der beigelgeten t-files und kopiere sie erst dann in den t-files Ordner. wichtig ist das die 49 im Namen beibehalten wird. Also notiert euch die vier neuen Zahlen hinter der 49. Der Name ist dann also 49xxxx. Diese Änderung muss auch im t-file vorgenommen werden!

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<language id="44">
zu

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<language id="49">
Sucht das initialisierungsscript des Scriptes und öffnet es. In der ersten Zeile sollte stehen:

Code: Select all

load text id: yyyy
*yyyy stellt in diesem Fall die alten vier Zahlen hinter der 49 im alten Namen des t-files dar
ändert das yyyy in die neuen vier Zahlen hinter der 49 so das es dann so aussieht:

Code: Select all

load text id: xxxx
*xxxx stellt in diesem Fall die neuen vier Zahlen hinter der 49 im neuen Namen des t-files dar
Speichert das Script, drückt Escape und geht anschließend auf "Reinit Script Caches". Dann sollte das Spiel die neue ID mit den Kommandonamen laden.

Lt. Ford

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