Dokumentation des Script-XML-Formats

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

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

mjs
Posts: 172
Joined: Sun, 30. Nov 03, 09:02
x3tc

Dokumentation des Script-XML-Formats

Post by mjs »

Hi,

ich habe die Frage auch im englischsprachigen Forum auch schon gestellt. Hier die Übersetzung:

Gibt es eine Dokumentation des Script-XML-Formats? Ich interessiere mich vor allem für den Bereich <codearray>.

Da ich den internen X2-Editor nicht mag, spiele ich mit dem Gedanken selbst einen Script-Editor zu schreiben, ggf. mit Drag'n Drop der einzelnen Elemente und Darstellung als Nassi-Shneidermann-Diagramm.

Nach einem kurzen Blick (1/2 Std.) über die Datei zeigt eine ziemlich einfache Struktur, wenngleich es aber noch viele Fragen gibt.

Hier ist, was ich bis jetzt herausgefunden habe:

Code: Select all

Befehl: find station: sector =
794   opcode
6   target var index
0x20002   type: source var index
4   source var index
0   type: NULL
0   unused
0   type: NULL
0   unused
0x20003   type: constant
111   Find.Multiple
0   type: NULL
0   unused
4   type: Number
999999   number
4   type: Number
999   number
0   type: NULL
0   unused

Befehl: get max sectors in x direction
801   opcode
0   target var index

Befehl: get max sectors in y direction
802   opcode
1   target var index

Befehl: get sector from universe index: x=?, y=?
800   opcode
4   target var index
0x20002   type: source var index
2   source var index
0x20002   type: source var index
3   source var index

Befehl: write to player log: printf
402   opcode
5   type: string
???   string
0x20002   type: source var index
11   source var index
0x20002   type: source var index
5   source var index
0   type: NULL
0   unused
0   type: NULL
0   unused
0   type: NULL
0   unused

Kommentar:
9   opcode
3   type: instruction
???   instruction as comment

Befehl: if/while/assignment
104   opcode
2   target var index
1   type: assignment
4   type: number
0   value
1   type: end of instruction ???
-1   ???


Befehl: if/while/assignment
104   opcode
0xA0001A09   type: non-assignment ???
3   type: while ???
0x20002   type: source var index
2   source var index
0x20002   type: source var index
0   source var index
15   ???
1   ???
3   ???
-1   ???
1   ???
-2   ???
Die Zeilen mit den "???" am Ende zeigen, wo ich mir nicht sicher bin, was die bedeuten sollen, aber die Grundstruktur ist klar.

Grüße,
Mark
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Schau mal hier:

http://www.egosoft.com/x2/forum/viewtopic.php?t=59179

Vielleicht geht's dann weiter. ;)

Gruß
Lucike
Image
laprican
Posts: 196
Joined: Fri, 13. Feb 04, 16:56
x2

Post by laprican »

Gibt es eine Dokumentation des Script-XML-Formats?
Ja, in meinem Kopf ;)

die ??? bei den if anweisungen ist das was oben steht nur nochmal in anderer reinfolge, und zwar in der reinfolge, wie sie angezeig werden sollen...
wenns ne negative zahl ist wird der index, an welche stelle die operation geschoben werden soll geändert.

Am beispiel:

Code: Select all

Befehl: if/while/assignment 
104   <--- immer welcher befehl
0xA0001A09   <--- wenn positiv, nen index auf die variabel, der was zu gewiesen werden soll, sonst interressiert nur das erste byte:
1: garnichts, daher " ="
2: START
3: if
4: if not
5: else if
6: else if not
7: skip if
8: skip if not
9: while
10: while not

-----

3   <--- es folgen 3 befehle
0x20002   type: source var index (Nr 1)
2   source var index (Nr 1)
0x20002   type: source var index  (Nr 2)
0   source var index (Nr 2)
15   <--- type: operation (Nr 3)
1   <--- jetzt index auf die operation, welche das kann man der ??0001.xml entnhemen (Nr 3)
3   <--- nochmal 3 elemente folgen
-1   <--- index: alles was folgt an 2ter stelle einfügen(array beginnt wie immer bei 0) 
1   <--- operation : s.o.
-2   <--- überflüssig, weil keine operation mehr folgt, ist warscheinlich nur nen überbeibsel nicht sauberen speicherns ;)
Keine Garantie für Richtigkeit
mjs
Posts: 172
Joined: Sun, 30. Nov 03, 09:02
x3tc

Post by mjs »

laprican wrote:
Gibt es eine Dokumentation des Script-XML-Formats?
Ja, in meinem Kopf ;)

die ??? bei den if anweisungen ist das was oben steht nur nochmal in anderer reinfolge, und zwar in der reinfolge, wie sie angezeig werden sollen...
wenns ne negative zahl ist wird der index, an welche stelle die operation geschoben werden soll geändert.
Aha, das ist genau das, was ich suche :) . Vielleicht kannst du mir das ja mal aufschreiben? Das wird zwar vermutlich einiges an Arbeit sein, wäre für mich aber trotzdem sehr hilfreich.

Mark

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