Infos zum coderarray in script-dateien

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

ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Eintrag 5: Flags
Wert:
0x00 = nix :D
0x01 = Script enthält Objectreferenze -> speichern nicht möglich
0x02 = Script enthält Sektorreferenze -> umwandeln und speichern / laden und umwandeln

Gruß ticaki

P.S. ich finde tüffteln macht mehr spaß.
Zur Zeit nicht aktiv
laprican
Posts: 196
Joined: Fri, 13. Feb 04, 16:56
x2

Post by laprican »

ohh! jetzt hast du alles verraten :(
naja nagut, die vermutungen bestätigt

aber im grunde sind es die ersten beiden bits und keine ganzen zahlen,
denn jede ungerade zahl hat den selben effekt wie 1 und jede und jede zweite gerade zahl(2,6,10) wie 2, welches alles die zahlen sind die die letzten beiden bits identisch zu 1 und 2 haben.

BTW: Der Scripteditor ist etwas buggy dadrin zu überprüfen, ob es eine Objektreferenz gibt, wenn sie in einer ARRAY{ } konstruktion ist, kann man das script speichern.
the-last-drageon
Posts: 17
Joined: Tue, 3. Aug 04, 10:20
x3

Post by the-last-drageon »

was ist genau mit Objectreferenz gemeint?
User avatar
SpaceTycoon
Posts: 1190
Joined: Wed, 6. Nov 02, 20:31
x4

Post by SpaceTycoon »

the-last-drageon wrote:was ist genau mit Objectreferenz gemeint?
Das ist der dämliche Kram, der mir schonmal den letzten Nerv raubte. :evil:
Wenn Du ein init.xyz.xml script schreibst und dort wird innerhalb eines Befehles auf einen Sektor direkt Bezug genommen (zum Beispiel bei "find station..." ein Sektor fest angegeben). Dann ist das ein statischer Objektbezug und das Script läßt sich nicht speichern. Allerdings gibt es da keine Fehlermeldung. Man merkt erst Tage später, daß das Script nicht gespeichert wurde, wenn man sich es wieder läd und anschaut.

@ticaki
Irgendwann nach Monaten sinnlosen Tüftelns hört der Spaß aber langsam auf... :headbang:
the-last-drageon
Posts: 17
Joined: Tue, 3. Aug 04, 10:20
x3

Post by the-last-drageon »

bei sektoren kann man speichern.
Man kann also Skripte nicht sich auf ein festes Objekt beziehen lassen, sondern muss mit this oder playership arbeiten, oder? :gruebel:
laprican
Posts: 196
Joined: Fri, 13. Feb 04, 16:56
x2

Post by laprican »

exakt!
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

SpaceTycoon wrote:
the-last-drageon wrote:was ist genau mit Objectreferenz gemeint?
Das ist der dämliche Kram, der mir schonmal den letzten Nerv raubte. :evil:
Wenn Du ein init.xyz.xml script schreibst und dort wird innerhalb eines Befehles auf einen Sektor direkt Bezug genommen (zum Beispiel bei "find station..." ein Sektor fest angegeben). Dann ist das ein statischer Objektbezug und das Script läßt sich nicht speichern. Allerdings gibt es da keine Fehlermeldung. Man merkt erst Tage später, daß das Script nicht gespeichert wurde, wenn man sich es wieder läd und anschaut.

@ticaki
Irgendwann nach Monaten sinnlosen Tüftelns hört der Spaß aber langsam auf... :headbang:
Dämlich? Wie willst du eine Objectreferenz speichern, so dass sie beim nächsten Laden des Skriptes noch gültig ist? (Sektoren kann man direkt angeben, die werden mit ihren x/y Werten gespeichert und nicht anhand der Objektreferenz(Referenze -> eine "zufällige" Zahl die sich in diesem Spiel auf ein bestimmtes Objekt bezieht).
laprican wrote:ohh! jetzt hast du alles verraten :(
naja nagut, die vermutungen bestätigt

aber im grunde sind es die ersten beiden bits und keine ganzen zahlen,
denn jede ungerade zahl hat den selben effekt wie 1 und jede und jede zweite gerade zahl(2,6,10) wie 2, welches alles die zahlen sind die die letzten beiden bits identisch zu 1 und 2 haben.

BTW: Der Scripteditor ist etwas buggy dadrin zu überprüfen, ob es eine Objektreferenz gibt, wenn sie in einer ARRAY{ } konstruktion ist, kann man das script speichern.
Das sind Flags :)

Gruß ticaki
Zur Zeit nicht aktiv
the-last-drageon
Posts: 17
Joined: Tue, 3. Aug 04, 10:20
x3

Post by the-last-drageon »

So ich hab mich mal dran gesetzt alle Informationen über den Codearray von der Xai Corp Seite zu übersetzen und hab dann gleich den größten Teil der Zuordnungen der Zahlen zu den Objekten, usw. hineinkopiert.

So und hier ist der Link
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Wow :o


Respekt..das war ein hartes Stück arbeit :)
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
the-last-drageon
Posts: 17
Joined: Tue, 3. Aug 04, 10:20
x3

Post by the-last-drageon »

So jetzt hab ich noch ein paar kleinigkeiten Aktualisiert.

Wer Fehler findet oder meint dass etwas fehlt bitte melden
User avatar
SpaceTycoon
Posts: 1190
Joined: Wed, 6. Nov 02, 20:31
x4

Post by SpaceTycoon »

ticaki wrote:Dämlich? Wie willst du eine Objectreferenz speichern, so dass sie beim nächsten Laden des Skriptes noch gültig ist? (Sektoren kann man direkt angeben, die werden mit ihren x/y Werten gespeichert und nicht anhand der Objektreferenz(Referenze -> eine "zufällige" Zahl die sich in diesem Spiel auf ein bestimmtes Objekt bezieht).
Stimmt, das war kein Sektor, ein Fehler von mir.
Das war seinerzeit eine Station. Ich hatte in einem init... script direkt eine Station mit einem Befehl angesprochen/eingetragen. Das Script wurde nicht gespeichert. Jedesmal nach augenscheinlich erfolgreichem Speichern des geänderten Scrites aus dem Scripteditor mußte ich beim wieder Laden des Scriptes feststellen, daß es unverändert geblieben war.
User avatar
SpaceTycoon
Posts: 1190
Joined: Wed, 6. Nov 02, 20:31
x4

Post by SpaceTycoon »

the-last-drageon wrote:So ich hab mich mal dran gesetzt alle Informationen über den Codearray von der Xai Corp Seite zu übersetzen und hab dann gleich den größten Teil der Zuordnungen der Zahlen zu den Objekten, usw. hineinkopiert.
So und hier ist der Link
Super Arbeit. Ich habe mir die PDF mal angeschaut und mit der Sprach-XML verglichen.
In der (entpackten) Sprachdatei 490001.xml im Ordner /t gibt es ab der <page id="1265" abwärts jede Menge Einträge für den Script Editor. Dort sind die von Dir dargestellten Scriptbefehle, Datentypen, Konstanten, usw. genauso dargestellt, wie in Deiner PDF-Datei.
Um festzustellen ob man alle Scriptbefehle (oder auch Datentypen, Konstanten, etc.) anhand der Nummern kennt, braucht man also nur in die Sprachdatei reinzuschauen.
Oder anders gesagt, die <t id> Nummer eines Scriptbefehles (z.Bsp. "wait") oder Konstante oder Datentype, etc. innerhalb der Sprach-XML 490001.xml ist identisch mit der Nummer im Codearray.

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