<RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/..

This forum serves as MSCI Reference at EGOSOFT. It's Read-Only for non MSCI Group members.

Moderators: Scripting / Modding Moderators, MSCI Moderators

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24970
Joined: Sun, 2. Apr 06, 16:38
x4

<RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/..

Post by X2-Illuminatus » Thu, 3. Mar 11, 16:07

[skip|else] if [not]|while [not]| <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>


[skip|else] if [not]|while [not]| = The possible 'Conditional' statements that can be used with this command.
<RetVar/IF> = Use a variable, if the command should return information. If a variable is used, the command will return 1 on success and 0 on failure.
<RefObj> = The passenger you want to move to the ship <Var/Ship>.
<Var/Ship> = The ship you want to move the <RefObj> to.
<Var/Boolean> = A [TRUE] or [FALSE] value to set the passenger as pilot or not.

This will move the as <RefObj> selected passenger to the as <Var/Ship> selected ship. It will set the passenger as pilot of that ship, if <Var/Boolean> is [TRUE].

If the passenger should be moved to another ship (<Var/Boolean> is [FALSE]), the ship needs an installed Cargo Lifesupport System, at least transport class M and at least 6 units free cargo space (8 for VIPs). However it doesn't have to meet these requirements, if the passenger should be set as pilot of that ship. The pilot's race determines the race id of the ship. In other words if you set an argon passenger as pilot of a ship it will be displayed as argon on the sector map.
With the help of the <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?-command it is possible to create pilots with specified attributes.


Example:

$passenger = [PLAYERSHIP] -> create passenger in ship: name=null race=Argon voice=null face=null
$target = get player tracking aim
= $passenger -> move passenger to ship $target: set passenger as pilot=[TRUE]
$target -> set race logic control enabled to [FALSE]
return null

This will create an argon passenger on the playership and set him as pilot of the player's target. Line 4 will prevent the GOD engine from destroying the ship due to possible missing scripts on it.


Note:

If a passenger is set as pilot of a ship, the scripts on that ship will continue to run (unless they check the pilot). This is important to know as with a different pilot's race than the original one the relations to other races (inlcuding the player) of that ship / pilot will change. Also other ships that might follow or protect that ship will continue doing it.
If you set a passenger (which race isn't 'Player') as pilot of a ship, which currently does nothing, the GOD Engine will probably remove (destroy) that ship from the game. To prevent this you should disable the race logic on that ship, as in line 4 of the example above.


Related Commands:

<RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?
<RetVar/IF><RefObj> add pilot of ship <Var/Ship> as passenger: disable ship=<Var/Boolean>


Command Location:
  • »» Trade Commands
    • »» Passengers
      <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24970
Joined: Sun, 2. Apr 06, 16:38
x4

[TiP][49] 297754

Post by X2-Illuminatus » Wed, 23. Mar 11, 20:06

[skip|else] if [not]|while [not]| <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>


[skip|else] if [not]|while [not]| = Die möglichen bedingten Anweisungen, die mit diesem Befehl genutzt werden können.
<RetVar/IF> = Nutze eine Variable, wenn der Befehl eine Information zurückgeben soll. Wenn eine Variable genutzt wird, wird sie 1 im Erfolgs- und 0 im Fehlerfall enthalten.
<RefObj> = Der Passagier, den du zum Schiff <Var/Ship> transferieren möchtest.
<Var/Ship> = Das Schiff, zu dem du das <RefObj> transferieren möchtest.
<Var/Boolean> = Ein [TRUE] (wahr) oder [FALSE] (falsch) Wert, um den Passagier als Piloten einzusetzen oder nicht.

Dieser Befehl wird den als <RefObj> gewählten Passagier zum als <Var/Ship> ausgewählten Schiff transferieren. Der Passagier wird als Pilot eingesetzt, wenn <Var/Boolean> gleich [TRUE] ist.

Wenn der Passagier zu einem anderen Schiff transferiert werden soll (<Var/Boolean> gleich [FALSE]), muss das Schiff eine installierte Lebenserhaltung für den Frachtraum, mindestens Transportklasse M sowie 6 Einheiten freien Frachtraum (8 für VIPs) haben. Hingegen muss das Schiff dieses Voraussetzungen nicht erfüllen, wenn der Passagier als Pilot eingesetzt werden soll. Das Volk, dem der Pilot angehört, bestimmt die Volks-ID des Schiffes. In anderen Worten, wenn du einen argonischen Passagier zum Piloten eines Schiffes machst, wird das Schiff auf der Sektorkarte als argonisch angezeigt.
Mithilfe des <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?-Befehls ist es möglich Piloten mit selbst festgelegten Attributen zu erstellen.


Beispiel:

$passenger = [PLAYERSHIP] -> create passenger in ship: name=null race=Argonen voice=null face=null
$target = get player tracking aim
= $passenger -> move passenger to ship $target: set passenger as pilot=[TRUE]
$target -> set race logic control enabled to [FALSE]
return null

Dies erstellt einen argonischen Passagier auf dem Spielerschiff [PLAYERSHIP] und setzt ihn als Piloten des zurzeit erfassten Zielschiffes ein. Zeile 4 wird die GOD-Engine davon abhalten, das Schiff aufgrund fehlender laufender Scripte zu zerstören.


Beachte:

Wenn ein Passagier als Pilot eines Schiffe eingesetzt wird, werden die Scripte auf diesem Schiff weiterlaufen (es sei denn, sie überprüfen den Piloten). Dies ist vor allem dann wichtig zu wissen, wenn der neue Pilot einem anderen Volk als der ursprüngliche Pilot angehört, da sich dann auch die Beziehungen des Schiffes (bzw. Piloten) zu anderen Völkern (einschließlich dem Spieler) ändern werden. Außerdem werden Schiffe, die diesem Schiff folgen oder es beschützen, dies auch weiterhin tun.
Wenn du einen Passagier (der nicht dem Volk "Spieler" angehört) als Piloten eines Schiffes, auf dem zurzeit keine Scripte laufen, einsetzt, wird die GOD Engine dieses Schiff wahrscheinlich aus dem Spiel entfernen. Um dies zu verhindern, kannst du wie im obigen Beispiel in Zeile 4 die race logic für dieses Schiff deaktivieren.


Verwandte Befehle:

<RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?
<RetVar/IF><RefObj> add pilot of ship <Var/Ship> as passenger: disable ship=<Var/Boolean>


Zu finden unter:
  • »» Trade Commands
    • »» Passengers
      <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>

Return to “MSCI Reference”