Scripting:Flotten benennen
Aus STNE-Wiki
K (→Vorschlag 5: Benennung in NCC-Reihenfolge) |
K (→Vorschlag 5: Benennung in NCC-Reihenfolge) |
||
(Der Versionsvergleich bezieht 1 dazwischenliegende Version mit ein.) | |||
Zeile 93: | Zeile 93: | ||
title = "Enterprise"; // Schiffsbezeichnung (z.B. "Enterprise") | title = "Enterprise"; // Schiffsbezeichnung (z.B. "Enterprise") | ||
flotte = 123456; // FlottenID. Siehe: http://wiki.stne.net/index.php?title=Scripting:FlottenIDErmitteln | flotte = 123456; // FlottenID. Siehe: http://wiki.stne.net/index.php?title=Scripting:FlottenIDErmitteln | ||
- | If (tag = '') { name = title & ' '; } | + | If (tag = <nowiki>''</nowiki>) { name = title & ' '; } |
Else { name = tag & ' ' & title & ' '; } | Else { name = tag & ' ' & title & ' '; } | ||
i = 1; | i = 1; | ||
Zeile 101: | Zeile 101: | ||
Var ship As CMyShip; | Var ship As CMyShip; | ||
Var firstship As CMyShip; | Var firstship As CMyShip; | ||
- | WriteLine(''); | + | WriteLine(<nowiki>''</nowiki>); |
- | WriteLine('ooo/-----------------------------------------------------------------/'); | + | WriteLine('ooo/------------------------------------------------------------------------------------------------/'); |
- | WriteLine('oo/ Flottenbenennung nach NCC sortiert - erstellt von Luggage (7066)/'); | + | WriteLine('oo/ Flottenbenennung nach NCC sortiert - erstellt von Luggage (7066) mit Hilfe von Licenser (45929)/'); |
- | WriteLine('o/ Warenspenden aus Dankbarkeit sind immer willkommen ;-) /--------/'); | + | WriteLine('o/ Warenspenden aus Dankbarkeit sind immer willkommen ;-) /---------------------------------------/'); |
WriteLine('/--------------------------------------------------------/'); | WriteLine('/--------------------------------------------------------/'); | ||
- | WriteLine(''); | + | WriteLine(<nowiki>''</nowiki>); |
WriteLine('Beginne Benennung der Flotte "' & fleet.Name & '" mit folgenden Parametern:'); | WriteLine('Beginne Benennung der Flotte "' & fleet.Name & '" mit folgenden Parametern:'); | ||
WriteLine('Anzahl der Schiffe in Flotte: ' & shiplist.Count); | WriteLine('Anzahl der Schiffe in Flotte: ' & shiplist.Count); | ||
- | If (tag = '') { WriteLine('Keine Schiffskennung angegeben.'); } | + | If (tag = <nowiki>''</nowiki>) { WriteLine('Keine Schiffskennung angegeben.'); } |
Else { WriteLine('Schiffskennung: ' & tag); } | Else { WriteLine('Schiffskennung: ' & tag); } | ||
WriteLine('Schiffsbezeichnung: ' & title); | WriteLine('Schiffsbezeichnung: ' & title); | ||
- | WriteLine(''); | + | WriteLine(<nowiki>''</nowiki>); |
While (shiplist.Count > 0) | While (shiplist.Count > 0) | ||
{ | { | ||
Zeile 134: | Zeile 134: | ||
WriteLine(firstship.Name & ' (NCC: ' & firstship.ShipID & ') benannt - ' & shiplist.Count & ' Schiffe verbleiben.'); | WriteLine(firstship.Name & ' (NCC: ' & firstship.ShipID & ') benannt - ' & shiplist.Count & ' Schiffe verbleiben.'); | ||
} | } | ||
- | WriteLine(''); | + | WriteLine(<nowiki>''</nowiki>); |
WriteLine('Alle Schiffe benannt.'); | WriteLine('Alle Schiffe benannt.'); | ||
Aktuelle Version vom 19. Dezember 2008, 16:35 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!');
Vorschlag 5: Benennung in NCC-Reihenfolge
von Luggage
Var tag As String; Var title As String; Var name As String; Var i As Integer; Var flotte As Integer; tag = "USS"; // Schiffskennung (z.B. "USS") - optional title = "Enterprise"; // Schiffsbezeichnung (z.B. "Enterprise") flotte = 123456; // FlottenID. Siehe: http://wiki.stne.net/index.php?title=Scripting:FlottenIDErmitteln If (tag = '') { name = title & ' '; } Else { name = tag & ' ' & title & ' '; } i = 1; Var fleet As New CMyFlotte(flotte); Var shiplist As CShipList; shiplist = fleet.Ships; Var ship As CMyShip; Var firstship As CMyShip; WriteLine(''); WriteLine('ooo/------------------------------------------------------------------------------------------------/'); WriteLine('oo/ Flottenbenennung nach NCC sortiert - erstellt von Luggage (7066) mit Hilfe von Licenser (45929)/'); WriteLine('o/ Warenspenden aus Dankbarkeit sind immer willkommen ;-) /---------------------------------------/'); WriteLine('/--------------------------------------------------------/'); WriteLine(''); WriteLine('Beginne Benennung der Flotte "' & fleet.Name & '" mit folgenden Parametern:'); WriteLine('Anzahl der Schiffe in Flotte: ' & shiplist.Count); If (tag = '') { WriteLine('Keine Schiffskennung angegeben.'); } Else { WriteLine('Schiffskennung: ' & tag); } WriteLine('Schiffsbezeichnung: ' & title); WriteLine(''); While (shiplist.Count > 0) { firstship = shiplist.Item(0); For (Each ship In shiplist) { If (ship.ShipID < firstship.ShipID) { firstship = ship; } } If (i < 10) { firstship.Name = name & '0' & i ; i = i + 1; } Else { firstship.Name = name & i ; i = i + 1; } shiplist.Remove(firstship); WriteLine(firstship.Name & ' (NCC: ' & firstship.ShipID & ') benannt - ' & shiplist.Count & ' Schiffe verbleiben.'); } WriteLine(''); WriteLine('Alle Schiffe benannt.');
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; }
von moax:
Ich hab nun alle Varianten mal reingeben wobei ich die letzter bevorzuge.