keine Erklärung der Befehle (User vervollständigen)

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

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

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

keine Erklärung der Befehle (User vervollständigen)

Post by ticaki » Thu, 22. Jul 04, 12:43

Londo Molari wrote:
ArcaJeth[D6a] wrote: Zum Schluss verweise ich mal noch auf Dieter Nuhr, von ihm stammt ein IMO sehr guter Satz - es war irgendwas mit "keine Ahnung" und "Fresse halten" :wink:
ich sehe da jetzt zwar keinen Grund angreifend zu werden - aber wenn du der meinung bist das es sein muß bitte - tu dir keinen Zwang an.

du gehst im übrigen am thema vorbei - hier gehts darum mit einem"handbuch" auf dauer alle zu entlasten nicht darum ob man die Leute im Chat fragen kann.

der Post von BurnIt kann da er von Egosoft ist als zusätzliche Werbung ausgelegt werden -wa zu gewährleistungsansprüchen gegen Egosoft führt.
hierist nur entscheiden das man eine Doku angekndigt hat wielannge wer darauf wartet und ob das sinnvoll ist oder ob man ihn lieber nicht nutzen sollte ist dabei vollkommen belangloß.

und die frage danach wer was scriptet und signiert ist hier auch nicht das thema, genausowenig ob jemand anderes dann was davon hat oder nicht - das scripter hier mit den Scripts die signiert werden was für die Community tun ist wohl ausreichend bekannt - der Punkt ist aber das auch ander Käufer von X2 gerne den SE nutzen möchten und das diese gerne eine Doku für den SE hätten, schlicht um nicht immer Pausenlos nachfragen zu müssen.

das ist weder eine übertriebene vorderung an Egosoft noch ein schälern der Arbeit der Scripter - warum sollten aber viele daruf verzichten?
es ist ein teil des Spieles für das sie gezahlt haben und das sie zu recht gerne nutzen möchten - da sehe ich nichts verwerfliches in diesem anliegen.

und Ob dus glaubst oder nicht manch einer möchte gerne wenn er alles erreicht hat vieleicht gerne mal einfach diese berühmten 4 zeilen verwenden - wüste dann aber nicht wie.
geschweigeden das sich evtl. viele beim lesen des Forums und der Ankündigung von BurnIt gesagt haben - hey sogam mit Script und Modder möglichkeit das Teil kaufe ich - und nun stehen sie da weil die Doku nicht kommt - auch hier ist der wunsch das diese endlich mal gemacht wird kein verbrechen gegen Egosoft oder die Scripter.

genausowenig habe ich behauptet das Scripter faul sind - ich habe lediglich gesagt das es jedem scripter durchaus möglich wäre seine befehle die er benutzt zu erklären jedesmal bevor man den PC abschaltet mal ne zeile oder 2 zu nem Befehl zu tippen ist bestimmt machbar - auch wenn es unangenehm ist weil man lieber sowas nicht macht.

aber mal hand aufs herz wer von den Scriptern hat sich nicht für sich selbst erklärungen oder hinweise wie die befehle funken gemacht und diese ausgedruckt - warum also nicht mal alles sammeln und posten?
selbst wenn alles durcheinander ist - es findet sich bestimmt einer der das sortiert damit sie mit der Befehlsliste übereinstimmen.

die Leien hier als Verbrecher zu behandeln weil sie gerne ein "Handbuch" sprich erklärungen zu den befehlen haben möchten ist nicht gerade sehr sinnvoll.

und selbst Personen wie ticaki übersehen dann auch mal die simpelsten fehler - z.b. das 2 zeilen vertauscht werden müssen - das kann passieren, und ob da das Scripter Toturial dann ne hilfe ist das zu finden ist wunschdenken.
besonders da sie keinerlei bezug auf die verwendbaren befehle hat - sie ist zwar gut und erklärt einiges aber ohne die befehle zu verstehen ist sie nur die hälfte wert für jene die mit dem Proggen nicht von vornherein vertraud sind.

Warum also viele die es gerne nutzen wollen im dunklen lassen - haben die Scripter angst um ihr ansehen oder gibt es einen anderen grund dafür sich darüber aufzuregen das manche nicht nur zusehen wollen?

wo ist das Verbrechen das begangen wurde - nur weil man die Scripter bittet die befehle kurtz und knap für alle zu erklären? :?
es wird ja nicht verlangt diese in 2 stunden zu erklären - sondern schlicht mal mit den wichtigsten zu beginnen und dies nach und nach auszubaun - und je mehr das machen bzw. auf dauer machen können um so schneller wirds fertig werden.

da wird sich lieber immer darüber aufgeregt das einer nicht immer lächelt und das Kind beim namen nennt weil man sich selbst besser vorkommt - das es dabei nur um eine sache geht wird ignorriert - und auch wenn sich viele darüber aufregen, ich für meinen teil muß nicht höflich sein nur um beliebt zu sein - ich bin dafür ehrlich was meine meinung angeht - aber auch wenn ich diese meinung dann auch poste - ich würde mich dennoch nicht ausklammer wenn es um die hilfe für andere geht, selbst wenn das bedeutet alle 600 + x befehle zu erklären - nur da mir diese selbst ein rätsel sind kann ich das nicht tun.

jeder Scripter könnte es aber, muß aber nicht - dennoch wäre es ein fairer zug von ihnen ab und zu etwas zeit zu opfern. :P

und genau darum geht es - anderen zu helfen sich zurecht zu finden - freiwillig ohne jede secunde auf eine goldwage zu legen.
Egosoft hat es angekündigt fü die sollte es eher ein muß sein - die Scripter werden nur gebeten ihr wissen um die befehle für alle zugänglich zu machen.
wenn das ein verbrechen ist oder eine beleidigung gegenüber den scriptern bin ich und jeder andere der darum bittet schuldig. :wink:
Da wird einem ja richtig warm ums Herz :)

Gruß ticaki

P.S. Tja jetzt fühl ich mich wie ein Schw*** :D

Erläuterung erster Teil

1 General Commands

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: [ external image ] break; case 100: [ external image ]; break;} default = 20;



AL wird nicht beschrieben
und bei manchen bin ich mir nicht sicher deshalb hab ich mal nix hingeschrieben
Last edited by ticaki on Fri, 23. Jul 04, 19:19, edited 3 times in total.
Zur Zeit nicht aktiv

ComMcNeil
Posts: 1430
Joined: Thu, 11. Sep 03, 19:14
x3tc

Post by ComMcNeil » Thu, 22. Jul 04, 12:55

gute sache das, wenigstens beginnt mal einer damit
:thumb_up: :D
The gods made heavy metal and they saw that is was good
They said to play it louder than Hell
We promised that we would
When losers say it's over with you know that it's a lie
The gods made heavy metal and it's never gonna die

Deleted User

Post by Deleted User » Thu, 22. Jul 04, 13:12

:D respeckt - ticaki du bist doch einer der Besten hier - vielen dank für deine Mühen und die Arbeit an den erklärungen .

das ist eine sehr gute tat, und klare und gute erklärungen - danke. :D

ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth » Thu, 22. Jul 04, 13:43

Hier auch mein Teil - ich hoffe es hilft ;)

1.2 General Commands->Script Calls

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

1.3 General Commands->Arrays

1.3.001 <RetVar> = array alloc: size=<Var/Number>
...description: erstellt ein Array mit X leeren Elementen
1.3.002 <RetVar/IF> <Var/Array>[<Var/Number>]
...description: holt das Arrayelement X und schreibt es in die Variable
1.3.003 <Var/Array>[<Var/Number>] = <Value>
...description: legt den Inhalt des Arrayelementes X fest
1.3.004 <RetVar> = size of array <Var/Array>
...description: gibt die Größe des Arrays zurück
1.3.005 <RetVar> = clone array <Var/Array>: index <Var/Number> ... <Var/Number>
...description: klont das Array - beide Arrayvariablen sind dannach unabhängig
1.3.006 copy array <Var/Array> index <Var/Number> ... <Var/Number> into array <Var/Array> at index <Var/Number>
...description: kopiert das Array - beide Arrayvariablen sind trotzdem noch miteinander verbunden (Änderung in 1 ändert auch in 2)
1.3.007 insert <Value> into array <Var/Array> at index <Var/Number>
...description: fügt ein Element an die Stelle X des Arrays ein
1.3.008 append <Value> to array <Var/Array>
...description: hängt ein Element an das Ende des Arrays an (Array wird automatisch vergrößert)
1.3.009 remove element from array <Var/Array> at index <Var/Number>
...description: entfernt das Element X aus dem Array
1.3.010 resize array <Var/Array> to <Var/Number>
...description: ändert die Größe des Arrays - hängt leere Elemente an bzw. löscht die letzten


2 Audio Commands

2.001 play sample <Var/Number>
...description: spielt das Soundsample X (Link zur Liste hier)
2.002 play sample: incoming transmission <Var/Number>, from object <Value>
...description: spielt das "Eingehende Nachricht Sample"
2.003 <RefObj> send audio message <Var/Number> to player
...description: spielt eine Audiomeldung ab (wie z.B. das "Bei der Königin" beim angreifen eines Boron-Schiffes)
2.004 send incoming message <Var/String> to player: display it=<Var/Number>
...description: schickt eine Nachricht an den Spieler (ins Logbuch) wird auf Wunsch sofort angezeigt (display it=true)
2.005 <RetVar/IF/START> -> speak text: page=<number> id=<number> priority=<number>
...description: ein Text aus der Sprach-XML wird gesprochen wenn der dazugehörige Sound vorhanden ist. Priorität geht von 0-99 und sollte 50 nicht übersteigen.


3 Logbook Commands

3.001 write to player logbook <Value>
...description: schreibt einen Text in das Logbuch
3.002 write to player logbook: sprintf: fmt=<Var/String>,<Value>,<Value>,<Value>,<Value>,<Value>
...description: wie oben, jedoch mit der Möglichkeit Variablen in den Text zu bringen ( '%s' wird später durch die Variable ersetzt)
3.003 write to player logbook: sprintf: pageid=<Var/Number> textid=<Var/Number>,<Value>,<Value>,<Value>,<Value>,<Value>
...description: wie oben jedoch wird der Text aus der Sprach-XML geholt
3.004 <RefObj> write to logbook <Value>
...description: schreibt einen einfachen Wert in das Logbuch (keinen String/Text)
3.005 write to log file #<Var/Number> append=<Var/Number> value=<Value>
...description: wie der Logbuchbefehl, nur wird der Text auf die Festplatte geschrieben (Datei "Log<Number>.txt"), Append=True fügt den Text an das Ende der Datei, False erstellt die Datei neu
3.006 write to log file #<Var/Number> append=<Var/Number> printf: fmt=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value>
...description: der Logbuchbefehl, nur in eine externe Datei
3.007 write to log file #<Var/Number> append=<Var/Number>[/color] printf: pageid=<Var/Number> textid=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value>
...description: der Logbuchbefehl, nur in eine externe Datei

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

Post by ticaki » Thu, 22. Jul 04, 14:09

4 Fly Commands

4.001 @ <RetVar/IF> <RefObj> fly to home base
...description: RefObj fliege zur Homebase
4.002 @ <RetVar/IF> <RefObj> fly to station <Var/Station>
...description: RefObj fliegt zur Station
4.003 @ <RetVar/IF> <RefObj> fly to sector <Var/Sector>
...description: RefObj fliegt zum Sektor
4.004 <RetVar/IF> <RefObj> find nearest enemy ship: max.dist=<Var/Number>
...description: RefObj findet nächstes feindliches Schiff
4.005 <RetVar/IF> <RefObj> find nearest enemy station: max.dist=<Var/Number>
...description: RefObj findet nächste feindliche Station
4.006 <RetVar/IF> <RefObj> fire lasers on target <Value> using turret <Var/Number>
...description: RefObj feuere mit Geschützturm Y auf Ziel X
4.007 @ <RetVar/IF> <RefObj> turn turret <Var/Number> to target <Var/Ship/Station>: timeout=<Var/Number> ms
...description: RefObj dreht Geschützturm auf Ziel X für Y ms
4.008 @ <RetVar/IF> <RefObj> attack run on target <Value>: timeout=<Var/Number> ms
...description: RefObj beginne mit angriff auf Ziel X
4.009 @ <RetVar/IF> <RefObj> defensive move: type=<Var/Number>,intensity=<Var/Number>,timeout=<Var/Number> ms,avoid object=<Value>
...description: RefObj fliege Verteidigungsmuster X Stärke Y unter annahme das das Objekt Z der Angreifer ist für I ms
4.010 @ <RetVar/IF> <RefObj> move to ware object <Value> for collecting: timeout=<Var/Number> ms
...description: RefObj fliege zur fliegenden Ware für X ms
4.011 <RetVar/IF> <RefObj> catch ware object <Value>
...description: RefObj sammle Ware auf
4.012 @ <RetVar/IF> <RefObj> move around <Var/Number> ms
...description: RefObj fliegt rum
4.013 @ <RetVar/IF> <RefObj> escort ship <Var/Ship>
...description: RefObj escortiere Schiff
4.014 @ <RetVar/IF> <RefObj> escort ship <Var/Ship>: timeout=<Var/Number> ms
...description: RefObj eskortiere Schiff für X ms
4.015 <RefObj> set formation <Var/Number>
...description: RefObj setze formation zu typ X
4.016 <RefObj> add to formation with leader <Var/Ship>
...description: füge RefObj zur Formation mit Formationsführer X hinzu
4.017 <RefObj> remove from any formation
...description: entferne RefObj von jeder Formation
4.018 <RetVar/IF> <RefObj> get formation leader
...description: Gib den Formationsführer von RefObj zurück
4.019 <RetVar> = <RefObj> get formation follower ships
...description: gibt die dem RefObj folgenden Schiffe zurück
4.020 START <RefObj> command <Object Command>: arg1=<Value>,arg2=<Value>,arg3=<Value>,arg4=<Value>
...description: Starte Kommando X auf RefObj
4.021 <RefObj> send signal <Object Signal>: arg1=<Value>,arg2=<Value>,arg3=<Value>,arg4=<Value>
...description: sende Signal X an RefObj
4.022 @ <RetVar/IF> <RefObj> follow object <Var/Ship> with precision <Var/Number> m
...description: RefObj folge Schiff X mit Abstand Y
4.023 @ <RetVar/IF> <RefObj> follow <Var/Ship> with precision <Var/Number> m: timeout=<Var/Number> ms
...description: selbe wie oben nur für Zeit Z ms
4.024 <RefObj> set follow mode <Var/Number>
...description: setzte den Folgemodus von RefObj auf X
4.025 <RetVar/IF> <RefObj> get follow mode
...description: lese den Folgemodus von RefObj aus
4.026 <RefObj> set destination to <Value>
...description: RefObj setze Ziel (sichbar in den Details)
4.027 <RetVar/IF> <RefObj> get destination
...description: lese das Ziel aus
4.028 <RefObj> set attack target to <Value>
...description: RefObj setze das Angriffsziel auf X (auslesbar)
4.029 <RetVar/IF> <RefObj> get attack target
...description: lese das Angriffsziel von RefObj aus
4.030 @ <RetVar/IF> <RefObj> move to position x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m
...description: fliege zur Position X,Y und Z mit einer Genauigkeit von I
4.031 <RefObj> set command: <Object Command>
...description: RefObj setze sichbares Kommando auf X
4.032 <RetVar/IF> <RefObj> get command
...description: lese es aus
4.033 <RefObj> set command target: <Value>
...description: RefObj setzte Command target 1 auf X
4.034 <RetVar/IF> <RefObj> get command target
...description: lese das erste Commandtarget aus
4.035 <RefObj> set command target2: <Value>
...description: siehe oben nur zweites
4.036 <RetVar/IF> <RefObj> get command target2
...description: siehe oben
4.037 <RetVar> = <RefObj> select new formation leader by: ship class=<Var/Number> strength)<Var/Number> min.speed=<Var/Number>
...description: wähle einen neuen Formationleader für die Formation in der RefObj enthalten ist!
4.038 <RetVar/IF> <RefObj> has formation ships
...description: ist RefObj ein Formationsführer
4.039 <RefObj> give formation leadership to <Var/Ship>
...description: gibt der Formation in der RefObj Miglied ist den Formationsführer X
4.040 <RefObj> set tactical to <Var/Number>
4.041 <RetVar> = <RefObj> get tactical
4.042 <RetVar/IF> get player tracking aim
...description: Gib das vom Spieler anvisierte Ziel zurück
4.043 <RetVar/IF> <RefObj> is <Var/Ship/Station> in firing range of turret <Var/Number>
...description: Ist Ziel X in Freuerreichweite von Geschützturm Y
4.044 <RetVar> = <RefObj> find enemy in firing range of turret <Var/Number>
...description: RefObj finde Feind in Schußweite
4.045 <RefObj> set command: <Object Command> target=<Value> target2=<Value> par1=<Value> par2=<Value>
...description: setze Commando mit Target 1 und 2 und den Parametern
4.046 <RetVar/IF> <RefObj> fire missile <Var/Ware> on <Value>
...description: RegObj schießt ne Rakete ab
4.047 <RetVar/IF> <RefObj> get current missile
...description: die Ausgewählte Rakete von RefObj
4.048 <RetVar/IF> <RefObj> find best missile for target <Value>
...description: die beste Rakete für das Ziel X
4.049 <RetVar> = best missile type for target <Value>
...description: der Beste Raketentyp für das Ziel X
4.050 <RetVar/IF> <RefObj> launch <Var/Number> fight drones: protect me or attack target=<Value>
...description: RefObj schmeißt Drohnen raus mit folgendem Kommando
4.051 <RetVar/IF> <RefObj> is missile <Var/Ware> ready to fire
...description: ist die Rakete abschuß bereit
4.052 <RetVar/IF> <RefObj> should a missile be fired
...description: soll eine Rakete abgefeuert werden
4.053 <RetVar> = <RefObj> get fire missile probability
...description: gibt die Prozentzahl zurück
4.054 <RetVar> = <RefObj>get fire missile time difference in seconds
...description: gibt die feuerrate der Raketen zurück in sekunden
4.055 <RefObj> set fire missile probability to <Var/Number>
...description: setzt die Prozentzahl zu X
4.056 <RefObj> set fire missile time difference to <Var/Number> s
...description: setzt die Feuerrate zu X in Sekunden
4.057 <RetVar/IF> <RefObj> fits laser <Var/Ware> into turret <Var/Number>
...description: installiert einen vorhanden Laser in den Geschützturm X
4.058 <RetVar> = <RefObj> get max. number of lasers in turret <Var/Number>
...description: die maximale Anzahl an Geschützen im Turm
4.059 <RetVar> = <RefObj> get laser type in turret <Var/Number> at slot <Var/Number>
...description: Gibt den Lasertyp eines bestimmten installierten Lasers zurück
4.060 <RetVar> = <RefObj> get number of turrets
...description: Anzahl der Türme
4.061 <RetVar> = get range of missile type <Var/Ware>
...description: Schußweite eines bestimmten Raketentypes
4.062 <RetVar> = <RefObj> find nearest missile aiming to me
...description: finde die nächste Rakete die auf RefObj zielt
4.063 <RetVar/IF> <RefObj> decouple ships
...description: für Khaakcluster: Schiffe entkoppeln
4.064 <RetVar/IF> <RefObj> is decoupled ships leader
...description: Für Khaakcluster: der Formationsführer nach dem entkoppeln
4.065 <RetVar/IF> <RefObj> get current galaxy flight timestep in ms
...description: keine Ahnung :D
4.066 <RetVar/IF> <RefObj> is landing
...description: ist RefObj gelandet und wo
4.067 <RetVar/IF> <RefObj> is starting
...description: ist das RefObj gestartet
4.068 <RetVar/IF> <RefObj> use jump drive: target=<Value>
...description: RefObj springt in einen bestimmten Sektor (pos 0,0,0) oder aber in ein Gate
4.069 <RetVar/IF> <RefObj> needed jump drive energy for jump to sector <Var/Sector>
...description: EZ die für dein Sprung benötigt werden
4.070 <RetVar/IF> <RefObj> check, select and fire missile on <Value>
...description: RefObj machte einen Raketencheck und feuert die Rakete auf Zeil X
4.071 <RetVar/IF> = <RefObj> -> add big ship <dock>
...description: fügt das RefObj zum BigShipDock hinzu
4.072 <RetVar/IF> = <RefObj> -> has a free big ship dock slot
...description: fragt ab ob das Dock einen freien Bigshipplatz hat
4.073 <RetVar/IF> = <RefObj> -> can be controlled by race logic
...description: kann das Schiff von der KI kontrolliert werden. (das killt alle userscripte wenn die KI das schiff übernimmt)
4.074 <RefObj> -> set race logic control enabled to <boolean>
...description: Schaltet das KI kontrolliert Feature ab!
...description: if (enabled == false).....{ NPC ship of normal 5 races will not start doing it's own thing}
4.075 <RetVar/IF> = <RefObj> -> can execute StartAction
...description: kann das schiff einen defaultbefehl ausführen
4.076 <RefObj> -> set StartAction enabled to <boolean>
...description: Schalte dieses Feature an oder aus
4.077 set as player wingman: <ship>
...description: RefObj ist Flügenmann
4.078 <RetVar/IF> = <RefObj> -> is player wingman
...description: ist RefObj Flügelmann
Last edited by ticaki on Thu, 22. Jul 04, 18:30, edited 2 times in total.
Zur Zeit nicht aktiv

DRayN
Posts: 16
Joined: Fri, 2. Jul 04, 02:51
x2

Post by DRayN » Thu, 22. Jul 04, 15:49

Danke ticaki das du da mit angefangen hast und danke an alle die da zu beitragen haben/werden.

EGOSOFT hat vielleicht das spiel gemacht, aber ich finde das EGOSOFT noch einiges von euch lernen kann. :D


P.s. ticaki - du hast aber eine ganze menge im kopf :o

Danke und alles gute

DRayN

skywalker2
Posts: 267
Joined: Fri, 14. May 04, 15:59
x4

Post by skywalker2 » Thu, 22. Jul 04, 21:21

Super die Übersicht, genau das hats gebraucht damit ich damit auch mal anfangen kann :thumb_up:

Eine Frage zu:
ArcaJeth[D6a] wrote: 3.004 <RefObj> write to logbook <Value>
...description: schreibt einen einfachen Wert in das Logbuch (keinen String/Text)
Hab ich gerade ausprobiert, keine Ahnung welches RefObj hier benötigt wird, auf jeden Fall finde ich den Eintrag im Logbook nicht.

Und damit ich nicht nur Frage sondern auch was Beitrage:

5.004 <RefObj> install <Var/Number> units of <Var/Ware>
...description: Fügt x-beligige Ware zum Entsprechenden Objekt (Schiff/Station, ...)

5.1.014 <RefObj> add default items to ship
...description: Fügt Standart Ausrüstung zum Schiff hinzu (volle Waffen, Schilde und einige Kleinigkeiten)

Erstes Skript, ein Neues Schiff (hat das wer anders gemacht? :D )

Klaus62
Posts: 650
Joined: Wed, 24. Mar 04, 23:40
x4

Post by Klaus62 » Thu, 22. Jul 04, 21:24

:o Soviel zum Thema, das Handbuch erspart Fragen :lol: :o

laprican
Posts: 196
Joined: Fri, 13. Feb 04, 16:56
x2

Post by laprican » Thu, 22. Jul 04, 21:55

naja...
ob das nen handbuch ist? ;)
das sind alles ein satz beschreibungen, und das einige wozu die gut sind um die nörgler vom nörgeln abzuhalten.
wenn jmd versuchen wird anhand diesem x2 scripte ohne große vorkenntnisse im bereich des scripten zu erstellen wird er gandenlos scheitern...
so seh ich es zumindest

User avatar
MODIFIED
Posts: 1365
Joined: Tue, 30. Mar 04, 00:15
x3

Post by MODIFIED » Thu, 22. Jul 04, 22:50

Viele Scripter haben das aber schon geschafft, ohne diese Hilfe mit denken und probieren. Dies ist mit Sicherheit kein Handbuchscriptkurs, kann aber manche nervige Probier_mal_aus und schau_ins_Logbuchaktion sparen.
[ external image ]
Saya Kho hat ihren Raumanzug verlassen, dieser Raumanzug gehört nun ihnen.
Bret Serra hat diese Welt verlassen, diese Welt gehört nun ihnen.

skywalker2
Posts: 267
Joined: Fri, 14. May 04, 15:59
x4

Post by skywalker2 » Thu, 22. Jul 04, 23:08

Glaubst Du wirklich das ist Ihnen nicht klar?

User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Post by mf_lueders » Fri, 23. Jul 04, 00:01

Super ! Ist ja wenigstens ein Anfang.
Ist noch nicht mal ironisch gemeint...

Auch wenn es das echte Handbuch (BTW, für Januar angekündigt, bei sowas bin ich Konsumenten-Elefant) nie ersetzen wird, bei allem Respekt vor den hier agierenden Personen.

@ticaki: BalaGi (glaube ich) hat irgendwo im Forum das Statement losgelassen, Du würdest auch was zur AL schreiben, am Ende der ersten Posting steht irgendwie was anderes. Wat stimmt denn nun ??

Zu guter letzt, geht es nur mir so oder fehlt hier irgendwie der Anfang des Threads...
Klingt sehr interessant :wink:
:skull: :skull: :skull:

ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth » Fri, 23. Jul 04, 00:09


User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Post by mf_lueders » Fri, 23. Jul 04, 00:20

Thanx...
Ähem, habt ihr eigentlich keine Pinne mehr ?
Und in ticakis sig ist doch noch jede Menge Platz :D
:skull: :skull: :skull:

Diamonddragon
Posts: 1957
Joined: Sat, 7. Feb 04, 20:26
x3tc

Post by Diamonddragon » Fri, 23. Jul 04, 07:30

Trade Commands

5.001 <RetVar/IF> get player money
...description:gibt das Geld des Spielers zurück
5.002 add money to player: <Var/Number>
...description: Erhöht Credits des Spielers um ]<Var/Number>
5.003 <RetVar/IF> <RefObj> add <Var/Number> units of <Var/Ware>
...description:Fügt <Var/Number> Einheiten von <Var/Ware> hinzu
5.004 <RetVar/IF> <RefObj> install <Var/Number> units of <Var/Ware>
...description:Installiert <Var/Number> Einheiten von Ware
5.005 <RetVar> = get volume of ware <Var/Ware>
...description: gibt Größe der Ware an
5.006 <RetVar> = get transport class of ware <Var/Ware>
...description:gibt Frachtklasse an(also L, XL?)
5.007 <RetVar/IF> find station: product <Var/Ware> with best price: max.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
...description:Findet Station mit Produkt <Var/Ware> mit bestem Preis, durch maximal Preis, Menge, maximal Sprüngen, Startsektor, Händler
5.008 <RetVar/IF> find station: product <Var/Ware> with min. jumps: max.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
...description: wie davor, nur jetzt mit minimalen Sprüngen
5.009 <RetVar/IF> find station: resource <Var/Ware> with best price: min.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
...description: Finde Station mit Ressource mit bestem Preis: (so wie die davor)
5.010 <RetVar/IF> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
...description: wieder dasselbe, jetzt mit minimalen Sprüngen
5.011 <RetVar/IF> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
Findet Station, die Ressource <Var/Ware> verkauft, mit bestem Preis: (so wie zuvor)
5.012 <RetVar/IF> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>,amount=<Var/Number>,max.jumps=<Var/Number>,startsector=<Var/Sector>,trader=<Var/Ship/Station>
...description: auch das selbe, jetzt mit minimalen Sprüngen
5.013 <RetVar> = get average price of ware
<Var/Ware>
...description:gibt Durchschnittspreis der Ware an
5.014 <RetVar> = get max price of ware <Var/Ware>
...description:gibt Maximalpreis der Ware an
5.015 <RetVar> = get min price of ware <Var/Ware>
...description:gibt Minimalpreis der Ware an
5.016 <RetVar> = get max price of ware <Var/Ware> as secondary resourcer
...description:gibt Maximalpreis der Ware als Sekundärressource an
5.017 <RetVar> = get min price of ware <Var/Ware> as secondary resourcer
...description:gibt Minimalpreis der Ware als Sekundärressource an
5.018 <RetVar/IF> is ware <Var/Ware> illegal in <Var/Race> sectors
...description: Bedingung, Ware <Var/Ware> ist Illegal bei Rassen/Variablen Sektoren
5.019 <RetVar> = get maintype of ware <Var/Ware>
...description:kommt noch..
5.020 <RetVar> = get subtype of ware <Var/Ware>
...description:kommt noch..
5.021 <RetVar> = get ware from maintype <Var/Number> and subtype <Var/Number>
...description:kommt noch..
5.022 <RetVar> = get number of subtypes of maintype <Var/Number>
...description:na, komm noch?
5.023 <RetVar> = <RefObj> get maintype
...description:richtig, kommt noch..
5.024 <RetVar> = <RefObj> get subtype
...description:noch...
5.025 <RetVar/IF> = <RefObj> -> find station: product <ware> with best price: max.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description:RefObj Finde Stationsprodukt mit bestem Preis durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
5.026 <RetVar/IF> = <RefObj> -> find station: product <ware> with min. jumps: max.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description: RefObj Finde Stationsprodukt mit Minimalsprüngen durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
5.027 <RetVar/IF> = <RefObj> -> find station: resource <ware> with best price: min.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description: RefObj Finde Stationsressource mit bestem Preis durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
5.028 <RetVar/IF> = <RefObj> -> find station: resource <ware> with min. jumps: min.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description: RefObj Finde Stationsressource mit Minimalsprüngen durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
5.029 <RetVar/IF> = <RefObj> -> find station sells: resource <ware> with best price: max.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description: RefObj Finde Station, die eine Ressource verkauft, mit bestem Preis durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
5.030 <RetVar/IF> = <RefObj> -> find station sells: resource <ware> with min. jumps: max.price=<number>, amount=<number>, max.jumps=<number>, startsector=<sector>, trader=<refobj>
...description: RefObj Finde Station, die eine Ressource verkauft, mit minimalen Sprüngen durch maximal Preis, Menge, Maximalsprünge, Startsektor und Händler
Es ist nicht das Schicksal, was die Zukunft bestimmt.
Script- und Modliste

Deleted User

Post by Deleted User » Fri, 23. Jul 04, 09:39

mir ist klar das mich jetzt gleich leute steinigen - aber es wäre doch nett wenn gerade in bezug auf diese Refobj etc. ein kurtzes statment bei wäre - das ein find Station eine Station findet ist klar aber gerade welche dieser zusatzangaben man brauch ist das was viele nicht verstehen.

Als z.b. der zusatz / Refobj = eigene Station/Schiff/Ware/array etc. - halt das was man da einsetzen kann oder muß - zumindest wenn es bekannt ist wären diese ergänzungen seher hilfreich bei langen befehlen.

Beispiel aus dem ersten Post
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
Was sind diese Arg1 / 2 / 3 / 4 - was kann /muß ich einsetzen wofür sind diese?
genau das ist es was keiner sorecht versteht - zumindest mir geben diese anhängsel mehr rätsel auf als der eigentliche befehlsanfang.

ich weis nicht ob diese erklärungen nur für alle befehle dann immer gleich wären - also einmal ausreich - oder ob diesebei denbefehlen variiren würde so das man sie an die erklärung anhängen muß - aber wenn diese zusätze noch kurtz erklärt werden ist die liste echt super perfeckt.

ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth » Fri, 23. Jul 04, 10:53

Also zu den RefObj der "find station" Befehl kann ich nicht viel sagen, jedoch sind die Referenz Objekte immer die Objekte von denen der Befehl ausgeht. Es kann eine Station sein, bei den Handelsbefehlen gibts welche wo es eine Ware ist - also immer Befehlsabhängig. (bei jedem Befehl jetzt aber hinschreiben was e sein kann ist unnötig weil es ja durch den Zweck des Befehls festgelegt wird)

Und welche Argumente werden das wohl sein wenn man da ein Script aufruft ? Denk mal mit! ;) Es könnten die Argumente des Sciptes sein *g* man kann ja welche angeben die dann beim Start abgefragt werden - wird ein Script aber nur intern gestartet bekommt der Spieler davon ja nix mit, das Script will aber trotzdem die Daten haben, also müssen die dort übergeben werden ;)
Oft hilt es wirklich, nur mal etwas programmiertechnisch zu denken.

User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Post by mf_lueders » Fri, 23. Jul 04, 11:50

ArcaJeth[D6a] wrote:Oft hilt es wirklich, nur mal etwas programmiertechnisch zu denken.
Dummerweise hilft das nur bei den einfachen Befehlen. Die sind ja sprechend genug.
Sorry, ich möchte Euch ja nicht den Wind aus den Segeln zu nehmen, aber die an sich sehr sprechenden Befehlsnamen in einen grammatikalisch korrekten deutschen Satz zu verwandeln, mag denen helfen, die des englischen nicht mächtig sind, aber die Fragen bleiben so ziemlich alle offen.
Einfaches Beispiel:
Ist ja lustig, dass ich Skripte mit Prioritäten versehen kann und Signale verschickt werden können, aber was bewirkt das ???
Da muss man schon highlevel-programmtechnisch denken, um da überhaupt zu einem Ansatz zu kommen.
Wenn man mit Prios anfängt, muss man erstmal erklären, wie überhaupt das gesamte Scheduling der Skripte läuft.
Wie kommt überhaupt die Nebenläufigkeit der ganzen Skripte zustande?
Laufen alle Skripte in einem eigenen Thread, oder gibt es nur einen pro skriptfähigem Objekt ?

Oder sind das etwa Prios auf Zeitscheibenbasis :D

Bei den Signalen: Wie, wann und wo werden die verarbeitet ?

Anderes Beispiel: Die Waren und Target-Parameter bei "set ship command". Was habe ich da (in 1.3) rumprobiert.
Hat irgendwie nie geklappt...
Sollte ja in 1.4. besser werden.

Bevor das jemand falsch versteht: Ich finde jede Initiative in dieser Richtung gut, aber es wird immer Punkte geben, an denen auch der begabteste Skripter nicht genau wissen wird, was der SE da genau tut.
Wie auch, dafür müsste man die Spezifikation haben, wenn sowas überhaupt existiert...
:skull: :skull: :skull:

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

Post by ticaki » Fri, 23. Jul 04, 12:07

Solch eine Beschreibung wird es nicht und niemals geben...

...Menschleute ein gutes C++ Buch kosten soviel wie X² und den SE korrekt mit allen Funktionen zu beschreiben verbraucht nicht weniger Seiten.
Woher soll das kommen?
Wer ist bereit dafür zu zahlen?
Wer ist bereit es ohne Geld zu machen?

Ich nicht!

Gruß ticaki
Zur Zeit nicht aktiv

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

Post by ticaki » Fri, 23. Jul 04, 14:28

Auf Grund der Beschwerden die mir dieser Topic eingebracht hat und der sich damit einstellenden Unlust... Werde ich ausser als Moderator diesen Topic nicht mehr beachten

Zwei überaus engagierte Forumsnutzer haben mich auf die Unsinnigkeit einer einfachen Erklärung hingewiesen. Um weiteren konstruktiven Beiträgen vorzubeugen stelle ich für meinen Teil weiteren Arbeiten an einer Erklärung ein...

Gruß ticaki :)
Zur Zeit nicht aktiv

Locked

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