Scripting:Flotten benennen
Aus STNE-Wiki
Tuvok (Diskussion | Beiträge) |
Moax (Diskussion | Beiträge) (→Skriptcode) |
||
Zeile 3: | Zeile 3: | ||
= Flotten-Benennung = | = Flotten-Benennung = | ||
- | == Skriptcode == | + | --[[Spieler:Moax|Moax]] 13:01, 25. Apr 2008 (W. Europe Daylight Time)== Skriptcode == |
+ | |||
+ | ===Vorschlag 1. === | ||
VAR names[] AS String = { | VAR names[] AS String = { | ||
Zeile 19: | Zeile 21: | ||
i = i + 1 | i = i + 1 | ||
} | } | ||
+ | |||
+ | ===Vorschlag 2. === | ||
+ | von Positron | ||
+ | |||
+ | VAR i AS Integer = 1 | ||
+ | VAR Flotte AS new CMyFlotte( idDerFlotte ); | ||
+ | VAR Ship as CMyShip | ||
+ | FOR ( EACH Ship IN Flotte.Ships ) | ||
+ | { | ||
+ | Ship.Name = 'Name_' & i; // damit heisst das erste Schiff Name_1, das zweite Name_2 etc. | ||
+ | i = i + 1; | ||
+ | } | ||
+ | |||
+ | |||
+ | ===Vorschlag 3. === | ||
+ | von moax | ||
+ | |||
+ | Var i As Integer = 1; | ||
+ | Var Flotte As New CMyFlotte(79925); | ||
+ | Var Ship As CMyShip; | ||
+ | For (Each Ship In Flotte.Ships) | ||
+ | { | ||
+ | If (i > 9) { | ||
+ | Ship.Name = 'Prinz Eugen' & i; | ||
+ | } Else { | ||
+ | Ship.Name = 'Prinz Eugen 0' & i; | ||
+ | } | ||
+ | i = i + 1; | ||
+ | } | ||
+ | |||
+ | |||
+ | ===Vorschlag 4. === | ||
+ | von moax | ||
+ | |||
+ | Var tag As String; | ||
+ | Var name As String; | ||
+ | Var i As Integer; | ||
+ | Var flotte As Integer; | ||
+ | tag = "K - "; | ||
+ | name = "Löwenzahn "; | ||
+ | i = 1; | ||
+ | flotte = 79939; | ||
+ | Var fleet As New CMyFlotte(flotte); | ||
+ | Var shiplist As CShipList; | ||
+ | shiplist = fleet.Ships; | ||
+ | shiplist.Reverse(); | ||
+ | shiplist.Reverse(); | ||
+ | Var ship As CMyShip; | ||
+ | For (Each ship In shiplist) | ||
+ | { | ||
+ | If (i < 10) { | ||
+ | ship.Name = '' & tag & ' ' & name & ' 0' & i ''; | ||
+ | i = i + 1; | ||
+ | } | ||
+ | Else { | ||
+ | ship.Name = '' & tag & ' ' & name & ' ' & i ''; | ||
+ | i = i + 1; | ||
+ | } | ||
+ | } | ||
+ | WriteLine('Bennenung der Flotte erfolgreich ausgeführt!'); | ||
== Bemerkungen == | == Bemerkungen == |
Version vom 25. April 2008, 11:01 Uhr
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | Hilfen zum Arbeiten im Wiki |
Inhaltsverzeichnis |
Flotten-Benennung
--Moax 13:01, 25. Apr 2008 (W. Europe Daylight Time)== Skriptcode ==
Vorschlag 1.
VAR names[] AS String = { 'name1', 'name2', 'name3', 'name4' } VAR i AS Integer = 0 VAR Flotte AS new CMyFlotte( idDerFlotte ); VAR Ship as CMyShip FOR ( EACH Ship IN Flotte.Ships ) { Ship.Name = '' & names[i] i = i + 1 }
Vorschlag 2.
von Positron
VAR i AS Integer = 1 VAR Flotte AS new CMyFlotte( idDerFlotte ); VAR Ship as CMyShip FOR ( EACH Ship IN Flotte.Ships ) { Ship.Name = 'Name_' & i; // damit heisst das erste Schiff Name_1, das zweite Name_2 etc. i = i + 1; }
Vorschlag 3.
von moax
Var i As Integer = 1; Var Flotte As New CMyFlotte(79925); Var Ship As CMyShip; For (Each Ship In Flotte.Ships) { If (i > 9) { Ship.Name = 'Prinz Eugen' & i; } Else { Ship.Name = 'Prinz Eugen 0' & i; } i = i + 1; }
Vorschlag 4.
von moax
Var tag As String; Var name As String; Var i As Integer; Var flotte As Integer; tag = "K - "; name = "Löwenzahn "; i = 1; flotte = 79939; Var fleet As New CMyFlotte(flotte); Var shiplist As CShipList; shiplist = fleet.Ships; shiplist.Reverse(); shiplist.Reverse(); Var ship As CMyShip; For (Each ship In shiplist) { If (i < 10) { ship.Name = & tag & ' ' & name & ' 0' & i ; i = i + 1; } Else { ship.Name = & tag & ' ' & name & ' ' & i ; i = i + 1; } } WriteLine('Bennenung der Flotte erfolgreich ausgeführt!');
Bemerkungen
Kommentare
von Positron: Ich verstehe nicht ganz wofür dieses String-Array gut sein solle. Weil so muss man die Anzahl der "names" Parameter genauso gross oder mindestes so gross halten wie die Anzahl der Schiffe in der Flotte. Meist kommt es zu einer Fehlermeldung, wo der Index Ausserhalb des Arrays landet, weil ja nur zB 3 Namen im Array stehen aber es mehr als 3 Schiffe in der Flotte gibt. Sinnvoller ist es das Array komplett wegzulassen inklusive der names[i]-Angabe.. Hinzu kommt, das wenn man dann doch jeden Namen wieder einzeln für alle Schiffe einer Flotte(bis zu 80 Stk) einzeln eingeben muss, sich ein Script dafür erübrigt.
Mein Vorschlag für einen neuen Script-Code:
VAR i AS Integer = 1 VAR Flotte AS new CMyFlotte( idDerFlotte ); VAR Ship as CMyShip FOR ( EACH Ship IN Flotte.Ships ) { Ship.Name = 'Name_' & i; // damit heisst das erste Schiff Name_1, das zweite Name_2 etc. i = i + 1; }