Codebefehle: Unterschied zwischen den Versionen

Aus X-Lexikon
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{HinweisBox|'''1.:''' Dieser Artikel behandelt die Codebefehle im [[Scripteditor|X-internen Scripteditor]]. Zu anderen Scripteditoren ist bisher keine Übersicht erschienen.
{{HinweisBox|'''1.:''' Dieser Artikel behandelt die Codebefehle im [[Scripteditor|X-internen Scripteditor]]. Zu anderen Scripteditoren ist bisher keine Übersicht erschienen.
<br>'''2.:''' Die hier aufgeführten Befehle und Erläuterungen stammen aus dem Egosoft-Forum und gelten nur für X². Für X³ sind sie ähnlich und meist, aber nicht immer identisch.}}
<br>'''2.:''' Die hier aufgeführten Befehle und Erläuterungen stammen aus dem Egosoft-Forum und gelten nur für X². Für X³ sind sie ähnlich und meist, aber nicht immer identisch.}}
=Codebefehle=
==General Commands==
===Script Calls===
; <nowiki>@ <RetVar/IF/START> <RefObj> call script <Script Name>:<Parameter></nowiki>
: Startet ein anderes Script mit eventuellen Parametern auf null oder lokal auf dem Referenz-Objekt
; <nowiki>return <Value></nowiki>
: Beendet das Script und gibt eine Variable an das Elternscript zurück
===Arrays===
; <nowiki><RetVar> = array alloc: size=<Var/Number></nowiki>
: Erstellt ein Array mit X leeren Elementen
; <nowiki><RetVar/IF> <Var/Array>[<Var/Number>]</nowiki>
: Holt das Arrayelement X und schreibt es in die Variable
; <nowiki><Var/Array>[<Var/Number>] = <Value></nowiki>
: Legt den Inhalt des Arrayelementes X fest
; <nowiki><RetVar> = size of array <Var/Array></nowiki>
: Gibt die Größe des Arrays zurück
; <nowiki><RetVar> = clone array <Var/Array>: index <Var/Number> ... <Var/Number></nowiki>
: Klont das Array - beide Arrayvariablen sind dannach unabhängig
; <nowiki>copy array <Var/Array> index <Var/Number> ... <Var/Number> into array <Var/Array> at index <Var/Number></nowiki>
: Kopiert das Array - beide Arrayvariablen sind trotzdem noch miteinander verbunden (Änderung in 1 ändert auch in 2)
; <nowiki>insert <Value> into array <Var/Array> at index <Var/Number></nowiki>
: Fügt ein Element an die Stelle X des Arrays ein
; <nowiki>append <Value> to array <Var/Array></nowiki>
: Hängt ein Element an das Ende des Arrays an (Array wird automatisch vergrößert)
; <nowiki>remove element from array <Var/Array> at index <Var/Number></nowiki>
: Entfernt das Element X aus dem Array
; <nowiki>resize array <Var/Array> to <Var/Number></nowiki>
: Ändert die Größe des Arrays - hängt leere Elemente an bzw. löscht die letzten
==Sonstige==


 
1.001 <RetVar/IF><Expression>
...description: Standard Befehl um Variablen zuzuweisen, Schleifen zu bauen und Abfragen zu gestalten
1.002 inc <RetVar> =
...description: erhöht die Variable um 1
1.003 dec <RetVar> =
...description: vermindert die Variable um 1
1.004 @ <RetVar/IF> wait <Var/Number> ms
...description: wartet X ms mit der ausführung des scriptes (pflicht in größeren Scripten)
1.005 @ <RetVar/IF> wait randomly fo <Var/Number> to <Var/Number> ms
...description: wartet einen Zeitspanne von min bis max -1 ms
1.006 <Var> = random value from 0 to <Var/Number> -1
...description: generiert eine Zufallszahl zwichen 0 und X -1
1.007 <Var> = random value from <Var/Number> to <Var/Number> -1
...description: generiert eine Zufallszahl zwischen X und Y -1
1.008 *<Comment>
...description: Kommentare (pflicht für signierte Scripte )
1.009 <RetVar> = script engine version
...description: gibt die Scriptengine versionsnr als integer zurück
1.010 <Var> = get script priority
...description: gibt die Priorität eines Scriptes zurück (höhere Prioritäten werden zuerst ausgeführt)
1.011 set script priority to <Var/Number>
...description: setzt die Priorität
1.012 <RetVar/IF> is script with prio <Var/Number> on stack
...description: überprüft ob ein Script mit der Priorität X auf diesem Objekt auf dem Stack liegt
1.0121 <RefObj> interrupt with script < Script Name > and prio <Var/Number>: arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value>
...description: unterbricht das laufende Script mit dem Script X und mit der Priorität Y
1.013 <RetVar/IF> get task id
...description: gibt die Tasknummer zurück
1.014 <RetVar/IF> get global task id
...description: gibt die globale Tasknummer zurück
1.015 <RefObj> interrupt with script <Script Name> and prio <Var/Number>
...description: unterbricht das laufende Script mit dem Script X und mit der Priorität Y
1.016 <RefObj> connect ship command/signal <Object Command/Signal> to script <Script Name> with prio <Var/Number>
...description: verbindet ein Signal mit einem Script
1.017 <RefObj> set ship command/signal <Object Command/Signal>
1.018 <RefObj> ignore ship command/signal <Object Command/Signal>
1.019 enable signal/interrupt handling: <Var/Number>
1.020 <RetVar/IF> is signal/interrupt handling on
...description: fragt die signal und interrupt Behandlung ab (ob aktiv)
1.021 global ship map: set: key=<Object Command/Signal>,class=<Var/Class>,race=<Var/Race>,script=<Script Name>,prio=<Var/Number>
...description: Verbindet ein Commando mit einer Schiffklasse oder/und race
1.022 global ship map: remove: key=<Object Command/Signal>,class=<Var/Class>,race=<Var/Race>
...description: entfernt die verbindung
1.023 global ship map: ignore: key=<Object Command/Signal>,class=<Var/Class>,race=<Var/Race>
...description: ignoriert beim verbinden folgende Schiffsklassen und/oder Rassen
1.024 set ship command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware>
...description: verbindet Commandos mit Warenupgrades
1.025 <RetVar> = get ship command upgrade: command=<Object Command/Signal>
...description: gibt die Ware für ein Commando zurück
1.026 set script command: <Object Command/Signal>
1.027 <RetVar/IF> get script command
1.028 set script command target: <Value>
1.029 <RetVar/IF> get script command target
1.030 <RetVar> = datatyp[<Value>]
...description: gibt einen datentyp zurück
1.031 <RetVar/IF> is datatyp[<Value>] == <Var/Script Data Type>
...description: vergleicht ob eine Variable einem bestimmten datentyp entspricht
1.032 <RetVar> = read text: page=<Var/Number> id=<Var/Number>
...description: liest einen Textid aus einem XML-File
1.033 <RetVar> = sprintf: fmt=<Var/String>,<Value>,<Value>,<Value>,<Value>,<Value>
...description: fügt in einen String Variablen ein platzhalter für die Variablen ist %s
1.034 <RetVar> = sprintf: pageid=<Var/Number> textid=<Var/Number>,<Value>,<Value>,<Value>,<Value>,<Value>
...description: das selbe nur mit einem XML-File
1.035 load text: id=<Var/Number>
...description: läd einen XML-File
1.036 <RetVar> = state of news article: page=<Var/Number> id=<Var/Number>
1.037 set state of news article: page=<Var/Number> id=<Var/Number> to <Var/Number>
1.038 <RetVar/IF> system date is month=<Var/Number>,day=<Var/Number>
1.039 <RetVar> = playing time
...description: spielzeit als integer
1.040 infinite loop detection enabled=<Var/Number>
...description: bricht unendliche schleifen ab!
1.041 set ship command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware> script=<Script Name>
...description: verbindet Commandos mit Waren und prüft ob das Kommando (0 weg, 1 angezeigt, 2 ausgegraut) aktiv ist, das wird durch den Rückgabewert des Scriptes bestimmt
1.042 <RefObj> set local variable: name=<Var/String> value=<Value>
...description: setze eine locale Variable die auch von anderen Scripten ausgelesen werden kann
1.043 <RetVar/IF> <RefObj> get local variable: name=<Var/String>
...description: liest sie aus
1.044 set global variable: name=<Var/String> value=<Value>
...description: das ganze global
1.045 <RetVar/IF> get global variable: name=<Var/String>
...description: ebenfalls global
1.046 al engine: register script = <script name>
...description: KEINE BESCHREIBUNG
1.047 al engine: unregister script <script name>
...description: KEINE BESCHREIBUNG
1.048 al engine: set plugin <value> description to <string>
...description: KEINE BESCHREIBUNG
1.049 al engine: set plugin <value> timer interval to <number> s
...description: KEINE BESCHREIBUNG
1.050 <RetVar/IF> = is plot <number> state flag <value>
...description: Fragt ab wie der Plotstatus ist
1.051 <RetVar> = get script version
...description: gibt die scriptversionsnr zurück
1.052 <RetVar> = get script name
...description: gibt den Scriptnamen zurück
1.053 <RefObj> -> interrupt task <number> with script <script name> and prio <number>: arg1=<value> arg2=<value> arg3=<value> arg4=<value>
...description: das selbe wie oben nur bei tasks
1.054 <RefObj> -> start task <number> with script <script name> and prio <number>: arg1=<value> arg2=<value> arg3=<value> arg4=<value> arg5=<value>
...description: Startet einen task auf einem Objekt, diese laufen gleichzeitig nicht nacheinander
1.055 <RetVar/IF> = <RefObj> -> get tradeable ware array from station
...description: gibt die Warenliste einer Station zurück
1.056 <RetVar/IF> = get Khaak aggression level
...description: Wie böse sind die Khaak?
1.057 <RetVar/IF> = get random name: race=<race>
...description: gibt einen zufälligen Namen einer rasse zurück
1.058 set Khaak aggression level to <number>
...description: switch level { case 0: break; case 100: ; break;} default = 20;





Version vom 8. Juli 2006, 19:22 Uhr

Achtungzeichen.gif Achtung: 1.: Dieser Artikel behandelt die Codebefehle im X-internen Scripteditor. Zu anderen Scripteditoren ist bisher keine Übersicht erschienen.
2.: Die hier aufgeführten Befehle und Erläuterungen stammen aus dem Egosoft-Forum und gelten nur für X². Für X³ sind sie ähnlich und meist, aber nicht immer identisch.

Codebefehle

General Commands

Script Calls

@ <RetVar/IF/START> <RefObj> call script <Script Name>:<Parameter>
Startet ein anderes Script mit eventuellen Parametern auf null oder lokal auf dem Referenz-Objekt
return <Value>
Beendet das Script und gibt eine Variable an das Elternscript zurück

Arrays

<RetVar> = array alloc: size=<Var/Number>
Erstellt ein Array mit X leeren Elementen
<RetVar/IF> <Var/Array>[<Var/Number>]
Holt das Arrayelement X und schreibt es in die Variable
<Var/Array>[<Var/Number>] = <Value>
Legt den Inhalt des Arrayelementes X fest
<RetVar> = size of array <Var/Array>
Gibt die Größe des Arrays zurück
<RetVar> = clone array <Var/Array>: index <Var/Number> ... <Var/Number>
Klont das Array - beide Arrayvariablen sind dannach unabhängig
copy array <Var/Array> index <Var/Number> ... <Var/Number> into array <Var/Array> at index <Var/Number>
Kopiert das Array - beide Arrayvariablen sind trotzdem noch miteinander verbunden (Änderung in 1 ändert auch in 2)
insert <Value> into array <Var/Array> at index <Var/Number>
Fügt ein Element an die Stelle X des Arrays ein
append <Value> to array <Var/Array>
Hängt ein Element an das Ende des Arrays an (Array wird automatisch vergrößert)
remove element from array <Var/Array> at index <Var/Number>
Entfernt das Element X aus dem Array
resize array <Var/Array> to <Var/Number>
Ändert die Größe des Arrays - hängt leere Elemente an bzw. löscht die letzten

Sonstige

1.001 <RetVar/IF><Expression> ...description: Standard Befehl um Variablen zuzuweisen, Schleifen zu bauen und Abfragen zu gestalten 1.002 inc <RetVar> = ...description: erhöht die Variable um 1 1.003 dec <RetVar> = ...description: vermindert die Variable um 1 1.004 @ <RetVar/IF> wait ms ...description: wartet X ms mit der ausführung des scriptes (pflicht in größeren Scripten) 1.005 @ <RetVar/IF> wait randomly fo to ms ...description: wartet einen Zeitspanne von min bis max -1 ms 1.006 = random value from 0 to -1 ...description: generiert eine Zufallszahl zwichen 0 und X -1 1.007 = random value from to -1 ...description: generiert eine Zufallszahl zwischen X und Y -1 1.008 *<Comment> ...description: Kommentare (pflicht für signierte Scripte ) 1.009 <RetVar> = script engine version ...description: gibt die Scriptengine versionsnr als integer zurück 1.010 = get script priority ...description: gibt die Priorität eines Scriptes zurück (höhere Prioritäten werden zuerst ausgeführt) 1.011 set script priority to ...description: setzt die Priorität 1.012 <RetVar/IF> is script with prio on stack ...description: überprüft ob ein Script mit der Priorität X auf diesem Objekt auf dem Stack liegt 1.0121 <RefObj> interrupt with script < Script Name > and prio : arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value> ...description: unterbricht das laufende Script mit dem Script X und mit der Priorität Y 1.013 <RetVar/IF> get task id ...description: gibt die Tasknummer zurück 1.014 <RetVar/IF> get global task id ...description: gibt die globale Tasknummer zurück 1.015 <RefObj> interrupt with script <Script Name> and prio ...description: unterbricht das laufende Script mit dem Script X und mit der Priorität Y 1.016 <RefObj> connect ship command/signal <Object Command/Signal> to script <Script Name> with prio ...description: verbindet ein Signal mit einem Script 1.017 <RefObj> set ship command/signal <Object Command/Signal> 1.018 <RefObj> ignore ship command/signal <Object Command/Signal> 1.019 enable signal/interrupt handling: 1.020 <RetVar/IF> is signal/interrupt handling on ...description: fragt die signal und interrupt Behandlung ab (ob aktiv) 1.021 global ship map: set: key=<Object Command/Signal>,class=,race=,script=<Script Name>,prio= ...description: Verbindet ein Commando mit einer Schiffklasse oder/und race 1.022 global ship map: remove: key=<Object Command/Signal>,class=,race= ...description: entfernt die verbindung 1.023 global ship map: ignore: key=<Object Command/Signal>,class=,race= ...description: ignoriert beim verbinden folgende Schiffsklassen und/oder Rassen 1.024 set ship command upgrade: command=<Object Command/Signal> upgrade= ...description: verbindet Commandos mit Warenupgrades 1.025 <RetVar> = get ship command upgrade: command=<Object Command/Signal> ...description: gibt die Ware für ein Commando zurück 1.026 set script command: <Object Command/Signal> 1.027 <RetVar/IF> get script command 1.028 set script command target: <Value> 1.029 <RetVar/IF> get script command target 1.030 <RetVar> = datatyp[<Value>] ...description: gibt einen datentyp zurück 1.031 <RetVar/IF> is datatyp[<Value>] == ...description: vergleicht ob eine Variable einem bestimmten datentyp entspricht 1.032 <RetVar> = read text: page= id= ...description: liest einen Textid aus einem XML-File 1.033 <RetVar> = sprintf: fmt=,<Value>,<Value>,<Value>,<Value>,<Value> ...description: fügt in einen String Variablen ein platzhalter für die Variablen ist %s 1.034 <RetVar> = sprintf: pageid= textid=,<Value>,<Value>,<Value>,<Value>,<Value> ...description: das selbe nur mit einem XML-File 1.035 load text: id= ...description: läd einen XML-File 1.036 <RetVar> = state of news article: page= id= 1.037 set state of news article: page= id= to 1.038 <RetVar/IF> system date is month=,day= 1.039 <RetVar> = playing time ...description: spielzeit als integer 1.040 infinite loop detection enabled= ...description: bricht unendliche schleifen ab! 1.041 set ship command upgrade: command=<Object Command/Signal> upgrade= script=<Script Name> ...description: verbindet Commandos mit Waren und prüft ob das Kommando (0 weg, 1 angezeigt, 2 ausgegraut) aktiv ist, das wird durch den Rückgabewert des Scriptes bestimmt 1.042 <RefObj> set local variable: name= value=<Value> ...description: setze eine locale Variable die auch von anderen Scripten ausgelesen werden kann 1.043 <RetVar/IF> <RefObj> get local variable: name= ...description: liest sie aus 1.044 set global variable: name= value=<Value> ...description: das ganze global 1.045 <RetVar/IF> get global variable: name= ...description: ebenfalls global 1.046 al engine: register script = <script name> ...description: KEINE BESCHREIBUNG 1.047 al engine: unregister script <script name> ...description: KEINE BESCHREIBUNG 1.048 al engine: set plugin <value> description to <string> ...description: KEINE BESCHREIBUNG 1.049 al engine: set plugin <value> timer interval to <number> s ...description: KEINE BESCHREIBUNG 1.050 <RetVar/IF> = is plot <number> state flag <value> ...description: Fragt ab wie der Plotstatus ist 1.051 <RetVar> = get script version ...description: gibt die scriptversionsnr zurück 1.052 <RetVar> = get script name ...description: gibt den Scriptnamen zurück 1.053 <RefObj> -> interrupt task <number> with script <script name> and prio <number>: arg1=<value> arg2=<value> arg3=<value> arg4=<value> ...description: das selbe wie oben nur bei tasks 1.054 <RefObj> -> start task <number> with script <script name> and prio <number>: arg1=<value> arg2=<value> arg3=<value> arg4=<value> arg5=<value> ...description: Startet einen task auf einem Objekt, diese laufen gleichzeitig nicht nacheinander 1.055 <RetVar/IF> = <RefObj> -> get tradeable ware array from station ...description: gibt die Warenliste einer Station zurück 1.056 <RetVar/IF> = get Khaak aggression level ...description: Wie böse sind die Khaak? 1.057 <RetVar/IF> = get random name: race=<race> ...description: gibt einen zufälligen Namen einer rasse zurück 1.058 set Khaak aggression level to <number> ...description: switch level { case 0: break; case 100: ; break;} default = 20;




Siehe auch

{{#ifeq:||

}}

{{#ifeq:||

}}