<RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race>...

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

Moderators: Scripting / Modding Moderators, MSCI Moderators

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

<RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race>...

Post by X2-Illuminatus » Tue, 1. Mar 11, 23:14

[skip|else] if [not]|while [not]| <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?


[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, it will contain the created passenger.
<RefObj> = The ship, where the passenger is created.
<Var/String> = The passenger's name as a string or a variable containing a string.
<Var/Race> = The passenger's race.
<Var/Number> = The voice id.
<Var/String> = The face id.


This command creates a passenger with the chosen name <Var/String> of the selected race <Var/Race> with the voice <Var/Number> and the face <Var/String> on the selected <RefObj>. The <RefObj> must have at least transport class M, 6 free units of cargo space and an installed Cargo Lifesupport System.

If you enter null in all of the four attributes (name, race, voice, face) the command will create a passenger with random attributes, whereby all four attributes will fit together (you won't get an argon passenger with a teladi name). However if you want to set the created passenger as pilot of a certain ship with the command <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean> it might be necessary to specify the attributes a little bit more detailed.

name=<Var/String>: If you choose null the command will pick or rather create a random name from the race's names listed in the 0001-L0**.xml. The names of the five main races (Argon, Boron, Split, Paranid and Teladi) can be found under the page ids 30 to 34. The terran names are under page id 350835. If you want to give the passenger an own name, you can either enter it directly as string or enter a variable containing the string or modify the names in the 0001-L0**.xml.
race=<Var/Race>: The race of the passenger.
voice=<Var/Number>: The voice id. While you cannot contact a passenger, you can indeed talk to a pilot. The number you enter here stands for the voice the passenger will have, when he is a pilot. The available voice ids are as follows:

Code: Select all

id                         		 voice
101, 104, 106, 107, 113, 114		Argon / Terran Female
102, 103, 105, 109, 110, 111		Argon / Terran Male
201-207, 210, 211					  Boron
301-307, 310, 311					  Split
401-407, 410, 411					  Paranid
501-507, 510, 511					  Teladi

face=<Var/String>: The face id of the passenger. Same as with the voice, it doesn't matter what face a passenger has, but it will matter if he is a pilot and you want to talk to him. The number you enter here stands for the face the passenger will have, when he is a pilot, and that is displayed in the top right corner in the communication screen. The available face ids are as follows:

Code: Select all

id		face

Argon:
101		Military Female
102		Military Male
103		Military Officer
104		Transporter Female 1
105		Transporter Female 2
106		Transporter Male 1
107		Argon Male
108		Argon Male
109		Argon Female

Boron:
201		Boron 1
202		Boron 2
203		Boron 3
204		Boron 4
205		Boron 5

Split:		
301		Split 1
302		Split 2
303		Split 3
304		Split 4
305		Split 5

Paranid:	
401		Paranid 1
402		Paranid 2
403		Paranid 3
404		Paranid 4
405		Paranid 5

Teladi:
501		Teladi 1
502		Teladi 2
503		Teladi 3
504		Teladi 4
505		Teladi 5

Pirate:
811		Pirate Argon Female
812		Pirate Argon Male 1
813		Pirate Argon Male 2
821		Pirate Boron 1
822		Pirate Boron 2
831		Pirate Split 1
832		Pirate Split 2
841		Pirate Paranid 1
842		Pirate Paranid 2
851		Pirate Teladi 1
852		Pirate Teladi 2

Goner:
901		Goner Priest 1
902		Goner Priest 2

Terran:
1131	  Terran Male 1
1132	  Terran Female 1
1133	  Terran Male 2
1134	  Terran Female 2
1135	  Terran Male 3
1136	  Terran Male 4
1137	  Terran Female 3
1138	  Terran Male 5
1139	  Terran Male 6
1140	  Terran Female 4

Special Characters:
120		Elena Kho
121		Saya Kho
122		Brett Sara / Exterminator
126		Julian Brennan
131		Argon Female (info terminal)
142		Argon / Terran female (unknown)
158		Ban Danna
815		Don Tony Marani
816		Miria Marani
910		Kyle Brennan
915		Thomus Becket
916		Ion
917		Dogun
1141	  computer interface 
1100-	 ware images
1129
Some faces have several ids, but in the list above each face is only listed with one id. Some of the here not listed ids show no image at all, but most of them show the Goner Priest 1. All of the available ids refer to an image or face that is displayed in the 00001.dat in the mov-folder of the TC main directory.

A passenger or rather pilot must have a voice and a face to be able to give you answers to the standard questions.


Example:

$amount = [PLAYERSHIP] -> get amount of ware Cargo Lifesupport System in cargo bay
$volume = [PLAYERSHIP] -> get free volume of cargo bay
$class = [PLAYERSHIP] -> get max. ware transport class
if $amount == 0 OR $volume < 6 OR $class == Small Containers S
|write to player logbook 'Passenger cannot be created!'
else
|$passenger = [PLAYERSHIP] -> create passenger in ship: name=null race=null voice=null face=null
|write to player logbook: printf: fmt='Passenger %s was created!', $passenger, null, null, null, null
end
return null

This will check if the [PLAYERSHIP] meets all requirements to create a Passenger on it. If it doesn't meet them, an appropriate message will be written to the logbook. If it does meet them, a passenger with random attributes will be created and a message telling his name will be written to the logbook.


Related Commands:

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


Command Location:
  • »» Trade Commands
    • »» Passengers
      <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?

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

[TiP][49] 297672

Post by X2-Illuminatus » Wed, 23. Mar 11, 19:35

[skip|else] if [not]|while [not]| <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?


[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 den erstellten Passagier enthalten.
<RefObj> = Das Schiff, auf dem der Passagier erstellt wird.
<Var/String> = Der Name des Passagiers als Zeichenkette (string) oder als Variable, die eine Zeichenkette enthält.
<Var/Race> = Das Volk des Passagiers.
<Var/Number> = Die Stimmen-ID.
<Var/String> = Die Gesichts-ID.


Dieser Befehl erstellt einen Passagier mit dem gewählten Namen <Var/String> des gewählten Volks <Var/Race> mit der Stimme <Var/Number> und dem Gesicht <Var/String> auf dem gewählten <RefObj>. Das <RefObj> muss mindestens Transportklasse M, 6 Einheiten freien Frachtraum sowie eine installierte Lebenserhaltung für den Frachtraum haben.

Wenn null für alle vier Attribute (Name, Volk, Stimme, Gesicht) eingegeben wird, wird der Befehl einen Passagier mit zufälligen Attributen erstellen, wobei die Attribute zusammenpassen werden (bspw. wird kein argonischer Passagier mit teladianischem Namen erstellt). Wenn du einen erstellten Passagier als Piloten eines bestimmten Schiffes einsetzen möchtest, mithilfe des Befehls <RetVar/IF><RefObj> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>, ist es unter Umständen nötig die Attribute etwas genauer festzulegen.

name=<Var/String>: Gibst du null ein, so wird der Befehl sich einen zufälligen Namen aus der Liste der Namen der einzelnen Völker aus der 0001-L0**.xml auswählen bzw. erstellen. Die Namen der fünf Hauptvölker (Argonen, Boronen, Split, Paraniden und Teladi) finden sich unter den page ids 30 bis 34. Die terranischen Namen finden sich unter page id 350835. Wenn du einem Passagier einen eigenen Namen geben willst, kannst du entweder diesen direkt als Zeichenkette oder eine Variable, die eine Zeichenkette enthält, eingeben oder die Namen in der 0001-L0**.xml verändern.
race=<Var/Race>: Das Volk, dem der Passagier angehört.
voice=<Var/Number>: Die Stimmen-ID. Du kannst einen Passagier zwar nicht kontaktieren, aber einen Piloten. Die Zahl, die du hier eingibst, steht für die Stimme, die er haben wird, wenn er ein Pilot ist. Die verfügbaren Stimmen-IDs sind die folgenden:

Code: Select all

ID                         		 Stimme
101, 104, 106, 107, 113, 114		Argonische / Terranische Frau
102, 103, 105, 109, 110, 111		Argonischer / Terranischer Mann
201-207, 210, 211					  Borone
301-307, 310, 311					  Split
401-407, 410, 411					  Paranide
501-507, 510, 511					  Teladi

face=<Var/String>: Die Gesichts-ID des Passagiers. Genau wie bei der Stimme ist es egal, was für ein Gesicht ein Passagier hat. Allerdings ist es wichtig, falls du diesen Passagier als Piloten einsetzt und mit ihm kommunizieren möchtest. Die Zahl, die du hier eingibst steht für das Gesicht, das der Passagier haben wird, wenn er ein Pilot ist, und das oben rechts im Kommunikationsbildschirm angezeigt wird, wenn du ihn anfunkst. Die verfügbaren Gesichts-IDs sind die folgenden:

Code: Select all

ID		 Gesicht

Argonen:
101		Militärische Frau
102		Militärische Mann
103		Militärischer Offizier
104		Transporter Frau 1
105		Transporter Frau 2
106		Transporter Mann 1
107		Argonischer Mann
108		Argonischer Mann
109		Argonische Frau

Boronen:
201		Borone 1
202		Borone 2
203		Borone 3
204		Borone 4
205		Borone 5

Split:		
301		Split 1
302		Split 2
303		Split 3
304		Split 4
305		Split 5

Paraniden:	
401		Paranide 1
402		Paranide 2
403		Paranide 3
404		Paranide 4
405		Paranide 5

Teladi:
501		Teladi 1
502		Teladi 2
503		Teladi 3
504		Teladi 4
505		Teladi 5

Piraten:
811		Pirat Argonische Frau
812		Pirat Argonischer Mann 1
813		Pirat Argonischer Mann 2
821		Pirat Borone 1
822		Pirat Borone 2
831		Pirat Split 1
832		Pirat Split 2
841		Pirat Paranide 1
842		Pirat Paranide 2
851		Pirat Teladi 1
852		Pirat Teladi 2

Goner:
901		Goner Priester 1
902		Goner Priester 2

Terraner:
1131	  Terranischer Mann 1
1132	  Terranische Frau 1
1133	  Terranischer Mann 2
1134	  Terranische Frau 2
1135	  Terranischer Mann 3
1136	  Terranischer Mann 4
1137	  Terranische Frau 3
1138	  Terranischer Mann 5
1139	  Terranischer Mann 6
1140	  Terranische Frau 4

Spezielle Charaktere:
120		Elena Kho
121		Saya Kho
122		Brett Sara / Kammerjäger
126		Julian Brennan
131		Argonische Frau (Infoterminal)
142		Argonische / Terranische Frau (unbekannt)
158		Ban Danna
815		Don Toni Marani
816		Miria Marani
910		Kyle Brennan
915		Thomus Becket
916		Ion
917		Dogun
1141	  Computer interface 
1100-	 Warenbilder
1129
Einige der Gesichter haben mehrere IDs. In der Liste ist jedes Gesicht aber nur mit einer ID aufgeführt. Einige der hier nicht aufgelisteten IDs zeigen überhaupt kein Gesicht, aber die meisten zeigen den Goner Priester 1. Alle der verfügbaren IDs verweisen auf ein Bild oder Gesicht, das in der 00001.dat im mov-Ordner des Hauptverzeichnisses enthalten ist.

Ein Passagier bzw. ein Pilot muss eine Stimme oder ein Gesicht haben, um auf die Standardfragen antworten zu können.


Beispiel:

$amount = [PLAYERSHIP] -> get amount of ware Lebenserhaltung für Frachtraum in cargo bay
$volume = [PLAYERSHIP] -> get free volume of cargo bay
$class = [PLAYERSHIP] -> get max. ware transport class
if $amount == 0 OR $volume < 6 OR $class == Kleiner Container S
|write to player logbook 'Passagier kann nicht erstellt werden!'
else
|$passenger = [PLAYERSHIP] -> create passenger in ship: name=null race=null voice=null face=null
|write to player logbook: printf: fmt='Passagier %s wurde erstellt!', $passenger, null, null, null, null
end
return null

Dies wird überprüfen, ob das Spielerschiff [PLAYERSHIP] alle Voraussetzungen erfüllt, um auf ihm einen Passagier zu erstellen. Wenn es sie nicht erfüllt, wird eine entsprechende Nachricht ins Logbuch geschrieben. Wenn es sie hingegen erfüllt, wird ein Passagier mit zufälligen Attributen erstellt und eine entsprechende Nachricht, die den Namen des Passagiers enthält, wird ins Logbuch geschrieben.


Verwandte Befehle:

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


Zu finden unter:
  • »» Trade Commands
    • »» Passengers
      <RetVar/IF><RefObj> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/String>?

Locked

Return to “MSCI Reference”