Kein Totu für sowas? naja will das jetzt net wirklich überbewerten.
Ich kann allerdings momentan Hauptsächlich von TC sagen sollte aber so auch in R hinhauen.
aus der Setup:
006 set script command upgrade: command=
$comand.one upgrade=
[TRUE] script=
'plugin.eate.warenprfung'
set script command upgrade kennen wir in der Regel schon. Es ist in R da ->
set script command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware> script=<ScriptName> dort ist auch nochmal nen Beispiel für das Folgende Script.
Argumente
* 1: obj , Var/Ship , 'Check'
Quelltext
001 $flag = [CmdConCheck.Available] | [CmdConCheck.OneTime] | [CmdConCheck.NoAudioConfirmation]
002 $d.size = $obj -> get dock bay size
003 $obj.class = $obj -> get object class
004
005 skip if $obj -> get amount of ware
Triplex Scanner in cargo bay
006 ~ $flag = [CmdConCheck.Disabled] | null
007
008 skip if $obj -> get amount of ware
Transporter in cargo bay
009 ~ $flag = [CmdConCheck.Disabled] | null
010
011 skip if $obj -> get amount of ware
Frachtscanner in cargo bay
012 ~ $flag = [CmdConCheck.Disabled] | null
013
014 return
$flag
015
Erklärung Prüf Script:
Als Objekt welches geprüft werden soll muss das Argument übergeben werden damit x weis auf welchem Objekt er Prüfen soll. Der Parameter hierfür kommt von der Engien selbst also wenn es Funktionieren soll muss es vorhanden sein. Wie du die Var davor oder die Beschreibung nennst bleibt dir Überlassen. Var/Ship ist aber nicht veränderbar da es bei Stationen idR keine Anwendung findet.
In Zeile 001 Verknüpf ich [CmdConCheck.Available], [CmdConCheck.OneTime] und [CmdConCheck.NoAudioConfirmation] miteinander damit es folgendes Ergibt: Verfügbar (wird komplett angezeigt also nicht Grau hinterlegt), Einmal das Script ausführen und wenn man den Befehl gibt soll keine Audio nachricht "Kommando Aktiviert" kommen.
002 und 003 ist für euch eigentlich uninteressant da ich da noch was zusätzlich geprüft habe.
005 hier ist der get amount Befehl damit ich prüfen kann ob mindestens Eine Einheit im Laderaum ist (auch installierte Waren sind dort aufgelistet) hier könnte man auch get true amount verwenden. Zu finden sind beide Befehle im Tread / Ship and Stations SE Menü. Skip if hab ich verwendet damit ich bei mehreren Waren nicht eine if kette mit vielen ends erstellen muss, also falls die Prüfung in Zeile 005 FALSE ist wird die Zeile 006 ausgeführt. Ist die Prüfung TRUE wird die Zeile 006 übersprungen (skip).
006 in der Zeile sag ich das die Variable die ich in Zeile 001 mit den Konstanten [CmdConCheck.Disabled] und null überschrieben werden soll falls Zeile 005 FALSE ergibt (also die Waren ist nicht im Laderaum des Schiffes bzw nicht installiert). Wenn die obige Prüfung TRUE ist wird die Zeile übersprungen und die Variable die ich in Zeile 001 gespeichert hab enthält noch ihren Wert. Die Konstante [...Disabled] bewirkt das das Kommando grau hinterlegt wird und nicht ausführbar ist. null bewirkt das das Kommando aus dem Menü verschwindet. Das ist einfach aber genial und man muss erst einmal darauf kommen null zu verknüpfen. Da es aber ein gut gehütetes Geheimnis ist wird es oft nicht verwendet und ich musst das allein raus finden weswegen auch geteilter Meinung bin ob ichs Posten soll aber sch..drauf.
007 - 013 ist das gleiche nur mit anderen Waren
014 kommt der Rückgabe wert an die XEngien, wie das Kommando nun darzustellen ist. Wenn alle 3 Waren im Laderaum sind wird die Var $flag von Zeile 001 nie überschrieben. Ist eine Ware nicht im Laderaum wird die Var $flag einfach überschrieben. Mehr ist es nicht, mit skip if kann man beliebig viele Waren Prüfen ohne if Ketten erstellen zu müssen.
Eine Komplette Erklärung von allen verfügbaren Konstanten findest du auch nochmal auf der
MSCI Knowelbase
Wie du siehst ist es im Grunde Simpel. Ich setz die Kenntnisse der Befehle jetzt mal voraus wo die sind.
Scriptauszüge kommt von der West Inc Eigenentwicklung E.A.T.E. Erweiterte Automatisierte Transporter Erweiterung.
Zum Thema: "Wo muss ich den das Einbauen" sag ich nur ein Satz:
Den set script command Befehl im Setup und der Rest in einem Extra Script.
General West
West Inc Division - T.C.C.