<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.stne.net/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.stne.net/index.php?feed=atom&amp;target=Faldrian&amp;title=Spezial%3ABeitr%C3%A4ge%2FFaldrian</id>
		<title>STNE-Wiki - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.stne.net/index.php?feed=atom&amp;target=Faldrian&amp;title=Spezial%3ABeitr%C3%A4ge%2FFaldrian"/>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Spezial:Beitr%C3%A4ge/Faldrian"/>
		<updated>2026-04-07T12:10:40Z</updated>
		<subtitle>Aus STNE-Wiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint</id>
		<title>Scripting:Lib prettyprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint"/>
				<updated>2010-06-30T13:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Das Problem: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Das Problem: ==&lt;br /&gt;
Die Script-Engine erlaubt einem einige echt komfortable und nette Dinge, aber irgendwann ist man an dem Punkt, wo Portale schön aussehen sollen.&lt;br /&gt;
An diesem Punkt wird man merken, dass man viele Verrenkungen machen muss, damit man Text fett bekommt oder andere Sachen damit machen kann.&lt;br /&gt;
&lt;br /&gt;
Diesem Problem habe ich nun hier Abhilfe geschaffen und die Library &amp;quot;PrettyPrint&amp;quot; eingeführt.&lt;br /&gt;
Diesen Haufen an Funktionen schiebt man einfach bei sich in das Portal und steuert es so an, wie ganz unten im Beispiel angegeben.&lt;br /&gt;
Nun kann man den Text, den man in die Funktion steckt schon fast so formatieren wie in einer IGM.&lt;br /&gt;
Folgende Tags funktionieren:&lt;br /&gt;
br, b, i, u, img, ul, li, small, font&lt;br /&gt;
&lt;br /&gt;
'''UPDATE (30.06.2010): Bugfix wegen nicht-erkannten GROSSGESCHRIEBENENE-EndTags.'''&lt;br /&gt;
&lt;br /&gt;
== Library &amp;quot;PrettyPrint&amp;quot; ==&lt;br /&gt;
 #UseInterface Web;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     tag = tag.ToLower(); // Damit auch CAPS-Tags erkannt werden.&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   if(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart,text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
           &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index -7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(&amp;lt;nowiki&amp;gt;http://game.stne.net/t/1/s/li.gif&amp;lt;/nowiki&amp;gt;)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index-5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Var test As String = &amp;quot;hier ist ein &amp;lt;b&amp;gt;fetter&amp;lt;font color='red'&amp;gt; roter &amp;lt;/font&amp;gt;&amp;lt;u&amp;gt;unterstrichener&amp;lt;/u&amp;gt; &amp;lt;i&amp;gt;Testtext&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Response.Add(prettyPrint(test));&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint</id>
		<title>Scripting:Lib prettyprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint"/>
				<updated>2010-06-30T13:01:30Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Library &amp;quot;PrettyPrint&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Das Problem: ==&lt;br /&gt;
Die Script-Engine erlaubt einem einige echt komfortable und nette Dinge, aber irgendwann ist man an dem Punkt, wo Portale schön aussehen sollen.&lt;br /&gt;
An diesem Punkt wird man merken, dass man viele Verrenkungen machen muss, damit man Text fett bekommt oder andere Sachen damit machen kann.&lt;br /&gt;
&lt;br /&gt;
Diesem Problem habe ich nun hier Abhilfe geschaffen und die Library &amp;quot;PrettyPrint&amp;quot; eingeführt.&lt;br /&gt;
Diesen Haufen an Funktionen schiebt man einfach bei sich in das Portal und steuert es so an, wie ganz unten im Beispiel angegeben.&lt;br /&gt;
Nun kann man den Text, den man in die Funktion steckt schon fast so formatieren wie in einer IGM.&lt;br /&gt;
Folgende Tags funktionieren:&lt;br /&gt;
br, b, i, u, img, ul, li, small, font&lt;br /&gt;
&lt;br /&gt;
Es wird derzeit noch geplant, [Spieler:] und solche Kurztags einzubauen, sowieso &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;hyperlinks&amp;lt;/a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Library &amp;quot;PrettyPrint&amp;quot; ==&lt;br /&gt;
 #UseInterface Web;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     tag = tag.ToLower(); // Damit auch CAPS-Tags erkannt werden.&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   if(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart,text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
           &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index -7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(&amp;lt;nowiki&amp;gt;http://game.stne.net/t/1/s/li.gif&amp;lt;/nowiki&amp;gt;)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index-5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Var test As String = &amp;quot;hier ist ein &amp;lt;b&amp;gt;fetter&amp;lt;font color='red'&amp;gt; roter &amp;lt;/font&amp;gt;&amp;lt;u&amp;gt;unterstrichener&amp;lt;/u&amp;gt; &amp;lt;i&amp;gt;Testtext&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Response.Add(prettyPrint(test));&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen</id>
		<title>Iridium-Erz abbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen"/>
				<updated>2010-06-26T14:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Erz-Frachter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
__TOC__&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Der Rohstoff [[Iridium-Erz]] wird benötigt für die Herstellung von [[Duranium]] (1 Duranium aus 3 Iridium-Erz) sowie für den Betrieb von [[Forschungszentrum|Forschungszentren]] (2 Erz pro [[Tick]]). Ausserdem kann ein [[Industrieller Replikator]] Iridium-Erz 1 : 1 wahlweise in [[Nahrung]] oder [[Baumaterial]] umwandeln.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Iridium-Erz kann auf 2 Wegen gewonnen werden: &lt;br /&gt;
# mit [[Mine|Minen]] auf Kolonien und &lt;br /&gt;
# mit Raumschiffen, die über [[Erz-Kollektoren]] verfügen, in [[Asteroidenfelder|Asteroidenfeldern]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== planetarer Erz-Abbau in Minen ==&lt;br /&gt;
Wieviele Einheiten Iridium eine Mine pro [[Tick]] fördern kann hängt von der Höhe des [[Erzvokommen]]s ab. Sie ist für die verschiedenen Planeten und Asteroidenfelder unterschiedlich. Um eine [[Duraniumanlage]] mit den pro Tick benötigten 12 Einheiten Iridium zu versorgen, müssen also jeweils unterschiedlich viele Iridium-Minen gebaut werden:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Karten-&amp;lt;br&amp;gt;feld&lt;br /&gt;
! Name&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt;am Boden&lt;br /&gt;
! Minen für 1&amp;lt;br&amp;gt;[[Duraniumanlage]]&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt; im Sektor&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/5.gif&lt;br /&gt;
| [[Klasse-DD|Großes Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 6&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/4.gif&lt;br /&gt;
| [[Klasse-D|Kleines Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/16.gif&lt;br /&gt;
| [[Klasse-J|Felsplanet]]&lt;br /&gt;
| 10&lt;br /&gt;
| 1,2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/12.gif&lt;br /&gt;
| [[Klasse-L|Eisplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/24.gif&lt;br /&gt;
| [[Klasse-La|Lavaplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/13.gif&lt;br /&gt;
| [[Klasse-M|Standardplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/6.gif&lt;br /&gt;
| [[Klasse-F|Gemäßigter Planet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/14.gif&lt;br /&gt;
| [[Klasse-N|Wasserplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/7.gif&lt;br /&gt;
| [[Klasse-G|Wüstenplanet]]&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/17.gif&lt;br /&gt;
| [[Klasse-DE|Eisasteroid]]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erz-Abschmelzung in Asteroidenfeldern ==&lt;br /&gt;
Befindet sich ein Schiff, das mit Erz-Kollektoren ausgerüstet ist, in dem Sektor - egal ob im Orbit oder außerhalb - eines Asteroidenfeldes, wird der Button zur Aktivierung der Kollektoren eingeblendet. Sie können auch eingesetzt werden, wenn die Schilde des Raumschiffs aktiviert sind. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Im angedockten Zustand können Erz-Kollektoren nicht ausgesandt werden&amp;lt;/font&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
http://game.stne.net/i/help/erz_kollektoren.gif&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Über den Button kann die Anzahl der Erz-Kollektor-Benutzungen eingestellt werden. Jede Benutzung kostet 1 [[Energie]] und verursacht 2 Vorgänge:&lt;br /&gt;
*Die Phaser des Schiffes schmelzen Iridium von den umhertreibenden Asteroidenbrocken ab. &lt;br /&gt;
*Die Kollektoren werden ausgesandt, um es zu sammeln und an Bord zu bringen.&lt;br /&gt;
Die Phaser des Schiffes erhitzen sich dabei, ganz normal, um eine Einheit pro Kollektor-Benutzung. Beim Erzsammeln kann allerdings das 4fache der normal möglichen Phaser-Erhitzung verursacht werden; dann jedoch können in dem [[Tick|Zyklus]] die Kollektoren nicht erneut ausgesandt werden. Phaser kühlen pro Zyklus um 4 Punkte ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Beispiel: Antares ===&lt;br /&gt;
Ein Raumschiff der Antares-Klasse hat eine maximale Phaser-Erhitzung von 6, bei Erz-Abbau also mal 4 = 24. Das heißt, die Antares kann - vorausgesetzt, sie verfügt über genügend Energie - bei voll abgekühlten Phasern maximal 24 Kollektor-Benutzungen in einem Zyklus durchführen (und damit in einem großen Asteroidenfeld 144 Einheiten Iridium-Erz gewinnen). Danach braucht sie 6 Zyklen, bis Ihre Phaser wieder voll abgekühlt sind. Oder aber die Antares verwendet in jedem Zyklus 4 Erz-Kollektoren und baut damit in einem großen Asteroidenfeld 4 x 6 = 24 Erz ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Mit den 24 Iridium-Erz, die ein Erz-Schiff in einem großen Asteroidenfeld pro Zyklus über seine Erz-Kollektoren einholen kann, lassen sich auf einer Kolonie auf dem Asteroiden 2 Duraniumanlagen betreiben (Verbrauch: 24 Erz, 12 Energie und 8 Leute). Dazu muss das Erz-Schiff im Orbit des großen Asteroidenfeldes stehen und das eingeholte Erz muss von der Kolonie aus heruntergebeamt werden, damit das Schiff seine Energie ungestört wieder aufladen kann. Natürlich kann das auch alle paar Zyklen geschehen, beispielsweise 1 mal täglich, aber möglichst nicht über die 5 Zyklen hinaus, die das Erz-Schiff zum kompletten Abkühlen seiner Phaser braucht, weil sonst Versorgungsrunden für die Duranium-Anlagen ausfallen. 2 planetare Minen (24 Iridium-Erz, 6 Energie, 8 Leute) auf einem großen Asteroidenfeld sind nicht ganz so ergiebig wie 1 Erz-Schiff in seinem Orbit (24 Iridium-Erz, 4 Energie plus 0,5 bis 2 Energie für das Herunterbeamen, 5 Leute). Natürlich dürfen Nahrungs- und Treibstoffvorräte nicht vernachlässigt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Besonders in den Orbits über Kolonien auf großen Asteroidenfeldern lohnt sich der Bau einer Raumstation, z.B. einer mächtigen Basis. An diese können Erz-Schiffe angedockt werden für die Nahrungsversorgung ihrer Crews, zum Versorgen mit Deuterium- oder Plasma-Treibstoff (es gibt keine Erz-Schiffe mit Warpkern) sowie zum Herunterbeamen von Erz auf die Kolonie - eine Basis bietet ausreichend Lagerplatz für Treibstoff und Erz sowie einen 50'er Beamtransport zur und von der Kolonie. Zwar können alle 3 verfügbaren Erz-Schiffstypen 5 Torpedos abfeuern (und 10 lagern), aber die Basis kann die angedockten Schiffe mit 4 Schüssen je Kampftick verteidigen. Da die Erz-Kollektoren (genau wie Bussard-Kollektoren) nicht von einem angedockten Schiff ausgeschickt werden können, müssen die Erz-Schiffe mindestens 1 mal in 5 Zyklen (täglich) abgedockt werden, um eine maximale Erzladung einzuholen. Nach ihrem Wiederandocken kann die Basis einen Teil des Gesamterzes zur Kolonie oder auf ein Frachtschiff umverteilen und dann gegebenenfalls ihre Schilde wieder aktivieren.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Erz-Frachter ==&lt;br /&gt;
Nur 3 Schiffsklassen verfügen über Erz-Kollektoren (Das Flaggschif Atria ausgenommen) :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Bild&lt;br /&gt;
! Schiffsklasse&lt;br /&gt;
! max. Phaser-&amp;lt;br&amp;gt;Erhitzung&lt;br /&gt;
! 4* max.&amp;lt;br&amp;gt;Phasererhitzung&lt;br /&gt;
! Laderaum&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/2.gif&lt;br /&gt;
| [[Antares]]&lt;br /&gt;
| 6&lt;br /&gt;
| 24&lt;br /&gt;
| 600&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; &lt;br /&gt;
| http://game.stne.net/i/s/19.gif&lt;br /&gt;
| [[Andorra]]&lt;br /&gt;
| 6&lt;br /&gt;
| 24&lt;br /&gt;
| 600&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/905.gif&lt;br /&gt;
| [[Capo]]&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 400&lt;br /&gt;
|}&lt;br /&gt;
[[Kategorie: Rohstoffe]]&lt;br /&gt;
[[Kategorie:Rohstoffgewinnung]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen</id>
		<title>Iridium-Erz abbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen"/>
				<updated>2010-06-26T14:34:51Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Erz-Frachter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
__TOC__&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Der Rohstoff [[Iridium-Erz]] wird benötigt für die Herstellung von [[Duranium]] (1 Duranium aus 3 Iridium-Erz) sowie für den Betrieb von [[Forschungszentrum|Forschungszentren]] (2 Erz pro [[Tick]]). Ausserdem kann ein [[Industrieller Replikator]] Iridium-Erz 1 : 1 wahlweise in [[Nahrung]] oder [[Baumaterial]] umwandeln.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Iridium-Erz kann auf 2 Wegen gewonnen werden: &lt;br /&gt;
# mit [[Mine|Minen]] auf Kolonien und &lt;br /&gt;
# mit Raumschiffen, die über [[Erz-Kollektoren]] verfügen, in [[Asteroidenfelder|Asteroidenfeldern]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== planetarer Erz-Abbau in Minen ==&lt;br /&gt;
Wieviele Einheiten Iridium eine Mine pro [[Tick]] fördern kann hängt von der Höhe des [[Erzvokommen]]s ab. Sie ist für die verschiedenen Planeten und Asteroidenfelder unterschiedlich. Um eine [[Duraniumanlage]] mit den pro Tick benötigten 12 Einheiten Iridium zu versorgen, müssen also jeweils unterschiedlich viele Iridium-Minen gebaut werden:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Karten-&amp;lt;br&amp;gt;feld&lt;br /&gt;
! Name&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt;am Boden&lt;br /&gt;
! Minen für 1&amp;lt;br&amp;gt;[[Duraniumanlage]]&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt; im Sektor&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/5.gif&lt;br /&gt;
| [[Klasse-DD|Großes Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 6&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/4.gif&lt;br /&gt;
| [[Klasse-D|Kleines Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/16.gif&lt;br /&gt;
| [[Klasse-J|Felsplanet]]&lt;br /&gt;
| 10&lt;br /&gt;
| 1,2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/12.gif&lt;br /&gt;
| [[Klasse-L|Eisplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/24.gif&lt;br /&gt;
| [[Klasse-La|Lavaplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/13.gif&lt;br /&gt;
| [[Klasse-M|Standardplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/6.gif&lt;br /&gt;
| [[Klasse-F|Gemäßigter Planet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/14.gif&lt;br /&gt;
| [[Klasse-N|Wasserplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/7.gif&lt;br /&gt;
| [[Klasse-G|Wüstenplanet]]&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/17.gif&lt;br /&gt;
| [[Klasse-DE|Eisasteroid]]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erz-Abschmelzung in Asteroidenfeldern ==&lt;br /&gt;
Befindet sich ein Schiff, das mit Erz-Kollektoren ausgerüstet ist, in dem Sektor - egal ob im Orbit oder außerhalb - eines Asteroidenfeldes, wird der Button zur Aktivierung der Kollektoren eingeblendet. Sie können auch eingesetzt werden, wenn die Schilde des Raumschiffs aktiviert sind. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Im angedockten Zustand können Erz-Kollektoren nicht ausgesandt werden&amp;lt;/font&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
http://game.stne.net/i/help/erz_kollektoren.gif&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Über den Button kann die Anzahl der Erz-Kollektor-Benutzungen eingestellt werden. Jede Benutzung kostet 1 [[Energie]] und verursacht 2 Vorgänge:&lt;br /&gt;
*Die Phaser des Schiffes schmelzen Iridium von den umhertreibenden Asteroidenbrocken ab. &lt;br /&gt;
*Die Kollektoren werden ausgesandt, um es zu sammeln und an Bord zu bringen.&lt;br /&gt;
Die Phaser des Schiffes erhitzen sich dabei, ganz normal, um eine Einheit pro Kollektor-Benutzung. Beim Erzsammeln kann allerdings das 4fache der normal möglichen Phaser-Erhitzung verursacht werden; dann jedoch können in dem [[Tick|Zyklus]] die Kollektoren nicht erneut ausgesandt werden. Phaser kühlen pro Zyklus um 4 Punkte ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Beispiel: Antares ===&lt;br /&gt;
Ein Raumschiff der Antares-Klasse hat eine maximale Phaser-Erhitzung von 6, bei Erz-Abbau also mal 4 = 24. Das heißt, die Antares kann - vorausgesetzt, sie verfügt über genügend Energie - bei voll abgekühlten Phasern maximal 24 Kollektor-Benutzungen in einem Zyklus durchführen (und damit in einem großen Asteroidenfeld 144 Einheiten Iridium-Erz gewinnen). Danach braucht sie 6 Zyklen, bis Ihre Phaser wieder voll abgekühlt sind. Oder aber die Antares verwendet in jedem Zyklus 4 Erz-Kollektoren und baut damit in einem großen Asteroidenfeld 4 x 6 = 24 Erz ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Mit den 24 Iridium-Erz, die ein Erz-Schiff in einem großen Asteroidenfeld pro Zyklus über seine Erz-Kollektoren einholen kann, lassen sich auf einer Kolonie auf dem Asteroiden 2 Duraniumanlagen betreiben (Verbrauch: 24 Erz, 12 Energie und 8 Leute). Dazu muss das Erz-Schiff im Orbit des großen Asteroidenfeldes stehen und das eingeholte Erz muss von der Kolonie aus heruntergebeamt werden, damit das Schiff seine Energie ungestört wieder aufladen kann. Natürlich kann das auch alle paar Zyklen geschehen, beispielsweise 1 mal täglich, aber möglichst nicht über die 5 Zyklen hinaus, die das Erz-Schiff zum kompletten Abkühlen seiner Phaser braucht, weil sonst Versorgungsrunden für die Duranium-Anlagen ausfallen. 2 planetare Minen (24 Iridium-Erz, 6 Energie, 8 Leute) auf einem großen Asteroidenfeld sind nicht ganz so ergiebig wie 1 Erz-Schiff in seinem Orbit (24 Iridium-Erz, 4 Energie plus 0,5 bis 2 Energie für das Herunterbeamen, 5 Leute). Natürlich dürfen Nahrungs- und Treibstoffvorräte nicht vernachlässigt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Besonders in den Orbits über Kolonien auf großen Asteroidenfeldern lohnt sich der Bau einer Raumstation, z.B. einer mächtigen Basis. An diese können Erz-Schiffe angedockt werden für die Nahrungsversorgung ihrer Crews, zum Versorgen mit Deuterium- oder Plasma-Treibstoff (es gibt keine Erz-Schiffe mit Warpkern) sowie zum Herunterbeamen von Erz auf die Kolonie - eine Basis bietet ausreichend Lagerplatz für Treibstoff und Erz sowie einen 50'er Beamtransport zur und von der Kolonie. Zwar können alle 3 verfügbaren Erz-Schiffstypen 5 Torpedos abfeuern (und 10 lagern), aber die Basis kann die angedockten Schiffe mit 4 Schüssen je Kampftick verteidigen. Da die Erz-Kollektoren (genau wie Bussard-Kollektoren) nicht von einem angedockten Schiff ausgeschickt werden können, müssen die Erz-Schiffe mindestens 1 mal in 5 Zyklen (täglich) abgedockt werden, um eine maximale Erzladung einzuholen. Nach ihrem Wiederandocken kann die Basis einen Teil des Gesamterzes zur Kolonie oder auf ein Frachtschiff umverteilen und dann gegebenenfalls ihre Schilde wieder aktivieren.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Erz-Frachter ==&lt;br /&gt;
Nur 3 Schiffsklassen verfügen über Erz-Kollektoren (Das Flaggschif Atria ausgenommen) :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Bild&lt;br /&gt;
! Schiffsklasse&lt;br /&gt;
! max. Phaser-&amp;lt;br&amp;gt;Erhitzung&lt;br /&gt;
! 4* max.&amp;lt;br&amp;gt;Phasererhitzung&lt;br /&gt;
! Laderaum&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/2.gif&lt;br /&gt;
| [[Antares]]&lt;br /&gt;
| 6&lt;br /&gt;
| 24&lt;br /&gt;
| 600&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; &lt;br /&gt;
| http://game.stne.net/i/s/19.gif&lt;br /&gt;
| [[Andorra]]&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 600&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/905.gif&lt;br /&gt;
| [[Capo]]&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 400&lt;br /&gt;
|}&lt;br /&gt;
[[Kategorie: Rohstoffe]]&lt;br /&gt;
[[Kategorie:Rohstoffgewinnung]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen</id>
		<title>Iridium-Erz abbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Iridium-Erz_abbauen"/>
				<updated>2010-06-26T14:34:32Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Erz-Frachter */ Frachtraum Antares korrigiert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
__TOC__&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Der Rohstoff [[Iridium-Erz]] wird benötigt für die Herstellung von [[Duranium]] (1 Duranium aus 3 Iridium-Erz) sowie für den Betrieb von [[Forschungszentrum|Forschungszentren]] (2 Erz pro [[Tick]]). Ausserdem kann ein [[Industrieller Replikator]] Iridium-Erz 1 : 1 wahlweise in [[Nahrung]] oder [[Baumaterial]] umwandeln.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Iridium-Erz kann auf 2 Wegen gewonnen werden: &lt;br /&gt;
# mit [[Mine|Minen]] auf Kolonien und &lt;br /&gt;
# mit Raumschiffen, die über [[Erz-Kollektoren]] verfügen, in [[Asteroidenfelder|Asteroidenfeldern]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== planetarer Erz-Abbau in Minen ==&lt;br /&gt;
Wieviele Einheiten Iridium eine Mine pro [[Tick]] fördern kann hängt von der Höhe des [[Erzvokommen]]s ab. Sie ist für die verschiedenen Planeten und Asteroidenfelder unterschiedlich. Um eine [[Duraniumanlage]] mit den pro Tick benötigten 12 Einheiten Iridium zu versorgen, müssen also jeweils unterschiedlich viele Iridium-Minen gebaut werden:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Karten-&amp;lt;br&amp;gt;feld&lt;br /&gt;
! Name&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt;am Boden&lt;br /&gt;
! Minen für 1&amp;lt;br&amp;gt;[[Duraniumanlage]]&lt;br /&gt;
! [[Erzvorkommen]]&amp;lt;br&amp;gt; im Sektor&lt;br /&gt;
|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/5.gif&lt;br /&gt;
| [[Klasse-DD|Großes Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 6&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/4.gif&lt;br /&gt;
| [[Klasse-D|Kleines Asteroidenfeld]]&lt;br /&gt;
| 12&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/16.gif&lt;br /&gt;
| [[Klasse-J|Felsplanet]]&lt;br /&gt;
| 10&lt;br /&gt;
| 1,2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/12.gif&lt;br /&gt;
| [[Klasse-L|Eisplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/24.gif&lt;br /&gt;
| [[Klasse-La|Lavaplanet]]&lt;br /&gt;
| 8&lt;br /&gt;
| 1,5&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/13.gif&lt;br /&gt;
| [[Klasse-M|Standardplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/6.gif&lt;br /&gt;
| [[Klasse-F|Gemäßigter Planet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/14.gif&lt;br /&gt;
| [[Klasse-N|Wasserplanet]]&lt;br /&gt;
| 6&lt;br /&gt;
| 2&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/7.gif&lt;br /&gt;
| [[Klasse-G|Wüstenplanet]]&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| -&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/g/17.gif&lt;br /&gt;
| [[Klasse-DE|Eisasteroid]]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erz-Abschmelzung in Asteroidenfeldern ==&lt;br /&gt;
Befindet sich ein Schiff, das mit Erz-Kollektoren ausgerüstet ist, in dem Sektor - egal ob im Orbit oder außerhalb - eines Asteroidenfeldes, wird der Button zur Aktivierung der Kollektoren eingeblendet. Sie können auch eingesetzt werden, wenn die Schilde des Raumschiffs aktiviert sind. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Im angedockten Zustand können Erz-Kollektoren nicht ausgesandt werden&amp;lt;/font&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
http://game.stne.net/i/help/erz_kollektoren.gif&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Über den Button kann die Anzahl der Erz-Kollektor-Benutzungen eingestellt werden. Jede Benutzung kostet 1 [[Energie]] und verursacht 2 Vorgänge:&lt;br /&gt;
*Die Phaser des Schiffes schmelzen Iridium von den umhertreibenden Asteroidenbrocken ab. &lt;br /&gt;
*Die Kollektoren werden ausgesandt, um es zu sammeln und an Bord zu bringen.&lt;br /&gt;
Die Phaser des Schiffes erhitzen sich dabei, ganz normal, um eine Einheit pro Kollektor-Benutzung. Beim Erzsammeln kann allerdings das 4fache der normal möglichen Phaser-Erhitzung verursacht werden; dann jedoch können in dem [[Tick|Zyklus]] die Kollektoren nicht erneut ausgesandt werden. Phaser kühlen pro Zyklus um 4 Punkte ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Beispiel: Antares ===&lt;br /&gt;
Ein Raumschiff der Antares-Klasse hat eine maximale Phaser-Erhitzung von 6, bei Erz-Abbau also mal 4 = 24. Das heißt, die Antares kann - vorausgesetzt, sie verfügt über genügend Energie - bei voll abgekühlten Phasern maximal 24 Kollektor-Benutzungen in einem Zyklus durchführen (und damit in einem großen Asteroidenfeld 144 Einheiten Iridium-Erz gewinnen). Danach braucht sie 6 Zyklen, bis Ihre Phaser wieder voll abgekühlt sind. Oder aber die Antares verwendet in jedem Zyklus 4 Erz-Kollektoren und baut damit in einem großen Asteroidenfeld 4 x 6 = 24 Erz ab.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Mit den 24 Iridium-Erz, die ein Erz-Schiff in einem großen Asteroidenfeld pro Zyklus über seine Erz-Kollektoren einholen kann, lassen sich auf einer Kolonie auf dem Asteroiden 2 Duraniumanlagen betreiben (Verbrauch: 24 Erz, 12 Energie und 8 Leute). Dazu muss das Erz-Schiff im Orbit des großen Asteroidenfeldes stehen und das eingeholte Erz muss von der Kolonie aus heruntergebeamt werden, damit das Schiff seine Energie ungestört wieder aufladen kann. Natürlich kann das auch alle paar Zyklen geschehen, beispielsweise 1 mal täglich, aber möglichst nicht über die 5 Zyklen hinaus, die das Erz-Schiff zum kompletten Abkühlen seiner Phaser braucht, weil sonst Versorgungsrunden für die Duranium-Anlagen ausfallen. 2 planetare Minen (24 Iridium-Erz, 6 Energie, 8 Leute) auf einem großen Asteroidenfeld sind nicht ganz so ergiebig wie 1 Erz-Schiff in seinem Orbit (24 Iridium-Erz, 4 Energie plus 0,5 bis 2 Energie für das Herunterbeamen, 5 Leute). Natürlich dürfen Nahrungs- und Treibstoffvorräte nicht vernachlässigt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Besonders in den Orbits über Kolonien auf großen Asteroidenfeldern lohnt sich der Bau einer Raumstation, z.B. einer mächtigen Basis. An diese können Erz-Schiffe angedockt werden für die Nahrungsversorgung ihrer Crews, zum Versorgen mit Deuterium- oder Plasma-Treibstoff (es gibt keine Erz-Schiffe mit Warpkern) sowie zum Herunterbeamen von Erz auf die Kolonie - eine Basis bietet ausreichend Lagerplatz für Treibstoff und Erz sowie einen 50'er Beamtransport zur und von der Kolonie. Zwar können alle 3 verfügbaren Erz-Schiffstypen 5 Torpedos abfeuern (und 10 lagern), aber die Basis kann die angedockten Schiffe mit 4 Schüssen je Kampftick verteidigen. Da die Erz-Kollektoren (genau wie Bussard-Kollektoren) nicht von einem angedockten Schiff ausgeschickt werden können, müssen die Erz-Schiffe mindestens 1 mal in 5 Zyklen (täglich) abgedockt werden, um eine maximale Erzladung einzuholen. Nach ihrem Wiederandocken kann die Basis einen Teil des Gesamterzes zur Kolonie oder auf ein Frachtschiff umverteilen und dann gegebenenfalls ihre Schilde wieder aktivieren.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Erz-Frachter ==&lt;br /&gt;
Nur 3 Schiffsklassen verfügen über Erz-Kollektoren (Das Flaggschif Atria ausgenommen) :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Bild&lt;br /&gt;
! Schiffsklasse&lt;br /&gt;
! max. Phaser-&amp;lt;br&amp;gt;Erhitzung&lt;br /&gt;
! 4* max.&amp;lt;br&amp;gt;Phasererhitzung&lt;br /&gt;
! Laderaum&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/2.gif&lt;br /&gt;
| [[Antares]]&lt;br /&gt;
| 6&lt;br /&gt;
| 24&lt;br /&gt;
| 600&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; &lt;br /&gt;
| http://game.stne.net/i/s/19.gif&lt;br /&gt;
| [[Andorra]]&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 500&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| http://game.stne.net/i/s/905.gif&lt;br /&gt;
| [[Capo]]&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 400&lt;br /&gt;
|}&lt;br /&gt;
[[Kategorie: Rohstoffe]]&lt;br /&gt;
[[Kategorie:Rohstoffgewinnung]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:LadeStation</id>
		<title>Scripting:LadeStation</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:LadeStation"/>
				<updated>2010-02-07T10:49:05Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ihr kennt vielleicht die LadeStationen, die es überall im Quandranten gibt / mal gab.&lt;br /&gt;
Hier veröffentliche ich nun den Code dafür, auf dass jeder sich Code-Praxis hieran abgucken kann und den sinnvollen Einsatz der PrettyPrint-Library nachvollziehen kann.&lt;br /&gt;
Außerdem könnt ihr hiermit den Service-Level massiv heben, wenn ihr als Spieler selber solche Dienste anbietet. :)&lt;br /&gt;
&lt;br /&gt;
Damit es funktioniert, müssen zwei Daten-Dateien angelegt werden, was konkret benötigt wird, steht im Code.&lt;br /&gt;
Falls jemand mehr Zeit hat als ich, darf hier gerne Dokumentation hinzugefügt werden, um die Installation und das Verständnis einfacher zu machen.&lt;br /&gt;
&lt;br /&gt;
Viele Grüße,&lt;br /&gt;
Faldrian&lt;br /&gt;
&lt;br /&gt;
PS1: &amp;lt;a rel=&amp;quot;license&amp;quot; href=&amp;quot;http://creativecommons.org/licenses/by-nc-sa/3.0/de/&amp;quot;&amp;gt;Den Code stelle ich unter der BY-NC-SA CC-Lizenz zur Verfügung.&amp;lt;/a&amp;gt; Details stehen im Link.&lt;br /&gt;
&lt;br /&gt;
PS2: Zum Schreiben von Code ist das Wiki total bescheuert, daher hier noch ersatzweise ein Link auf eine vernünftig formatierte Version: http://www.pastebin.org/85331&lt;br /&gt;
&lt;br /&gt;
 #UseInterface Web, ShipPortal;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   If(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart, text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index - 7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } Elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(http://game.stne.net/t/1/s/li.gif)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index - 5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 /** Ende PrettyPrint **/&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Function println(text As String) {&lt;br /&gt;
   Response.Add(text);&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Checkt, ob ein String nur aus 0-9 besteht.&lt;br /&gt;
 Function is_integer(text As String) As Boolean {&lt;br /&gt;
   Var stringindex As Integer = 0;&lt;br /&gt;
   For(stringindex = 0 To text.Length - 1) {&lt;br /&gt;
     If( not Char.IsNumber(text, stringindex)) {&lt;br /&gt;
       Return False;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return True;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // -- Konstanten&lt;br /&gt;
 Var kostenProEnergie As Integer = 5;&lt;br /&gt;
 Var maxGutscheinMenge As Integer = 1000;&lt;br /&gt;
 &lt;br /&gt;
 // -- Initialisierung des DataNodes&lt;br /&gt;
 // Var gutscheinspeicher As New CDataNodeStorage(&amp;quot;ServicePortalReserve_Gutschein&amp;quot;, true); &amp;lt;-- das braucht man nur um einen neuen Knoten zu erstellen.&lt;br /&gt;
 Var speicher As CDataNodeStorage = CDataNodeStorage.LoadFromUser(&amp;quot;ServicePortalReserve&amp;quot;, 36705);&lt;br /&gt;
 If( not speicher.Items.ContainsKey(&amp;quot;logs&amp;quot;)) { // Erster Aufruf?&lt;br /&gt;
   speicher.Items.Add(&amp;quot;logs&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 Var gutscheinspeicher As CDataNodeStorage = CDataNodeStorage.LoadFromUser(&amp;quot;ServicePortalReserve_Gutschein&amp;quot;, 36705);&lt;br /&gt;
 If( not gutscheinspeicher.Items.ContainsKey(&amp;quot;gutscheine&amp;quot;)) { // Erster Aufruf?&lt;br /&gt;
   gutscheinspeicher.Items.Add(&amp;quot;gutscheine&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /************************************&lt;br /&gt;
  ** DISPATCHER - Wohin gehts grad  **&lt;br /&gt;
  ************************************/&lt;br /&gt;
 Var options As CStringHashTable = Request.Form;&lt;br /&gt;
 If(options.ContainsKey(&amp;quot;event&amp;quot;)) {&lt;br /&gt;
   Var gotoevent As String = options.Item(&amp;quot;event&amp;quot;);&lt;br /&gt;
   If(gotoevent = &amp;quot;show_hauptseite&amp;quot;) {&lt;br /&gt;
     event_show_hauptseite();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;transfer_energy&amp;quot;) {&lt;br /&gt;
     event_transfer_energy();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;kaufe_gutschein&amp;quot;) {&lt;br /&gt;
     event_kaufe_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;show_gutschein&amp;quot;) {&lt;br /&gt;
     event_show_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;transfer_gutschein&amp;quot;) {&lt;br /&gt;
     event_transfer_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;show_logs&amp;quot;) {&lt;br /&gt;
     event_show_logs();&lt;br /&gt;
   } Else {&lt;br /&gt;
     // Wir programmieren gleich sauber mit Fehlermeldungen :)&lt;br /&gt;
     println(&amp;quot;Hier muss ein Fehler vorliegen. Bitte Faldrian(36705) melden und das hier angeben:&amp;quot;);&lt;br /&gt;
     println(&amp;quot;Dispatcher - unbekanntes Ziel - view: '&amp;quot; &amp;amp; gotoevent &amp;amp; &amp;quot;'&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
 } Else {&lt;br /&gt;
   // Einstiegsseite anzeigen&lt;br /&gt;
   event_show_hauptseite();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /***********************************************&lt;br /&gt;
  ** Controls - die Eventverarbeitenden Dinger **&lt;br /&gt;
  ***********************************************/&lt;br /&gt;
 &lt;br /&gt;
 // Ergebnisklasse, die von Check-Funktionen zurückgegeben wird.&lt;br /&gt;
 Class Checkresult {&lt;br /&gt;
   Var meldungen As CHtmlSpan;&lt;br /&gt;
   Var erfolg As Boolean;&lt;br /&gt;
   &lt;br /&gt;
   Function New() { // Konstruktor&lt;br /&gt;
     meldungen = New CHtmlSpan();&lt;br /&gt;
     erfolg = True;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function Add(text As String) { // Fügt eine neue Bemerkung hinzu&lt;br /&gt;
     If(not erfolg) {&lt;br /&gt;
       meldungen.Add(New CHtmlBreak());&lt;br /&gt;
     }&lt;br /&gt;
     meldungen.Add(text);&lt;br /&gt;
     erfolg = False;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_transfer_energy() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Ein Aufladevorgang soll gestartet werden&lt;br /&gt;
    */&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass genug Energie für die Eingabe vorhanden ist - Es gibt keine Beamkosten wegen &amp;quot;angedockt&amp;quot;.&lt;br /&gt;
   If(MyShip.Energie &amp;lt; menge) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es steht nicht genügend Energie zur Verfügung. Es ist nur &amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie vorhanden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     // Beamvorgang der Larne&lt;br /&gt;
     // Hierbei erstmal versuchen, die gewünschte menge herunterzubeamen, wenns nicht genug war, abrunden und den rest zurückbeamen.&lt;br /&gt;
     // dann soviel aufladen, wie bezahlt wurde.&lt;br /&gt;
     Var larneVorher As Double = MyShip.Larne;&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     MyShip.Aktion.TransferiereVonSchiff(GuestShip.ShipID, menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
     &lt;br /&gt;
     // Sicherstellen, dass genug Larne rübergekommen ist&lt;br /&gt;
     If(MyShip.Larne &amp;lt; larneVorher + menge * kostenProEnergie) {&lt;br /&gt;
       echte_menge = Math.Floor((MyShip.Larne - larneVorher) / kostenProEnergie); // angenommen 49 von 50 wurden gebeamt, gibt das 9 Ladungen Rest 4.&lt;br /&gt;
       &lt;br /&gt;
       // Rest zurückgeben&lt;br /&gt;
       MyShip.Aktion.TransferiereZuSchiff(GuestShip.ShipID, (MyShip.Larne - larneVorher) - echte_menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es wurde nur &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gefunden. Menge auf &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Reservebatterie-Aufladung&lt;br /&gt;
     MyShip.Aktion.StationsReserveBatterieAufladen(GuestShip.ShipID, echte_menge);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurde versucht die Reservebatterie Ihres Schiffs um &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; aufzuladen.&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Die Aufladung hat Sie  &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gekostet.&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
     // -- Absetzen des Logs im DataNode&lt;br /&gt;
     save_log(echte_menge, &amp;quot;&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Fenster wieder anzeigen.&lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_hauptseite(meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_hauptseite() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Hauptseite soll angezeigt werden.&lt;br /&gt;
    */&lt;br /&gt;
   view_hauptseite(New CHtmlControl());&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_logs() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Die Logansicht soll angezeigt werden.&lt;br /&gt;
    */&lt;br /&gt;
   view_logs();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_kaufe_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Kaufe mit Larne einen Gutschein&lt;br /&gt;
    */&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     // Begrenze die Gutscheinmenge - damit Leute nicht jetzt unbegrenzt für einen Preis kaufen und später einlösen, wenns teurer ist.&lt;br /&gt;
     If(menge &amp;gt; maxGutscheinMenge) {&lt;br /&gt;
       menge = maxGutscheinMenge;&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es können nur  &amp;quot; &amp;amp; CStr(maxGutscheinMenge) &amp;amp; &amp;quot; pro Gutschein gutgeschrieben werden. Menge angepasst.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Beamvorgang der Larne&lt;br /&gt;
     // Hierbei erstmal versuchen, die gewünschte menge herunterzubeamen, wenns nicht genug war, abrunden und den rest zurückbeamen.&lt;br /&gt;
     // dann soviel aufladen, wie bezahlt wurde.&lt;br /&gt;
     Var larneVorher As Double = MyShip.Larne;&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     MyShip.Aktion.TransferiereVonSchiff(GuestShip.ShipID, menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
     &lt;br /&gt;
     // Sicherstellen, dass genug Larne rübergekommen ist&lt;br /&gt;
     If(MyShip.Larne &amp;lt; larneVorher + menge * kostenProEnergie) {&lt;br /&gt;
       echte_menge = Math.Floor((MyShip.Larne - larneVorher) / kostenProEnergie); // angenommen 49 von 50 wurden gebeamt, gibt das 9 Ladungen Rest 4.&lt;br /&gt;
       &lt;br /&gt;
       // Rest zurückgeben&lt;br /&gt;
       MyShip.Aktion.TransferiereZuSchiff(GuestShip.ShipID, (MyShip.Larne - larneVorher) - echte_menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es wurde nur &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gefunden. Menge auf &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Gutschein-Erstellung&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurden &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne eingezogen.&amp;quot;);&lt;br /&gt;
     Var uuid As String = erzeuge_Gutschein(echte_menge);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Ein Gutschein über &amp;quot; &amp;amp; Cstr(echte_menge) &amp;amp; &amp;quot; Reserveenergie ausgestellt:&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Code: &amp;quot; &amp;amp; uuid);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Speichern Sie den Code gut ab!&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
     // -- Absetzen des Logs im DataNode&lt;br /&gt;
     save_log(echte_menge, &amp;quot;Gutschein erstellt: &amp;quot; &amp;amp; uuid);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Fenster wieder anzeigen.&lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_hauptseite(meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Ein Gutschein soll eingelöst werden und das verbleibende Guthaben wird angezeigt.&lt;br /&gt;
    * Falls der Gutschein nicht verfügbar ist oder kein Guthaben mehr aufweist, wird eine Fehlermeldung angezeigt und auf die Hauptseite weitergeleitet.&lt;br /&gt;
    */&lt;br /&gt;
   Var checkergebnisse As New Checkresult();&lt;br /&gt;
   Var meldungsbox As CHtmlSpan;&lt;br /&gt;
   If(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.ContainsKey(options.Item(&amp;quot;code&amp;quot;))) { // Checken, ob der Code überhaupt existiert.&lt;br /&gt;
     Var menge As Integer = Integer.Parse(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value);&lt;br /&gt;
     If(menge &amp;gt; 0) { // Ist noch Aufladung auf dem Gutschein vorhanden?&lt;br /&gt;
       view_gutschein(menge, options.Item(&amp;quot;code&amp;quot;), New CHtmlControl());&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Fehlermeldung erzeugen und Hauptseite anzeigen&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Der Gutscheincode &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot; hat kein Guthaben mehr.&amp;quot;);&lt;br /&gt;
       meldungsbox = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
       meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
       view_hauptseite(meldungsbox);&lt;br /&gt;
     }&lt;br /&gt;
   } Else {&lt;br /&gt;
     // Fehlermeldung erzeugen und Hauptseite anzeigen&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Der Gutscheincode &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot; existiert nicht.&amp;quot;);&lt;br /&gt;
     meldungsbox = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
     meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
     view_hauptseite(meldungsbox);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_transfer_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Löst einen Gutschein auch wirklich ein!&lt;br /&gt;
    */&lt;br /&gt;
   Var guthaben As Integer = Integer.Parse(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value);&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass genug Energie für die Eingabe vorhanden ist&lt;br /&gt;
   If(MyShip.Energie &amp;lt; menge) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es steht nicht genügend Energie zur Verfügung. Es ist nur &amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie vorhanden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     If(menge &amp;gt; guthaben) {&lt;br /&gt;
       echte_menge = guthaben;&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es waren nur noch &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; Energieeinheiten gutgeschrieben. Lademenge auf &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Auflademenge abziehen&lt;br /&gt;
     guthaben = guthaben - echte_menge;&lt;br /&gt;
     gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value = Cstr(guthaben);&lt;br /&gt;
     &lt;br /&gt;
     MyShip.Aktion.StationsReserveBatterieAufladen(GuestShip.ShipID, echte_menge);&lt;br /&gt;
     save_log(echte_menge, &amp;quot;Gutschein benutzt: &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;)); // auch im Log abspeichern&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurde versucht die Reservebatterie Ihres Schiffs um &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; aufzuladen.&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es verbleibt eine Gutschrift von &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; auf ihrem Gutschein mit Code &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot;.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_gutschein(guthaben, options.Item(&amp;quot;code&amp;quot;), meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function check_before_transaction() As Checkresult {&lt;br /&gt;
   /**&lt;br /&gt;
    * Check: Stellt sicher, dass wir in der Lage sind, vom Zielschiff Larne zu beamen.&lt;br /&gt;
    */&lt;br /&gt;
   &lt;br /&gt;
   Var ergebnis As New Checkresult();&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, dass der Kunde angedockt ist&lt;br /&gt;
   If(GuestShip.AngedocktAnID &amp;lt;&amp;gt; MyShip.AngedocktAnID) {&lt;br /&gt;
     ergebnis.Add(&amp;quot;Ihr Schiff muss an den VP angedockt sein.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, man selbst angedockt ist&lt;br /&gt;
   If(MyShip.Angedockt = False) {&lt;br /&gt;
     // Versuchen, das Schiff anzudocken&lt;br /&gt;
     Var schiff As CShip;&lt;br /&gt;
     For(Each schiff In MyShip.SRS) {&lt;br /&gt;
       If(schiff.Definition.IstRaumstation) {&lt;br /&gt;
         MyShip.Aktion.AndockenAn(schiff.ShipID);&lt;br /&gt;
         Exit For;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Sind wir jetzt angedockt?&lt;br /&gt;
     If(MyShip.Angedockt = False) {&lt;br /&gt;
       ergebnis.Add(&amp;quot;Das ServiceSchiff ist nicht angedockt - es tut uns leid. Bitte kontaktieren Sie den Besitzer.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, dass der Kunde auf Alarmstufe Grün ist&lt;br /&gt;
   If(GuestShip.Alarmstufe &amp;lt;&amp;gt; EAlarmStufe.Grün) {&lt;br /&gt;
     ergebnis.Add(&amp;quot;Ihr Schiff muss auf Alarmstufe Grün sein - sonst kann nicht gebeamt werden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return ergebnis;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function erzeuge_Gutschein(menge As Integer) As String {&lt;br /&gt;
   /**&lt;br /&gt;
    * Erzeugt einen Gutschein und gibt den Code zurück.&lt;br /&gt;
    */&lt;br /&gt;
   Var zufall As New Random(Date.Now.DayOfYear * 86400 + Date.Now.Hour * 3600 + Date.Now.Minute * 60 + Date.Now.Second);&lt;br /&gt;
   Var chartabelle As String = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;;&lt;br /&gt;
   Var i As Integer;&lt;br /&gt;
   Var ergebnis As String = &amp;quot;&amp;quot;;&lt;br /&gt;
   For(i = 0 To 16) { // Jedes Zeichen &lt;br /&gt;
     ergebnis = ergebnis &amp;amp; chartabelle.Substring(zufall.Next(26), 1);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Abspeichern in einen DataNode&lt;br /&gt;
   gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Add(ergebnis, menge);&lt;br /&gt;
   Return ergebnis;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function save_log(menge As Integer, anmerkung As String) {&lt;br /&gt;
   /**&lt;br /&gt;
    * Speichert einen Vorgang in dem Datanode ab&lt;br /&gt;
    */&lt;br /&gt;
   If( not speicher.Items.ContainsKey('autoid')) { // Erster Aufruf?&lt;br /&gt;
     speicher.Items.AddInteger('autoid', 0);&lt;br /&gt;
   }&lt;br /&gt;
   Var autoid As Integer = speicher.Items.Item('autoid').asInteger;&lt;br /&gt;
   speicher.Items.Item('logs').Items.Add(Cstr(autoid));&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;position&amp;quot;, MyShip.MapPosition.X &amp;amp; &amp;quot;|&amp;quot; &amp;amp; MyShip.MapPosition.Y);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;spieler&amp;quot;, GuestUser.UserID);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;datum&amp;quot;, Date.Now);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;menge&amp;quot;, menge);&lt;br /&gt;
   If(anmerkung.Length &amp;gt; 0) { // Nur, wenns auch gebraucht wird, wegen Platzsparen.&lt;br /&gt;
     speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;anmerkung&amp;quot;, anmerkung);&lt;br /&gt;
   }&lt;br /&gt;
   speicher.Items.Item('autoid').asInteger = autoid + 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /************************************&lt;br /&gt;
  ** Views - die Seitengenerierung  **&lt;br /&gt;
  ************************************/&lt;br /&gt;
 Function view_hauptseite(meldungen As CHtmlControl) {&lt;br /&gt;
   /**&lt;br /&gt;
    * Hauptseite, auf der die Benutzer ihre Aktionen durchführen können.&lt;br /&gt;
    * meldungen - Hier können Fehler oder Bestätigungen eingefügt werden.&lt;br /&gt;
    */&lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   &lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   // -- 1. Block - Logo&lt;br /&gt;
   table.Add(part_header());&lt;br /&gt;
   &lt;br /&gt;
   // -- 2. Block - Aufladen - Gutschein&lt;br /&gt;
   row = table.AddRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(meldungen); // &amp;lt;-- Fehlermeldungen reinhauen&lt;br /&gt;
   &lt;br /&gt;
   // Reserveenergie laden&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;img src='http://a.imagehost.org/0475/reserve_aufladen.png'&amp;gt;&amp;lt;br&amp;gt;Hier können Sie die &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;Reservebatterie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Ihres Schiffes gegen &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; aufladen lassen.&amp;lt;br&amp;gt;Es stehen derzeit &amp;lt;b&amp;gt;&amp;lt;font color='#5fe75b'&amp;gt;&amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Einheit &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;Reserveenergie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; kostet derzeit &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; CStr(kostenProEnergie) &amp;amp; &amp;quot; Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;.&amp;lt;br&amp;gt; &amp;quot;));&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;transfer_energy&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   Var inputtabelle As New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   Var inputtabelle_row As CTableRow = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   Var mengeFeld As New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Reserve aufladen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Gutscheine kaufen&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;br&amp;gt;&amp;lt;img src='http://a.imagehost.org/0052/gutscheine_kaufen_einloesen.png'&amp;gt;&amp;lt;br&amp;gt;Hier können Sie Gutscheine über bis zu &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; CStr(maxGutscheinMenge) &amp;amp; &amp;quot; Reserveenergie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; kaufen oder vorhandene Gutscheine einlösen.&amp;lt;br&amp;gt;Beim Kauf werden die &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; direkt von Ihrem Schiff abgebucht und ein Gutscheincode erstellt,&amp;lt;br&amp;gt;den Sie speichern sollten.&amp;lt;br&amp;gt;&amp;quot;));&lt;br /&gt;
   form = New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;kaufe_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle = New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   inputtabelle_row = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   mengeFeld = New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Gutschein kaufen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Gutscheine einlösen&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;br&amp;gt;Um einen Gutschein einzulösen, einfach den Gutscheincode in das Feld eingeben,&amp;lt;br&amp;gt; dann wird das Guthaben angezeigt und der Gutschein kann benutzt werden.&amp;quot;));&lt;br /&gt;
   form = New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;show_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle = New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   inputtabelle_row = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Gutscheincode:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   mengeFeld = New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;code&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 16;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Gutschein einlösen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // -- 3. Block - Hinweise&lt;br /&gt;
   table.Add(part_footer());&lt;br /&gt;
   &lt;br /&gt;
   // Zeige den Link zu den aufgezeichneten Transfers, wenn ich es bin.&lt;br /&gt;
   If(GuestUser.UserID = MyShip.UserID) {&lt;br /&gt;
     Response.Add(New CHtmlBreak());&lt;br /&gt;
     Var logform As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
     logform.Add(New CHtmlInput(&amp;quot;show_logs&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
     logform.Add(New CHtmlSubmitButton(&amp;quot;Logs anzeigen&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
     Response.Add(logform);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function view_gutschein(menge As Integer, code As String, meldungen As CHtmlControl) { // HIER WEITERMACHEN&lt;br /&gt;
   /**&lt;br /&gt;
    * Gutscheinmenge anzeigen, Auswahl der Menge erlauben und so...&lt;br /&gt;
    */&lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   // -- 1. Block - Logo&lt;br /&gt;
   table.Add(part_header());&lt;br /&gt;
   &lt;br /&gt;
   // -- 2. Block - Gutschein-Informationen&lt;br /&gt;
   row = table.AddRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(meldungen); // &amp;lt;-- Fehlermeldungen reinhauen&lt;br /&gt;
   &lt;br /&gt;
   // Reserveenergie laden&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;img src='http://a.imagehost.org/0097/gutschein_einloesen.png'&amp;gt;&amp;lt;br&amp;gt;Auf dem Gutschein mit dem Code &amp;lt;b&amp;gt;&amp;quot; &amp;amp; code &amp;amp; &amp;quot;&amp;lt;/b&amp;gt; sind noch &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; menge &amp;amp; &amp;quot; Energieeinheiten&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; gutgeschrieben.&amp;lt;br&amp;gt;Geben Sie hier die Menge ein, die Sie von dem Gutschein einlösen möchten.&amp;quot;));&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;transfer_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form.Add(New CHtmlInput(code, &amp;quot;code&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   Var inputtabelle As New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   Var inputtabelle_row As CTableRow = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   Var mengeFeld As New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Reserve aufladen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Zurückknopf&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
   Var form2 As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form2.Add(New CHtmlInput(&amp;quot;show_hauptseite&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form2.Add(New CHtmlSubmitButton(&amp;quot;Zurück zur Hauptseite&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   Response.Add(form2);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function view_logs() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Zeigt eine Tabelle mit allen bisherigen Aufladungen&lt;br /&gt;
    */&lt;br /&gt;
   Var logs As CDataNodeList = speicher.Items.Item('logs').Items;&lt;br /&gt;
   &lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   row = table.AddRow(5);&lt;br /&gt;
   row.Cells.Item(0).Add(&amp;quot;Ort&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(1).Add(&amp;quot;Spieler&amp;quot;);&lt;br /&gt;
   row.Cells.Item(1).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(2).Add(&amp;quot;Menge&amp;quot;);&lt;br /&gt;
   row.Cells.Item(2).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(3).Add(&amp;quot;Zeitpunkt&amp;quot;);&lt;br /&gt;
   row.Cells.Item(3).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(4).Add(&amp;quot;Anmerkung&amp;quot;);&lt;br /&gt;
   row.Cells.Item(4).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
   Var i As Integer;&lt;br /&gt;
   Var log As CDataNode;&lt;br /&gt;
   Var benutzer As CUser;&lt;br /&gt;
   Var datum As Date;&lt;br /&gt;
   For(i = logs.Count - 1 To 0 Step - 1) {&lt;br /&gt;
     log = logs.Item(CStr(i));&lt;br /&gt;
     benutzer = New CUser(log.Item(&amp;quot;spieler&amp;quot;).Value);&lt;br /&gt;
     datum = log.Item(&amp;quot;datum&amp;quot;).Value;&lt;br /&gt;
     &lt;br /&gt;
     row = table.AddRow(5);&lt;br /&gt;
     row.Cells.Item(0).Add(log.Item(&amp;quot;position&amp;quot;).Value);&lt;br /&gt;
     row.Cells.Item(1).Add(benutzer.GetHtmlNameAndID());&lt;br /&gt;
     row.Cells.Item(2).Add(log.Item(&amp;quot;menge&amp;quot;).Value);&lt;br /&gt;
     row.Cells.Item(3).Add(datum.ToShortDateString() &amp;amp; &amp;quot; - &amp;quot; &amp;amp; datum.ToShortTimeString());&lt;br /&gt;
     If(log.Items.ContainsKey(&amp;quot;anmerkung&amp;quot;)) {&lt;br /&gt;
       row.Cells.Item(4).Add(log.Item(&amp;quot;anmerkung&amp;quot;).Value);&lt;br /&gt;
     } Else {&lt;br /&gt;
       row.Cells.Item(4).Add(&amp;quot;-&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;show_hauptseite&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form.Add(New CHtmlSubmitButton(&amp;quot;Zurück zur Hauptseite&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   Response.Add(form);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function part_header() As CTableRow {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert die oberste Tabellenzeile&lt;br /&gt;
    */&lt;br /&gt;
   Var row As New CTableRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   Var centeredLogo As New CHtmlSpan();&lt;br /&gt;
   centeredLogo.Style.Add(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);&lt;br /&gt;
   centeredLogo.Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;center&amp;quot;);&lt;br /&gt;
   centeredLogo.Add(New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/battery_logo_0.png&amp;quot;));&lt;br /&gt;
   row.Cells.Item(0).Add(centeredLogo);&lt;br /&gt;
   &lt;br /&gt;
   Return row;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function part_footer() As CTableRow {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert die Hinweise und Tipps.&lt;br /&gt;
    */&lt;br /&gt;
   Var row As New CTableRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Hinweise:&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Es wird nicht überprüft, ob die Menge, die gewünscht wird, auch wirklich auf das Zielschiff passen wird.&amp;lt;br&amp;gt;Dadurch kann es sein, dass zuviel Energie versucht wird aufzuladen.&amp;lt;br&amp;gt;Es wird empfohlen, die Menge daher sorgfältig zu wählen, da sonst unnötige Kosten entstehen können.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Wenn die auf Ihrem Schiff vorhandenen Larne nicht für die gewünschte Aufladung ausreichen,&amp;lt;br&amp;gt;wird die Reserve nur teilweise aufgeladen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Es wird keinerlei Haftung für irgendwas, wodurch auch immer verursacht, übernommen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Weiterhin besteht keinerlei Anspruch auf die Verfügbarkeit dieses Dienstes.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;font color='#ffaaaa'&amp;gt;Sollte durch die Nutzung des Dienstes das Serviceschiff beschossen werden,&amp;lt;br&amp;gt;hat der auslösende Kunde die Reparatur zu zahlen (4 Dura pro Hüllenpunkt).&amp;lt;/font&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;b&amp;gt;Tipp:&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Sollte nicht genug Energie bereitstehen, so können Sie selbst Energie zu diesem Schiff senden.&amp;lt;br&amp;gt;Diese steht dann auch zur Aufladung bereit.&amp;lt;br&amp;gt;Hauptenergie können Sie bei der &amp;lt;b&amp;gt;Föderation&amp;lt;/b&amp;gt; gegen internes Ansehen bekommen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Larne zum Bezahlen können am VP gegen Waren erworben werden.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt; &amp;quot;));&lt;br /&gt;
   &lt;br /&gt;
   Return row;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function generate_messagebox(erfolg As Boolean) As CHtmlControl {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert eine Notifikationsbox, wenn irgendeine Aktion stattgefunden hat.&lt;br /&gt;
    */&lt;br /&gt;
   Var meldungsbox As New CHtmlSpan();&lt;br /&gt;
   Var icon As CHtmlImage();&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;min-height&amp;quot;, &amp;quot;29px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;font-weight&amp;quot;, &amp;quot;bold&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;6px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;margin&amp;quot;, &amp;quot;7px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;background-color&amp;quot;, &amp;quot;#000000&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   If(erfolg) {&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;color&amp;quot;, &amp;quot;#00ff00&amp;quot;);&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;border&amp;quot;, &amp;quot;1px solid #1f5e1f&amp;quot;);&lt;br /&gt;
     icon = New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/checkmark.png&amp;quot;);&lt;br /&gt;
     icon.Style.Add(&amp;quot;float&amp;quot;, &amp;quot;right&amp;quot;);&lt;br /&gt;
     meldungsbox.Add(icon);&lt;br /&gt;
   } Else {&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;color&amp;quot;, &amp;quot;#ff0000&amp;quot;);&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;border&amp;quot;, &amp;quot;1px solid #903737&amp;quot;);&lt;br /&gt;
     icon = New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/achtung.png&amp;quot;);&lt;br /&gt;
     icon.Style.Add(&amp;quot;float&amp;quot;, &amp;quot;right&amp;quot;);&lt;br /&gt;
     meldungsbox.Add(icon);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return meldungsbox;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:LadeStation</id>
		<title>Scripting:LadeStation</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:LadeStation"/>
				<updated>2010-02-02T09:27:37Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: LadeStation Script.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ihr kennt vielleicht die LadeStationen, die es überall im Quandranten gibt / mal gab.&lt;br /&gt;
Hier veröffentliche ich nun den Code dafür, auf dass jeder sich Code-Praxis hieran abgucken kann und den sinnvollen Einsatz der PrettyPrint-Library nachvollziehen kann.&lt;br /&gt;
Außerdem könnt ihr hiermit den Service-Level massiv heben, wenn ihr als Spieler selber solche Dienste anbietet. :)&lt;br /&gt;
&lt;br /&gt;
Damit es funktioniert, müssen zwei Daten-Dateien angelegt werden, was konkret benötigt wird, steht im Code.&lt;br /&gt;
Falls jemand mehr Zeit hat als ich, darf hier gerne Dokumentation hinzugefügt werden, um die Installation und das Verständnis einfacher zu machen.&lt;br /&gt;
&lt;br /&gt;
Viele Grüße,&lt;br /&gt;
Faldrian&lt;br /&gt;
&lt;br /&gt;
PS: Zum Schreiben von Code ist das Wiki total bescheuert, daher hier noch ersatzweise ein Link auf eine vernünftig formatierte Version: http://www.pastebin.org/85331&lt;br /&gt;
&lt;br /&gt;
 #UseInterface Web, ShipPortal;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   If(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart, text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index - 7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } Elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } Elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(http://game.stne.net/t/1/s/li.gif)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index - 5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 /** Ende PrettyPrint **/&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Function println(text As String) {&lt;br /&gt;
   Response.Add(text);&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Checkt, ob ein String nur aus 0-9 besteht.&lt;br /&gt;
 Function is_integer(text As String) As Boolean {&lt;br /&gt;
   Var stringindex As Integer = 0;&lt;br /&gt;
   For(stringindex = 0 To text.Length - 1) {&lt;br /&gt;
     If( not Char.IsNumber(text, stringindex)) {&lt;br /&gt;
       Return False;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return True;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // -- Konstanten&lt;br /&gt;
 Var kostenProEnergie As Integer = 5;&lt;br /&gt;
 Var maxGutscheinMenge As Integer = 1000;&lt;br /&gt;
 &lt;br /&gt;
 // -- Initialisierung des DataNodes&lt;br /&gt;
 // Var gutscheinspeicher As New CDataNodeStorage(&amp;quot;ServicePortalReserve_Gutschein&amp;quot;, true); &amp;lt;-- das braucht man nur um einen neuen Knoten zu erstellen.&lt;br /&gt;
 Var speicher As CDataNodeStorage = CDataNodeStorage.LoadFromUser(&amp;quot;ServicePortalReserve&amp;quot;, 36705);&lt;br /&gt;
 If( not speicher.Items.ContainsKey(&amp;quot;logs&amp;quot;)) { // Erster Aufruf?&lt;br /&gt;
   speicher.Items.Add(&amp;quot;logs&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 Var gutscheinspeicher As CDataNodeStorage = CDataNodeStorage.LoadFromUser(&amp;quot;ServicePortalReserve_Gutschein&amp;quot;, 36705);&lt;br /&gt;
 If( not gutscheinspeicher.Items.ContainsKey(&amp;quot;gutscheine&amp;quot;)) { // Erster Aufruf?&lt;br /&gt;
   gutscheinspeicher.Items.Add(&amp;quot;gutscheine&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /************************************&lt;br /&gt;
  ** DISPATCHER - Wohin gehts grad  **&lt;br /&gt;
  ************************************/&lt;br /&gt;
 Var options As CStringHashTable = Request.Form;&lt;br /&gt;
 If(options.ContainsKey(&amp;quot;event&amp;quot;)) {&lt;br /&gt;
   Var gotoevent As String = options.Item(&amp;quot;event&amp;quot;);&lt;br /&gt;
   If(gotoevent = &amp;quot;show_hauptseite&amp;quot;) {&lt;br /&gt;
     event_show_hauptseite();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;transfer_energy&amp;quot;) {&lt;br /&gt;
     event_transfer_energy();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;kaufe_gutschein&amp;quot;) {&lt;br /&gt;
     event_kaufe_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;show_gutschein&amp;quot;) {&lt;br /&gt;
     event_show_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;transfer_gutschein&amp;quot;) {&lt;br /&gt;
     event_transfer_gutschein();&lt;br /&gt;
   } Elseif(gotoevent = &amp;quot;show_logs&amp;quot;) {&lt;br /&gt;
     event_show_logs();&lt;br /&gt;
   } Else {&lt;br /&gt;
     // Wir programmieren gleich sauber mit Fehlermeldungen :)&lt;br /&gt;
     println(&amp;quot;Hier muss ein Fehler vorliegen. Bitte Faldrian(36705) melden und das hier angeben:&amp;quot;);&lt;br /&gt;
     println(&amp;quot;Dispatcher - unbekanntes Ziel - view: '&amp;quot; &amp;amp; gotoevent &amp;amp; &amp;quot;'&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
 } Else {&lt;br /&gt;
   // Einstiegsseite anzeigen&lt;br /&gt;
   event_show_hauptseite();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /***********************************************&lt;br /&gt;
  ** Controls - die Eventverarbeitenden Dinger **&lt;br /&gt;
  ***********************************************/&lt;br /&gt;
 &lt;br /&gt;
 // Ergebnisklasse, die von Check-Funktionen zurückgegeben wird.&lt;br /&gt;
 Class Checkresult {&lt;br /&gt;
   Var meldungen As CHtmlSpan;&lt;br /&gt;
   Var erfolg As Boolean;&lt;br /&gt;
   &lt;br /&gt;
   Function New() { // Konstruktor&lt;br /&gt;
     meldungen = New CHtmlSpan();&lt;br /&gt;
     erfolg = True;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function Add(text As String) { // Fügt eine neue Bemerkung hinzu&lt;br /&gt;
     If(not erfolg) {&lt;br /&gt;
       meldungen.Add(New CHtmlBreak());&lt;br /&gt;
     }&lt;br /&gt;
     meldungen.Add(text);&lt;br /&gt;
     erfolg = False;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_transfer_energy() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Ein Aufladevorgang soll gestartet werden&lt;br /&gt;
    */&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass genug Energie für die Eingabe vorhanden ist - Es gibt keine Beamkosten wegen &amp;quot;angedockt&amp;quot;.&lt;br /&gt;
   If(MyShip.Energie &amp;lt; menge) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es steht nicht genügend Energie zur Verfügung. Es ist nur &amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie vorhanden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     // Beamvorgang der Larne&lt;br /&gt;
     // Hierbei erstmal versuchen, die gewünschte menge herunterzubeamen, wenns nicht genug war, abrunden und den rest zurückbeamen.&lt;br /&gt;
     // dann soviel aufladen, wie bezahlt wurde.&lt;br /&gt;
     Var larneVorher As Double = MyShip.Larne;&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     MyShip.Aktion.TransferiereVonSchiff(GuestShip.ShipID, menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
     &lt;br /&gt;
     // Sicherstellen, dass genug Larne rübergekommen ist&lt;br /&gt;
     If(MyShip.Larne &amp;lt; larneVorher + menge * kostenProEnergie) {&lt;br /&gt;
       echte_menge = Math.Floor((MyShip.Larne - larneVorher) / kostenProEnergie); // angenommen 49 von 50 wurden gebeamt, gibt das 9 Ladungen Rest 4.&lt;br /&gt;
       &lt;br /&gt;
       // Rest zurückgeben&lt;br /&gt;
       MyShip.Aktion.TransferiereZuSchiff(GuestShip.ShipID, (MyShip.Larne - larneVorher) - echte_menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es wurde nur &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gefunden. Menge auf &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Reservebatterie-Aufladung&lt;br /&gt;
     MyShip.Aktion.StationsReserveBatterieAufladen(GuestShip.ShipID, echte_menge);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurde versucht die Reservebatterie Ihres Schiffs um &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; aufzuladen.&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Die Aufladung hat Sie  &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gekostet.&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
     // -- Absetzen des Logs im DataNode&lt;br /&gt;
     save_log(echte_menge, &amp;quot;&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Fenster wieder anzeigen.&lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_hauptseite(meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_hauptseite() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Hauptseite soll angezeigt werden.&lt;br /&gt;
    */&lt;br /&gt;
   view_hauptseite(New CHtmlControl());&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_logs() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Die Logansicht soll angezeigt werden.&lt;br /&gt;
    */&lt;br /&gt;
   view_logs();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_kaufe_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Kaufe mit Larne einen Gutschein&lt;br /&gt;
    */&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     // Begrenze die Gutscheinmenge - damit Leute nicht jetzt unbegrenzt für einen Preis kaufen und später einlösen, wenns teurer ist.&lt;br /&gt;
     If(menge &amp;gt; maxGutscheinMenge) {&lt;br /&gt;
       menge = maxGutscheinMenge;&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es können nur  &amp;quot; &amp;amp; CStr(maxGutscheinMenge) &amp;amp; &amp;quot; pro Gutschein gutgeschrieben werden. Menge angepasst.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Beamvorgang der Larne&lt;br /&gt;
     // Hierbei erstmal versuchen, die gewünschte menge herunterzubeamen, wenns nicht genug war, abrunden und den rest zurückbeamen.&lt;br /&gt;
     // dann soviel aufladen, wie bezahlt wurde.&lt;br /&gt;
     Var larneVorher As Double = MyShip.Larne;&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     MyShip.Aktion.TransferiereVonSchiff(GuestShip.ShipID, menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
     &lt;br /&gt;
     // Sicherstellen, dass genug Larne rübergekommen ist&lt;br /&gt;
     If(MyShip.Larne &amp;lt; larneVorher + menge * kostenProEnergie) {&lt;br /&gt;
       echte_menge = Math.Floor((MyShip.Larne - larneVorher) / kostenProEnergie); // angenommen 49 von 50 wurden gebeamt, gibt das 9 Ladungen Rest 4.&lt;br /&gt;
       &lt;br /&gt;
       // Rest zurückgeben&lt;br /&gt;
       MyShip.Aktion.TransferiereZuSchiff(GuestShip.ShipID, (MyShip.Larne - larneVorher) - echte_menge * kostenProEnergie, EBeamRessource.Larne);&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es wurde nur &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne gefunden. Menge auf &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Gutschein-Erstellung&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurden &amp;quot; &amp;amp; CStr(echte_menge * kostenProEnergie) &amp;amp; &amp;quot; Larne eingezogen.&amp;quot;);&lt;br /&gt;
     Var uuid As String = erzeuge_Gutschein(echte_menge);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Ein Gutschein über &amp;quot; &amp;amp; Cstr(echte_menge) &amp;amp; &amp;quot; Reserveenergie ausgestellt:&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Code: &amp;quot; &amp;amp; uuid);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Speichern Sie den Code gut ab!&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
     // -- Absetzen des Logs im DataNode&lt;br /&gt;
     save_log(echte_menge, &amp;quot;Gutschein erstellt: &amp;quot; &amp;amp; uuid);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Fenster wieder anzeigen.&lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_hauptseite(meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_show_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Event: Ein Gutschein soll eingelöst werden und das verbleibende Guthaben wird angezeigt.&lt;br /&gt;
    * Falls der Gutschein nicht verfügbar ist oder kein Guthaben mehr aufweist, wird eine Fehlermeldung angezeigt und auf die Hauptseite weitergeleitet.&lt;br /&gt;
    */&lt;br /&gt;
   Var checkergebnisse As New Checkresult();&lt;br /&gt;
   Var meldungsbox As CHtmlSpan;&lt;br /&gt;
   If(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.ContainsKey(options.Item(&amp;quot;code&amp;quot;))) { // Checken, ob der Code überhaupt existiert.&lt;br /&gt;
     Var menge As Integer = Integer.Parse(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value);&lt;br /&gt;
     If(menge &amp;gt; 0) { // Ist noch Aufladung auf dem Gutschein vorhanden?&lt;br /&gt;
       view_gutschein(menge, options.Item(&amp;quot;code&amp;quot;), New CHtmlControl());&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Fehlermeldung erzeugen und Hauptseite anzeigen&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Der Gutscheincode &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot; hat kein Guthaben mehr.&amp;quot;);&lt;br /&gt;
       meldungsbox = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
       meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
       view_hauptseite(meldungsbox);&lt;br /&gt;
     }&lt;br /&gt;
   } Else {&lt;br /&gt;
     // Fehlermeldung erzeugen und Hauptseite anzeigen&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Der Gutscheincode &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot; existiert nicht.&amp;quot;);&lt;br /&gt;
     meldungsbox = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
     meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
     view_hauptseite(meldungsbox);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function event_transfer_gutschein() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Löst einen Gutschein auch wirklich ein!&lt;br /&gt;
    */&lt;br /&gt;
   Var guthaben As Integer = Integer.Parse(gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value);&lt;br /&gt;
   Var menge As Integer = 0;&lt;br /&gt;
   &lt;br /&gt;
   // Basischeck erstmal machen, ob man waren Beamen kann&lt;br /&gt;
   Var checkergebnisse As Checkresult = check_before_transaction();&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass nur Zahlen im Eingabefeld sind&lt;br /&gt;
   If(not is_integer(options.Item(&amp;quot;menge&amp;quot;))) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Bitte geben sie in das Feld 'Menge' eine natürliche Zahl ein.&amp;quot;);&lt;br /&gt;
   } Else {&lt;br /&gt;
     menge = Integer.Parse(options.Item(&amp;quot;menge&amp;quot;));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Sicherstellen, dass genug Energie für die Eingabe vorhanden ist&lt;br /&gt;
   If(MyShip.Energie &amp;lt; menge) {&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es steht nicht genügend Energie zur Verfügung. Es ist nur &amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie vorhanden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Bunten Kasten erzeugen.&lt;br /&gt;
   Var meldungsbox As CHtmlSpan = generate_messagebox(checkergebnisse.erfolg);&lt;br /&gt;
   &lt;br /&gt;
   If(checkergebnisse.erfolg) {&lt;br /&gt;
     Var echte_menge As Integer = menge;&lt;br /&gt;
     If(menge &amp;gt; guthaben) {&lt;br /&gt;
       echte_menge = guthaben;&lt;br /&gt;
       checkergebnisse.Add(&amp;quot;Es waren nur noch &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; Energieeinheiten gutgeschrieben. Lademenge auf &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; korrigiert.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Auflademenge abziehen&lt;br /&gt;
     guthaben = guthaben - echte_menge;&lt;br /&gt;
     gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Item(options.Item(&amp;quot;code&amp;quot;)).Value = Cstr(guthaben);&lt;br /&gt;
     &lt;br /&gt;
     MyShip.Aktion.StationsReserveBatterieAufladen(GuestShip.ShipID, echte_menge);&lt;br /&gt;
     save_log(echte_menge, &amp;quot;Gutschein benutzt: &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;)); // auch im Log abspeichern&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es wurde versucht die Reservebatterie Ihres Schiffs um &amp;quot; &amp;amp; CStr(echte_menge) &amp;amp; &amp;quot; aufzuladen.&amp;quot;);&lt;br /&gt;
     checkergebnisse.Add(&amp;quot;Es verbleibt eine Gutschrift von &amp;quot; &amp;amp; CStr(guthaben) &amp;amp; &amp;quot; auf ihrem Gutschein mit Code &amp;quot; &amp;amp; options.Item(&amp;quot;code&amp;quot;) &amp;amp; &amp;quot;.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   meldungsbox.Add(checkergebnisse.meldungen); // hier erst den Inhalt rein, damit der restliche Kram schon drumherum ist.&lt;br /&gt;
   view_gutschein(guthaben, options.Item(&amp;quot;code&amp;quot;), meldungsbox);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function check_before_transaction() As Checkresult {&lt;br /&gt;
   /**&lt;br /&gt;
    * Check: Stellt sicher, dass wir in der Lage sind, vom Zielschiff Larne zu beamen.&lt;br /&gt;
    */&lt;br /&gt;
   &lt;br /&gt;
   Var ergebnis As New Checkresult();&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, dass der Kunde angedockt ist&lt;br /&gt;
   If(GuestShip.AngedocktAnID &amp;lt;&amp;gt; MyShip.AngedocktAnID) {&lt;br /&gt;
     ergebnis.Add(&amp;quot;Ihr Schiff muss an den VP angedockt sein.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, man selbst angedockt ist&lt;br /&gt;
   If(MyShip.Angedockt = False) {&lt;br /&gt;
     // Versuchen, das Schiff anzudocken&lt;br /&gt;
     Var schiff As CShip;&lt;br /&gt;
     For(Each schiff In MyShip.SRS) {&lt;br /&gt;
       If(schiff.Definition.IstRaumstation) {&lt;br /&gt;
         MyShip.Aktion.AndockenAn(schiff.ShipID);&lt;br /&gt;
         Exit For;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Sind wir jetzt angedockt?&lt;br /&gt;
     If(MyShip.Angedockt = False) {&lt;br /&gt;
       ergebnis.Add(&amp;quot;Das ServiceSchiff ist nicht angedockt - es tut uns leid. Bitte kontaktieren Sie den Besitzer.&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // -- Sicherstellen, dass der Kunde auf Alarmstufe Grün ist&lt;br /&gt;
   If(GuestShip.Alarmstufe &amp;lt;&amp;gt; EAlarmStufe.Grün) {&lt;br /&gt;
     ergebnis.Add(&amp;quot;Ihr Schiff muss auf Alarmstufe Grün sein - sonst kann nicht gebeamt werden.&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return ergebnis;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function erzeuge_Gutschein(menge As Integer) As String {&lt;br /&gt;
   /**&lt;br /&gt;
    * Erzeugt einen Gutschein und gibt den Code zurück.&lt;br /&gt;
    */&lt;br /&gt;
   Var zufall As New Random(Date.Now.DayOfYear * 86400 + Date.Now.Hour * 3600 + Date.Now.Minute * 60 + Date.Now.Second);&lt;br /&gt;
   Var chartabelle As String = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;;&lt;br /&gt;
   Var i As Integer;&lt;br /&gt;
   Var ergebnis As String = &amp;quot;&amp;quot;;&lt;br /&gt;
   For(i = 0 To 16) { // Jedes Zeichen &lt;br /&gt;
     ergebnis = ergebnis &amp;amp; chartabelle.Substring(zufall.Next(26), 1);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Abspeichern in einen DataNode&lt;br /&gt;
   gutscheinspeicher.Items.Item(&amp;quot;gutscheine&amp;quot;).Items.Add(ergebnis, menge);&lt;br /&gt;
   Return ergebnis;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function save_log(menge As Integer, anmerkung As String) {&lt;br /&gt;
   /**&lt;br /&gt;
    * Speichert einen Vorgang in dem Datanode ab&lt;br /&gt;
    */&lt;br /&gt;
   If( not speicher.Items.ContainsKey('autoid')) { // Erster Aufruf?&lt;br /&gt;
     speicher.Items.AddInteger('autoid', 0);&lt;br /&gt;
   }&lt;br /&gt;
   Var autoid As Integer = speicher.Items.Item('autoid').asInteger;&lt;br /&gt;
   speicher.Items.Item('logs').Items.Add(Cstr(autoid));&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;position&amp;quot;, MyShip.MapPosition.X &amp;amp; &amp;quot;|&amp;quot; &amp;amp; MyShip.MapPosition.Y);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;spieler&amp;quot;, GuestUser.UserID);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;datum&amp;quot;, Date.Now);&lt;br /&gt;
   speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;menge&amp;quot;, menge);&lt;br /&gt;
   If(anmerkung.Length &amp;gt; 0) { // Nur, wenns auch gebraucht wird, wegen Platzsparen.&lt;br /&gt;
     speicher.Items.Item('logs').Items.Item(Cstr(autoid)).Items.Add(&amp;quot;anmerkung&amp;quot;, anmerkung);&lt;br /&gt;
   }&lt;br /&gt;
   speicher.Items.Item('autoid').asInteger = autoid + 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /************************************&lt;br /&gt;
  ** Views - die Seitengenerierung  **&lt;br /&gt;
  ************************************/&lt;br /&gt;
 Function view_hauptseite(meldungen As CHtmlControl) {&lt;br /&gt;
   /**&lt;br /&gt;
    * Hauptseite, auf der die Benutzer ihre Aktionen durchführen können.&lt;br /&gt;
    * meldungen - Hier können Fehler oder Bestätigungen eingefügt werden.&lt;br /&gt;
    */&lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   &lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   // -- 1. Block - Logo&lt;br /&gt;
   table.Add(part_header());&lt;br /&gt;
   &lt;br /&gt;
   // -- 2. Block - Aufladen - Gutschein&lt;br /&gt;
   row = table.AddRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(meldungen); // &amp;lt;-- Fehlermeldungen reinhauen&lt;br /&gt;
   &lt;br /&gt;
   // Reserveenergie laden&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;img src='http://a.imagehost.org/0475/reserve_aufladen.png'&amp;gt;&amp;lt;br&amp;gt;Hier können Sie die &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;Reservebatterie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Ihres Schiffes gegen &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; aufladen lassen.&amp;lt;br&amp;gt;Es stehen derzeit &amp;lt;b&amp;gt;&amp;lt;font color='#5fe75b'&amp;gt;&amp;quot; &amp;amp; MyShip.Energie &amp;amp; &amp;quot; Energie&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Einheit &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;Reserveenergie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; kostet derzeit &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; CStr(kostenProEnergie) &amp;amp; &amp;quot; Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;.&amp;lt;br&amp;gt; &amp;quot;));&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;transfer_energy&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   Var inputtabelle As New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   Var inputtabelle_row As CTableRow = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   Var mengeFeld As New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Reserve aufladen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Gutscheine kaufen&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;br&amp;gt;&amp;lt;img src='http://a.imagehost.org/0052/gutscheine_kaufen_einloesen.png'&amp;gt;&amp;lt;br&amp;gt;Hier können Sie Gutscheine über bis zu &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; CStr(maxGutscheinMenge) &amp;amp; &amp;quot; Reserveenergie&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; kaufen oder vorhandene Gutscheine einlösen.&amp;lt;br&amp;gt;Beim Kauf werden die &amp;lt;font color='#99b8d6'&amp;gt;&amp;lt;b&amp;gt;Larne&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; direkt von Ihrem Schiff abgebucht und ein Gutscheincode erstellt,&amp;lt;br&amp;gt;den Sie speichern sollten.&amp;lt;br&amp;gt;&amp;quot;));&lt;br /&gt;
   form = New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;kaufe_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle = New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   inputtabelle_row = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   mengeFeld = New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Gutschein kaufen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Gutscheine einlösen&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;br&amp;gt;Um einen Gutschein einzulösen, einfach den Gutscheincode in das Feld eingeben,&amp;lt;br&amp;gt; dann wird das Guthaben angezeigt und der Gutschein kann benutzt werden.&amp;quot;));&lt;br /&gt;
   form = New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;show_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle = New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   inputtabelle_row = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Gutscheincode:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   mengeFeld = New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;code&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 16;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Gutschein einlösen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // -- 3. Block - Hinweise&lt;br /&gt;
   table.Add(part_footer());&lt;br /&gt;
   &lt;br /&gt;
   // Zeige den Link zu den aufgezeichneten Transfers, wenn ich es bin.&lt;br /&gt;
   If(GuestUser.UserID = MyShip.UserID) {&lt;br /&gt;
     Response.Add(New CHtmlBreak());&lt;br /&gt;
     Var logform As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
     logform.Add(New CHtmlInput(&amp;quot;show_logs&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
     logform.Add(New CHtmlSubmitButton(&amp;quot;Logs anzeigen&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
     Response.Add(logform);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function view_gutschein(menge As Integer, code As String, meldungen As CHtmlControl) { // HIER WEITERMACHEN&lt;br /&gt;
   /**&lt;br /&gt;
    * Gutscheinmenge anzeigen, Auswahl der Menge erlauben und so...&lt;br /&gt;
    */&lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   // -- 1. Block - Logo&lt;br /&gt;
   table.Add(part_header());&lt;br /&gt;
   &lt;br /&gt;
   // -- 2. Block - Gutschein-Informationen&lt;br /&gt;
   row = table.AddRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(meldungen); // &amp;lt;-- Fehlermeldungen reinhauen&lt;br /&gt;
   &lt;br /&gt;
   // Reserveenergie laden&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;img src='http://a.imagehost.org/0097/gutschein_einloesen.png'&amp;gt;&amp;lt;br&amp;gt;Auf dem Gutschein mit dem Code &amp;lt;b&amp;gt;&amp;quot; &amp;amp; code &amp;amp; &amp;quot;&amp;lt;/b&amp;gt; sind noch &amp;lt;font color='#5fe75b'&amp;gt;&amp;lt;b&amp;gt;&amp;quot; &amp;amp; menge &amp;amp; &amp;quot; Energieeinheiten&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; gutgeschrieben.&amp;lt;br&amp;gt;Geben Sie hier die Menge ein, die Sie von dem Gutschein einlösen möchten.&amp;quot;));&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;transfer_gutschein&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form.Add(New CHtmlInput(code, &amp;quot;code&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   row.Cells.Item(0).Add(form);&lt;br /&gt;
   &lt;br /&gt;
   Var inputtabelle As New CTable();&lt;br /&gt;
   form.Add(inputtabelle);&lt;br /&gt;
   Var inputtabelle_row As CTableRow = inputtabelle.AddRow(3);&lt;br /&gt;
   &lt;br /&gt;
   inputtabelle_row.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Menge wählen:&amp;lt;/b&amp;gt; &amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(0).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   Var mengeFeld As New CHtmlTextBox(&amp;quot;&amp;quot;, &amp;quot;menge&amp;quot;);&lt;br /&gt;
   mengeFeld.Size = 5;&lt;br /&gt;
   inputtabelle_row.Item(1).Add(mengeFeld);&lt;br /&gt;
   inputtabelle_row.Item(1).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   inputtabelle_row.Item(2).Add(New CHtmlSubmitButton(&amp;quot;Reserve aufladen!&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   inputtabelle_row.Item(2).Style.Add(&amp;quot;border&amp;quot;, &amp;quot;0px&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // Zurückknopf&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
   Var form2 As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form2.Add(New CHtmlInput(&amp;quot;show_hauptseite&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form2.Add(New CHtmlSubmitButton(&amp;quot;Zurück zur Hauptseite&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   Response.Add(form2);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function view_logs() {&lt;br /&gt;
   /**&lt;br /&gt;
    * Zeigt eine Tabelle mit allen bisherigen Aufladungen&lt;br /&gt;
    */&lt;br /&gt;
   Var logs As CDataNodeList = speicher.Items.Item('logs').Items;&lt;br /&gt;
   &lt;br /&gt;
   Var table As New CTable();&lt;br /&gt;
   Var row As CTableRow;&lt;br /&gt;
   &lt;br /&gt;
   row = table.AddRow(5);&lt;br /&gt;
   row.Cells.Item(0).Add(&amp;quot;Ort&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(1).Add(&amp;quot;Spieler&amp;quot;);&lt;br /&gt;
   row.Cells.Item(1).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(2).Add(&amp;quot;Menge&amp;quot;);&lt;br /&gt;
   row.Cells.Item(2).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(3).Add(&amp;quot;Zeitpunkt&amp;quot;);&lt;br /&gt;
   row.Cells.Item(3).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   row.Cells.Item(4).Add(&amp;quot;Anmerkung&amp;quot;);&lt;br /&gt;
   row.Cells.Item(4).CssClass = &amp;quot;bb&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
   Var i As Integer;&lt;br /&gt;
   Var log As CDataNode;&lt;br /&gt;
   Var benutzer As CUser;&lt;br /&gt;
   Var datum As Date;&lt;br /&gt;
   For(i = logs.Count - 1 To 0 Step - 1) {&lt;br /&gt;
     log = logs.Item(CStr(i));&lt;br /&gt;
     benutzer = New CUser(log.Item(&amp;quot;spieler&amp;quot;).Value);&lt;br /&gt;
     datum = log.Item(&amp;quot;datum&amp;quot;).Value;&lt;br /&gt;
     &lt;br /&gt;
     row = table.AddRow(5);&lt;br /&gt;
     row.Cells.Item(0).Add(log.Item(&amp;quot;position&amp;quot;).Value);&lt;br /&gt;
     row.Cells.Item(1).Add(benutzer.GetHtmlNameAndID());&lt;br /&gt;
     row.Cells.Item(2).Add(log.Item(&amp;quot;menge&amp;quot;).Value);&lt;br /&gt;
     row.Cells.Item(3).Add(datum.ToShortDateString() &amp;amp; &amp;quot; - &amp;quot; &amp;amp; datum.ToShortTimeString());&lt;br /&gt;
     If(log.Items.ContainsKey(&amp;quot;anmerkung&amp;quot;)) {&lt;br /&gt;
       row.Cells.Item(4).Add(log.Item(&amp;quot;anmerkung&amp;quot;).Value);&lt;br /&gt;
     } Else {&lt;br /&gt;
       row.Cells.Item(4).Add(&amp;quot;-&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Response.Add(table);&lt;br /&gt;
   Response.Add(New CHtmlBreak());&lt;br /&gt;
   Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
   form.Add(New CHtmlInput(&amp;quot;show_hauptseite&amp;quot;, &amp;quot;event&amp;quot;, EHtmlInputType.Hidden));&lt;br /&gt;
   form.Add(New CHtmlSubmitButton(&amp;quot;Zurück zur Hauptseite&amp;quot;, &amp;quot;submit&amp;quot;));&lt;br /&gt;
   Response.Add(form);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function part_header() As CTableRow {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert die oberste Tabellenzeile&lt;br /&gt;
    */&lt;br /&gt;
   Var row As New CTableRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   Var centeredLogo As New CHtmlSpan();&lt;br /&gt;
   centeredLogo.Style.Add(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);&lt;br /&gt;
   centeredLogo.Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;center&amp;quot;);&lt;br /&gt;
   centeredLogo.Add(New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/battery_logo_0.png&amp;quot;));&lt;br /&gt;
   row.Cells.Item(0).Add(centeredLogo);&lt;br /&gt;
   &lt;br /&gt;
   Return row;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function part_footer() As CTableRow {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert die Hinweise und Tipps.&lt;br /&gt;
    */&lt;br /&gt;
   Var row As New CTableRow(1);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;3px&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Style.Add(&amp;quot;text-align&amp;quot;, &amp;quot;left&amp;quot;);&lt;br /&gt;
   row.Cells.Item(0).Add(prettyPrint(&amp;quot; &amp;lt;b&amp;gt;Hinweise:&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Es wird nicht überprüft, ob die Menge, die gewünscht wird, auch wirklich auf das Zielschiff passen wird.&amp;lt;br&amp;gt;Dadurch kann es sein, dass zuviel Energie versucht wird aufzuladen.&amp;lt;br&amp;gt;Es wird empfohlen, die Menge daher sorgfältig zu wählen, da sonst unnötige Kosten entstehen können.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Wenn die auf Ihrem Schiff vorhandenen Larne nicht für die gewünschte Aufladung ausreichen,&amp;lt;br&amp;gt;wird die Reserve nur teilweise aufgeladen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Es wird keinerlei Haftung für irgendwas, wodurch auch immer verursacht, übernommen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Weiterhin besteht keinerlei Anspruch auf die Verfügbarkeit dieses Dienstes.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;font color='#ffaaaa'&amp;gt;Sollte durch die Nutzung des Dienstes das Serviceschiff beschossen werden,&amp;lt;br&amp;gt;hat der auslösende Kunde die Reparatur zu zahlen (4 Dura pro Hüllenpunkt).&amp;lt;/font&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;b&amp;gt;Tipp:&amp;lt;/b&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Sollte nicht genug Energie bereitstehen, so können Sie selbst Energie zu diesem Schiff senden.&amp;lt;br&amp;gt;Diese steht dann auch zur Aufladung bereit.&amp;lt;br&amp;gt;Hauptenergie können Sie bei der &amp;lt;b&amp;gt;Föderation&amp;lt;/b&amp;gt; gegen internes Ansehen bekommen.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Larne zum Bezahlen können am VP gegen Waren erworben werden.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt; &amp;quot;));&lt;br /&gt;
   &lt;br /&gt;
   Return row;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Function generate_messagebox(erfolg As Boolean) As CHtmlControl {&lt;br /&gt;
   /**&lt;br /&gt;
    * Generiert eine Notifikationsbox, wenn irgendeine Aktion stattgefunden hat.&lt;br /&gt;
    */&lt;br /&gt;
   Var meldungsbox As New CHtmlSpan();&lt;br /&gt;
   Var icon As CHtmlImage();&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;min-height&amp;quot;, &amp;quot;29px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;font-weight&amp;quot;, &amp;quot;bold&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;padding&amp;quot;, &amp;quot;6px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;margin&amp;quot;, &amp;quot;7px&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;background-color&amp;quot;, &amp;quot;#000000&amp;quot;);&lt;br /&gt;
   meldungsbox.Style.Add(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   If(erfolg) {&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;color&amp;quot;, &amp;quot;#00ff00&amp;quot;);&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;border&amp;quot;, &amp;quot;1px solid #1f5e1f&amp;quot;);&lt;br /&gt;
     icon = New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/checkmark.png&amp;quot;);&lt;br /&gt;
     icon.Style.Add(&amp;quot;float&amp;quot;, &amp;quot;right&amp;quot;);&lt;br /&gt;
     meldungsbox.Add(icon);&lt;br /&gt;
   } Else {&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;color&amp;quot;, &amp;quot;#ff0000&amp;quot;);&lt;br /&gt;
     meldungsbox.Style.Add(&amp;quot;border&amp;quot;, &amp;quot;1px solid #903737&amp;quot;);&lt;br /&gt;
     icon = New CHtmlImage(&amp;quot;http://user.mailtrek.net/de1-36705/home/achtung.png&amp;quot;);&lt;br /&gt;
     icon.Style.Add(&amp;quot;float&amp;quot;, &amp;quot;right&amp;quot;);&lt;br /&gt;
     meldungsbox.Add(icon);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return meldungsbox;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=H%C3%BCllenionisator</id>
		<title>Hüllenionisator</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=H%C3%BCllenionisator"/>
				<updated>2009-09-28T13:01:03Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Typo (da hat jemand Probleme mit m und mm)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
&amp;lt;b&amp;gt;Hüllenionisator&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;i&amp;gt;Dieses Modul ionisiert die Schiffshülle um das Schiff kurze Zeit gegen Strahlung zu schützen. Dazu wird die gesamte Energie der Schildgeneratoren und kleine Teile der Schiffsenergie über die Schildemitter geleitet. Dies führt zu einer Überladung und einem Ionenimpuls, welcher stark genug ist um die Hülle zu ionisieren.&amp;lt;/i&amp;gt;&amp;lt;hr size=1&amp;gt;&amp;lt;b&amp;gt;Das Schiff würd für 1 Tick strahlungsimmun. Die Prozedur benötigt sämtliche (mindestens 50% oder 10) Schildenergie  aus den Schildemittern und ionisiert diese für 3 Ticks. Außerdem werden 10% (mindestens 10) Schiffsenergie bei dieser Aktion verbraucht.&amp;lt;/b&amp;gt;&amp;lt;hr size=1&amp;gt;Item-ID: 90&amp;lt;br&amp;gt;Aktiv für: 1 Ticks&amp;lt;br&amp;gt;Automatisch an den jeweiligen Spieler gebunden&lt;br /&gt;
&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Ionisatorprototyp]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Items]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Bugs</id>
		<title>Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Bugs"/>
				<updated>2009-09-28T08:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wie jede andere Software auch, leidet STNE unter diversen [[bug|Bugs]].&lt;br /&gt;
&lt;br /&gt;
Weil einige davon wohl nur schwer zu beheben sind und die Ausnutzung von Bugs im Spiel illegal ist und vor dem STNE-Gerichtshof angeklagt werden kann, was dann zu schwerwiegenden Konsequenzen führt, erscheint eine Auflistung aller existierenden Bugs sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Nach Vorbild des Forum-Threads [http://forum.stne.net/viewtopic.php?t=6743] aber eben in Wiki-Form, wodurch man &amp;quot;mal eben&amp;quot; einen Bug melden kann, sollen auf dieser Seite hoffentlich alle Bugs überhaupt auftauchen.&lt;br /&gt;
&lt;br /&gt;
Ich möchte euch besonders um Kürze bitten und darum, Kommentare der Art &amp;quot;Doofes Spiel, alles ist doof&amp;quot; zu verzichten. In der Kürze liegt hier die Würze.&lt;br /&gt;
&lt;br /&gt;
Links zu Screenshots, die den Bug zeigen oder ähnliches Dokumaterial wär aber bestimmt nicht verkehrt.&lt;br /&gt;
----&lt;br /&gt;
'''Beam-Schutz-Punkte''' [[Lager_Beamschutz_EPS]]&lt;br /&gt;
&lt;br /&gt;
Wenn man das Basisgebäude zerstört, kann man manchmal einfach beamen wie man möchte, weil die BSP dann nicht mehr funktionieren.&lt;br /&gt;
&lt;br /&gt;
Des weiteren sollte man unbedingt vermeiden, viel zu viele BSP's auf Waren zu verteilen. Sind sie nämlich weit über-blockt, kann man sie manchmal einfach wegbeamen.&lt;br /&gt;
Quelle[http://stneguru.blogspot.com/2009/08/verteilen-statt-verpeilen-beam-schutz.html]&lt;br /&gt;
----&lt;br /&gt;
'''Sternenkartenfelder mit Fehlfunktionen'''&lt;br /&gt;
&lt;br /&gt;
Subraumriss defekt [http://forum.stne.net/viewtopic.php?t=9131]&lt;br /&gt;
&lt;br /&gt;
[[Metriongas-Nebel]] ziehen nicht so viel Energie ab, wie beabsichtigt.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Bugs</id>
		<title>Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Bugs"/>
				<updated>2009-09-28T08:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wie jede andere Software auch, leidet STNE unter diversen Bugs [[bug]].&lt;br /&gt;
&lt;br /&gt;
Weil einige davon wohl nur schwer zu beheben sind und die Ausnutzung von Bugs im Spiel illegal ist und vor dem STNE-Gerichtshof angeklagt werden kann, was dann zu schwerwiegenden Konsequenzen führt, erscheint eine Auflistung aller existierenden Bugs sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Nach Vorbild des Forum-Threads [http://forum.stne.net/viewtopic.php?t=6743] aber eben in Wiki-Form, wodurch man &amp;quot;mal eben&amp;quot; einen Bug melden kann, sollen auf dieser Seite hoffentlich alle Bugs überhaupt auftauchen.&lt;br /&gt;
&lt;br /&gt;
Ich möchte euch besonders um Kürze bitten und darum, Kommentare der Art &amp;quot;Doofes Spiel, alles ist doof&amp;quot; zu verzichten. In der Kürze liegt hier die Würze.&lt;br /&gt;
&lt;br /&gt;
Links zu Screenshots, die den Bug zeigen oder ähnliches Dokumaterial wär aber bestimmt nicht verkehrt.&lt;br /&gt;
----&lt;br /&gt;
'''Beam-Schutz-Punkte''' [[Lager_Beamschutz_EPS]]&lt;br /&gt;
&lt;br /&gt;
Wenn man das Basisgebäude zerstört, kann man manchmal einfach beamen wie man möchte, weil die BSP dann nicht mehr funktionieren.&lt;br /&gt;
&lt;br /&gt;
Des weiteren sollte man unbedingt vermeiden, viel zu viele BSP's auf Waren zu verteilen. Sind sie nämlich weit über-blockt, kann man sie manchmal einfach wegbeamen.&lt;br /&gt;
Quelle[http://stneguru.blogspot.com/2009/08/verteilen-statt-verpeilen-beam-schutz.html]&lt;br /&gt;
----&lt;br /&gt;
'''Sternenkartenfelder mit Fehlfunktionen'''&lt;br /&gt;
&lt;br /&gt;
Subraumriss defekt [http://forum.stne.net/viewtopic.php?t=9131]&lt;br /&gt;
&lt;br /&gt;
[[Metriongas-Nebel]] ziehen nicht so viel Energie ab, wie beabsichtigt.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=EMP</id>
		<title>EMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=EMP"/>
				<updated>2009-09-22T14:20:28Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: weiterleitung daraus gemacht.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[EMP-Schockwelle]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Siedlerschiffe</id>
		<title>Siedlerschiffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Siedlerschiffe"/>
				<updated>2009-09-22T14:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Chordat Torpedokapazität korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
__TOC__&lt;br /&gt;
=Bauschiffe=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | Übersicht sämtlicher Schiffe&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;21&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | baubare Schiffe der Kolonisten&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Bild &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Schiffsklasse &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schiffslimit|Slots]]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Crew]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Hülle]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Panzerung]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schilde]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[EPS]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Reaktorstärke]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Cargo]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Beamkapazität|Beam-&amp;lt;br&amp;gt;kapazität]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Phaser]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Disruptor]]en &amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Torpedos]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Abfeuerbare [[Torpedos]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Spezial-Funktionen &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Baukosten / Voraussetzungen&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Deuterium|Deut.]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Schiffs-Warpkern|Warp]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedorampen &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedos lager/erhitzen &amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/1.gif ||align=&amp;quot;center&amp;quot;| [[DY-500]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20 (5) ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 700 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 1x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Solarzellen|Solarzellen]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [[Bussard-Kollektoren]] (+1)&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
|| &lt;br /&gt;
* 5 [[Tick]]s &lt;br /&gt;
* 60 [[Energie]] &lt;br /&gt;
* 104 [[Baumaterial]] &lt;br /&gt;
* 152 [[Duranium]] &lt;br /&gt;
* 68 [[Deuterium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/2.gif ||align=&amp;quot;center&amp;quot;| [[Antares]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 600 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 1x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Erz-Kollektoren]]&lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
|| &lt;br /&gt;
* 2 [[Tick]]s &lt;br /&gt;
* 72 [[Energie]] &lt;br /&gt;
* 124 [[Baumaterial]] &lt;br /&gt;
* 158 [[Duranium]] &lt;br /&gt;
* 68 [[Deuterium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/77.gif ||align=&amp;quot;center&amp;quot;| [[Andorra]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 600 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x2 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Erz-Kollektoren]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
|| &lt;br /&gt;
* 3 [[Tick]]s &lt;br /&gt;
* 68 [[Energie]] &lt;br /&gt;
* 118 [[Baumaterial]] &lt;br /&gt;
* 154 [[Duranium]] &lt;br /&gt;
* 49 [[Deuterium]]&lt;br /&gt;
* 37 [[Plasma]]&lt;br /&gt;
* Forschung: [[Andorra-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/3.gif ||align=&amp;quot;center&amp;quot;| [[Indus]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 0 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 600 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Bussard-Kollektoren]] (+1)&lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
||&lt;br /&gt;
* 1 [[Tick]]&lt;br /&gt;
* 84 [[Energie]] &lt;br /&gt;
* 162 [[Baumaterial]] &lt;br /&gt;
* 152 [[Duranium]] &lt;br /&gt;
* 38 [[Deuterium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/78.gif ||align=&amp;quot;center&amp;quot;| [[Kale]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 55 ||align=&amp;quot;center&amp;quot;| 0 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 9 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 600 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x2 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - /-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Bussard-Kollektoren]] (+1)&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 84 [[Energie]] &lt;br /&gt;
* 152 [[Baumaterial]] &lt;br /&gt;
* 149 [[Duranium]] &lt;br /&gt;
* 28 [[Deuterium]]&lt;br /&gt;
* 34 [[Plasma]]&lt;br /&gt;
* Forschung: [[Kale-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/5.gif ||align=&amp;quot;center&amp;quot;| [[Antares B]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1500 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 2x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 78 [[Energie]] &lt;br /&gt;
* 178 [[Baumaterial]] &lt;br /&gt;
* 192 [[Duranium]] &lt;br /&gt;
* 72 [[Deuterium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/9.gif ||align=&amp;quot;center&amp;quot;| [[Whorfin]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10 (5) ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 5 {} ||align=&amp;quot;center&amp;quot;| 800 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 1x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 72 [[Energie]] &lt;br /&gt;
* 166 [[Baumaterial]] &lt;br /&gt;
* 232 [[Duranium]] &lt;br /&gt;
* 69 [[Deuterium]]&lt;br /&gt;
* 7 [[Dilithium]]&lt;br /&gt;
* Forschung: [[Whorfin-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/37.gif ||align=&amp;quot;center&amp;quot;| [[Sydney]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 75 (10) ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 13  ||align=&amp;quot;center&amp;quot;| 18 {} ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Torpedoausweichen]] 10%&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 60 [[Energie]] &lt;br /&gt;
* 123 [[Baumaterial]] &lt;br /&gt;
* 154 [[Duranium]] &lt;br /&gt;
* 68 [[Deuterium]]&lt;br /&gt;
* 10 [[Dilithium]]&lt;br /&gt;
* 6 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Sydney-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/39.gif ||align=&amp;quot;center&amp;quot;| [[Denison]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 8  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 450 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 300/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 96 [[Energie]] &lt;br /&gt;
* 148 [[Baumaterial]] &lt;br /&gt;
* 171 [[Duranium]] &lt;br /&gt;
* 72 [[Deuterium]]&lt;br /&gt;
* 32 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Denison-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/75.gif ||align=&amp;quot;center&amp;quot;| [[Chordat]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 5 {} ||align=&amp;quot;center&amp;quot;| 250 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 180/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]] &lt;br /&gt;
||&lt;br /&gt;
* 7 [[Tick]]&lt;br /&gt;
* 78 [[Energie]] &lt;br /&gt;
* 146 [[Baumaterial]] &lt;br /&gt;
* 169 [[Duranium]] &lt;br /&gt;
* 71 [[Deuterium]]&lt;br /&gt;
* 4 [[Dilithium]]&lt;br /&gt;
* 30 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Chordat-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/7.gif ||align=&amp;quot;center&amp;quot;| [[Oberth]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 (5) ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 0 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 11  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 300 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 25%&lt;br /&gt;
* [[Bussard-Kollektoren]] (-1)&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
||&lt;br /&gt;
* 2 [[Tick]]&lt;br /&gt;
* 62 [[Energie]] &lt;br /&gt;
* 66 [[Baumaterial]] &lt;br /&gt;
* 191 [[Duranium]] &lt;br /&gt;
* 62 [[Deuterium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/52.gif ||align=&amp;quot;center&amp;quot;| [[Adeos]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 0 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 8  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 70%&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
||&lt;br /&gt;
* 2 [[Tick]]&lt;br /&gt;
* 62 [[Energie]] &lt;br /&gt;
* 66 [[Baumaterial]] &lt;br /&gt;
* 187[[Duranium]] &lt;br /&gt;
* 68 [[Deuterium]]&lt;br /&gt;
* 5 [[Iso-Chips]]&lt;br /&gt;
* Forschung [[Adeos-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/53.gif ||align=&amp;quot;center&amp;quot;| [[Argos]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 0  ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 30  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;| 6 {} ||align=&amp;quot;center&amp;quot;| 50  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 1x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Torpedoausweichen]] 40%&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 4&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 74 [[Energie]] &lt;br /&gt;
* 71 [[Baumaterial]] &lt;br /&gt;
* 191 [[Duranium]] &lt;br /&gt;
* 36  [[Deuterium]]&lt;br /&gt;
* 8  [[Iso-Chips]]&lt;br /&gt;
* 7 [[Dilithium]]&lt;br /&gt;
* 6 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Argos-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|  http://game2.stne.net/i/s/69.gif  ||align=&amp;quot;center&amp;quot;| [[Patrouillenschiff]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10   ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 15  ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 7 {}  ||align=&amp;quot;center&amp;quot;| 120  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 7 [[Tick]]&lt;br /&gt;
* 74 [[Energie]] &lt;br /&gt;
* 82 [[Baumaterial]] &lt;br /&gt;
* 197[[Duranium]] &lt;br /&gt;
* 46 [[Deuterium]]&lt;br /&gt;
* 24 [[Iso-Chips]]&lt;br /&gt;
* 6 [[Dilithium]]&lt;br /&gt;
* 9 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Patrouillenschiff-Forschung]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/40.gif  ||align=&amp;quot;center&amp;quot;| [[Reparaturschiff]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 0  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 250 ||align=&amp;quot;center&amp;quot;|  13 ||align=&amp;quot;center&amp;quot;| 18 {} ||align=&amp;quot;center&amp;quot;| 350  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;|  -  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  - /-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]] &lt;br /&gt;
* [[Wrack-Extraktor]]en&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 68 [[Energie]] &lt;br /&gt;
* 154 [[Baumaterial]] &lt;br /&gt;
* 162 [[Duranium]] &lt;br /&gt;
* 58 [[Deuterium]]&lt;br /&gt;
* 8 [[Dilithium]]&lt;br /&gt;
* 14 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Reparaturschiff-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/66.gif  ||align=&amp;quot;center&amp;quot;| [[Mobile Dockingstation]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/- &lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Dockplätze]] 2&lt;br /&gt;
* [[Flugkosten]] 0,1&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 68  [[Energie]] &lt;br /&gt;
* 154  [[Baumaterial]] &lt;br /&gt;
* 162 [[Duranium]] &lt;br /&gt;
* 58  [[Deuterium]]&lt;br /&gt;
* 8  [[Dilithium]]&lt;br /&gt;
* 14 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Mobile Docking-Station-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/41.gif  ||align=&amp;quot;center&amp;quot;| [[Tug]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 45  ||align=&amp;quot;center&amp;quot;| 0  ||align=&amp;quot;center&amp;quot;| 15  ||align=&amp;quot;center&amp;quot;| 30  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 7 {} ||align=&amp;quot;center&amp;quot;| 550  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  - /-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Wrack-Extraktor]]en&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Torpedoausweichen]] 5%&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
||&lt;br /&gt;
* 4 [[Tick]]&lt;br /&gt;
* 38  [[Energie]] &lt;br /&gt;
* 68  [[Baumaterial]] &lt;br /&gt;
* 56 [[Duranium]] &lt;br /&gt;
* 92  [[Deuterium]]&lt;br /&gt;
* 3  [[Dilithium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/76.gif  ||align=&amp;quot;center&amp;quot;| [[Nausicaan]] ||align=&amp;quot;center&amp;quot;| 1,5  ||align=&amp;quot;center&amp;quot;| 10 (5)  ||align=&amp;quot;center&amp;quot;| 55  ||align=&amp;quot;center&amp;quot;| 0  ||align=&amp;quot;center&amp;quot;| 15  ||align=&amp;quot;center&amp;quot;| 60  ||align=&amp;quot;center&amp;quot;| 9  ||align=&amp;quot;center&amp;quot;|  - ||align=&amp;quot;center&amp;quot;| 500  ||align=&amp;quot;center&amp;quot;| 25  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1x18 ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;|  15/15&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Plasmatorpedos|Plasma-]] [[EMP-Torpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Bussard-Kollektoren]] (-1)&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
||&lt;br /&gt;
* 4[[Tick]]&lt;br /&gt;
* 62 [[Energie]] &lt;br /&gt;
* 146 [[Baumaterial]] &lt;br /&gt;
* 192 [[Duranium]] &lt;br /&gt;
* 114  [[Deuterium]]&lt;br /&gt;
* 18  [[Tritanium]]&lt;br /&gt;
* 19 [[Plasma]]&lt;br /&gt;
* Forschung: [[Nausicaan-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/70.gif  ||align=&amp;quot;center&amp;quot;| [[Sonde]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 0  ||align=&amp;quot;center&amp;quot;|  - ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  - /-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Flugkosten]] 0,2&lt;br /&gt;
||&lt;br /&gt;
* 1 [[Tick]]&lt;br /&gt;
* 3 [[Energie]] &lt;br /&gt;
* 4 [[Baumaterial]] &lt;br /&gt;
* 7[[Duranium]] &lt;br /&gt;
* 1 [[Iso-Chips]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/71.gif  ||align=&amp;quot;center&amp;quot;| [[LRS-Boje]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Flugkosten]] 4&lt;br /&gt;
||&lt;br /&gt;
* 1 [[Tick]]&lt;br /&gt;
* 17 [[Energie]] &lt;br /&gt;
* 34 [[Baumaterial]] &lt;br /&gt;
* 56 [[Duranium]] &lt;br /&gt;
* 4 [[Antimaterie]]&lt;br /&gt;
* 10 [[Iso-Chips]]&lt;br /&gt;
* 7 [[Plasma]]&lt;br /&gt;
* Forschung: [[LRS-Bojen-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/81.gif  ||align=&amp;quot;center&amp;quot;| [[EMP-Mine]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 200 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 91  [[Energie]] &lt;br /&gt;
* 58  [[Baumaterial]] &lt;br /&gt;
* 43 [[Duranium]] &lt;br /&gt;
* 24  [[Deuterium]]&lt;br /&gt;
* 19 [[Antimaterie]]&lt;br /&gt;
* 2 [[Iso-Chips]]&lt;br /&gt;
* 12 [[Tritanium]]&lt;br /&gt;
* Forschung: [[EMP-Minen-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/80.gif  ||align=&amp;quot;center&amp;quot;| [[Flugkörper Typ A]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 20  [[Energie]] &lt;br /&gt;
* 3  [[Baumaterial]] &lt;br /&gt;
* 27 [[Duranium]] &lt;br /&gt;
* 5  [[Deuterium]]&lt;br /&gt;
* 2  [[Antimaterie]]&lt;br /&gt;
* 10 [[Tritanium]]&lt;br /&gt;
* 8 [[Sorium]]&lt;br /&gt;
* Forschung: [[MVW-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/55.gif  ||align=&amp;quot;center&amp;quot;| [[Ju'day]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 25  ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 5 {} ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 1x5 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;|  5/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 90%&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
||&lt;br /&gt;
* 1 [[Tick]]&lt;br /&gt;
* 22  [[Energie]] &lt;br /&gt;
* 56  [[Baumaterial]] &lt;br /&gt;
* 82 [[Duranium]] &lt;br /&gt;
* 32  [[Deuterium]]&lt;br /&gt;
* 2 [[Dilithium]]&lt;br /&gt;
* 6 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Ju'day-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/56.gif  ||align=&amp;quot;center&amp;quot;| [[Klaestron]]  ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 50  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;| 6 {}  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 1x20  ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;|  5/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 85%&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
||&lt;br /&gt;
* 2 [[Tick]]&lt;br /&gt;
* 25 [[Energie]] &lt;br /&gt;
* 58  [[Baumaterial]] &lt;br /&gt;
* 92 [[Duranium]] &lt;br /&gt;
* 20  [[Deuterium]]&lt;br /&gt;
* 2 [[Dilithium]]&lt;br /&gt;
* 6  [[Plasma]]&lt;br /&gt;
* 8 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Klaestron-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/59.gif  ||align=&amp;quot;center&amp;quot;| [[Kazon-Fighter]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| 10 (8)  ||align=&amp;quot;center&amp;quot;| 40  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;| 30  ||align=&amp;quot;center&amp;quot;| 35  ||align=&amp;quot;center&amp;quot;| 6  ||align=&amp;quot;center&amp;quot;| 8 {}  ||align=&amp;quot;center&amp;quot;| 60  ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x10  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 20%&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 58  [[Energie]] &lt;br /&gt;
* 105  [[Baumaterial]] &lt;br /&gt;
* 144  [[Duranium]] &lt;br /&gt;
* 53  [[Deuterium]]&lt;br /&gt;
* 5 [[Dilithium]]&lt;br /&gt;
* 28 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Kazon-Fighter-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/60.gif  ||align=&amp;quot;center&amp;quot;| [[Anachrom]] ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;| 20 (16)  ||align=&amp;quot;center&amp;quot;| 70  ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 50  ||align=&amp;quot;center&amp;quot;| 75  ||align=&amp;quot;center&amp;quot;| 12  ||align=&amp;quot;center&amp;quot;| 16 {}  ||align=&amp;quot;center&amp;quot;| 100  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| 2x12  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 10%&lt;br /&gt;
* [[Antrieb|Warpantrieb]] &lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 109  [[Energie]] &lt;br /&gt;
* 198  [[Baumaterial]] &lt;br /&gt;
* 269 [[Duranium]] &lt;br /&gt;
* 102  [[Deuterium]]&lt;br /&gt;
* 8 [[Dilithium]]&lt;br /&gt;
* 5 [[Iso-Chips]]&lt;br /&gt;
* 52 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Anachrom-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/61.gif  ||align=&amp;quot;center&amp;quot;| [[Darinaya]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| 10 (8)  ||align=&amp;quot;center&amp;quot;| 60  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;| 50  ||align=&amp;quot;center&amp;quot;| 80  ||align=&amp;quot;center&amp;quot;| 9  ||align=&amp;quot;center&amp;quot;| 12 {}  ||align=&amp;quot;center&amp;quot;| 60  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 1x22  ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;|  20/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 10%&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
||&lt;br /&gt;
* 3 [[Tick]]&lt;br /&gt;
* 60  [[Energie]] &lt;br /&gt;
* 123  [[Baumaterial]] &lt;br /&gt;
* 154 [[Duranium]] &lt;br /&gt;
* 68 [[Deuterium]]&lt;br /&gt;
* 4 [[Dilithium]]&lt;br /&gt;
* 30 [[Tritanium]]&lt;br /&gt;
* 10 [[Plasma]]&lt;br /&gt;
* Forschung: [[Darinaya-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/62.gif ||align=&amp;quot;center&amp;quot;| [[Adrec]] ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;| 20 (16) ||align=&amp;quot;center&amp;quot;| 110  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 80  ||align=&amp;quot;center&amp;quot;| 170  ||align=&amp;quot;center&amp;quot;| 16  ||align=&amp;quot;center&amp;quot;| 22 {}  ||align=&amp;quot;center&amp;quot;| 120  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 2x22  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;|  50/20&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpatrieb]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
||&lt;br /&gt;
* 5 [[Tick]]&lt;br /&gt;
* 114  [[Energie]] &lt;br /&gt;
* 236  [[Baumaterial]] &lt;br /&gt;
* 303 [[Duranium]] &lt;br /&gt;
* 133  [[Deuterium]]&lt;br /&gt;
* 10  [[Iso-Chips]]&lt;br /&gt;
* 9 [[Dilithium]]&lt;br /&gt;
* 58 [[Tritanium]]&lt;br /&gt;
* 21 [[Plasma]]&lt;br /&gt;
* Forschung: [[Adrec-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/92.gif  ||align=&amp;quot;center&amp;quot;| [[Interceptor (Siedlerschiff)|Interceptor]] ||align=&amp;quot;center&amp;quot;| 0,5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 30  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 1x18  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Torpedoausweichen]] 85%&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
||&lt;br /&gt;
* 1 [[Tick]]&lt;br /&gt;
* 62 [[Energie]] &lt;br /&gt;
* 45 [[Iridium-Erz]] &lt;br /&gt;
* 60 [[Deuterium]] &lt;br /&gt;
* 10 [[Plasma]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/91.gif  ||align=&amp;quot;center&amp;quot;| [[Rei´Kon]] ||align=&amp;quot;center&amp;quot;| 18  ||align=&amp;quot;center&amp;quot;| 120 (100)  ||align=&amp;quot;center&amp;quot;| 1000  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 300  ||align=&amp;quot;center&amp;quot;| 500  ||align=&amp;quot;center&amp;quot;| 48  ||align=&amp;quot;center&amp;quot;| 65 {}  ||align=&amp;quot;center&amp;quot;| 2000  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 4x6  ||align=&amp;quot;center&amp;quot;| 8x18  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;|  -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Bussard-Kollektoren]] (-1)&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Erz-Kollektoren]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 4&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Spezialdockplätze]] 28&lt;br /&gt;
* [[Flugkosten]] 15 &lt;br /&gt;
||&lt;br /&gt;
* 60 [[Tick]]&lt;br /&gt;
* 153 [[Energie]] &lt;br /&gt;
* 1570  [[Baumaterial]] &lt;br /&gt;
* 2073 [[Duranium]] &lt;br /&gt;
* 1087  [[Deuterium]]&lt;br /&gt;
* 222 [[Antimaterie]]&lt;br /&gt;
* 120 [[Iso-Chips]]&lt;br /&gt;
* 485 [[Tritanium]]&lt;br /&gt;
* 240 [[Dilithium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/65.gif  ||align=&amp;quot;center&amp;quot;| [[Aither]] ||align=&amp;quot;center&amp;quot;| 7  ||align=&amp;quot;center&amp;quot;| 90 (60)  ||align=&amp;quot;center&amp;quot;| 600  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;| 200  ||align=&amp;quot;center&amp;quot;| 250  ||align=&amp;quot;center&amp;quot;| 33  ||align=&amp;quot;center&amp;quot;| 45 {} ||align=&amp;quot;center&amp;quot;| 1500  ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 2x8  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;|  500/20&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Dockplätze]] 14&lt;br /&gt;
* [[Spezialdockplätze]] 1&lt;br /&gt;
* [[Flugkosten]] 7&lt;br /&gt;
||&lt;br /&gt;
* 25 [[Tick]]&lt;br /&gt;
* 83 [[Energie]] &lt;br /&gt;
* 639  [[Baumaterial]] &lt;br /&gt;
* 921 [[Duranium]] &lt;br /&gt;
* 465  [[Deuterium]]&lt;br /&gt;
* 70 [[Antimaterie]]&lt;br /&gt;
* 35 [[Iso-Chips]]&lt;br /&gt;
* 203 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Aither-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/64.gif  ||align=&amp;quot;center&amp;quot;| [[Amaterasu]] ||align=&amp;quot;center&amp;quot;| 15  ||align=&amp;quot;center&amp;quot;| 200 (120)  ||align=&amp;quot;center&amp;quot;| 1000  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 300  ||align=&amp;quot;center&amp;quot;| 700  ||align=&amp;quot;center&amp;quot;| 60  ||align=&amp;quot;center&amp;quot;| 80 {}  ||align=&amp;quot;center&amp;quot;| 3500  ||align=&amp;quot;center&amp;quot;| 20  ||align=&amp;quot;center&amp;quot;| 8x8  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;|  1200/120&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Bussard-Kollektoren]] (-2)&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Dockplätze]] 28&lt;br /&gt;
* [[Spezialdockplätze]] 3&lt;br /&gt;
* [[Flugkosten]] 15&lt;br /&gt;
||&lt;br /&gt;
* 50 [[Tick]]&lt;br /&gt;
* 105  [[Energie]] &lt;br /&gt;
* 1370  [[Baumaterial]] &lt;br /&gt;
* 1973 [[Duranium]] &lt;br /&gt;
* 997  [[Deuterium]]&lt;br /&gt;
* 155 [[Antimaterie]]&lt;br /&gt;
* 75 [[Iso-Chips]]&lt;br /&gt;
* 220 [[Dilithium]]&lt;br /&gt;
* 445 [[Tritanium]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/85.gif ||align=&amp;quot;center&amp;quot;| [[Atria]] ||align=&amp;quot;center&amp;quot;| 25  ||align=&amp;quot;center&amp;quot;| 130 (100)  ||align=&amp;quot;center&amp;quot;| 1200  ||align=&amp;quot;center&amp;quot;| 4  ||align=&amp;quot;center&amp;quot;| 500  ||align=&amp;quot;center&amp;quot;| 600  ||align=&amp;quot;center&amp;quot;| 63 ||align=&amp;quot;center&amp;quot;| 85 {} ||align=&amp;quot;center&amp;quot;| 16000  ||align=&amp;quot;center&amp;quot;| 50  ||align=&amp;quot;center&amp;quot;| 8x8 ||align=&amp;quot;center&amp;quot;| 8x18  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;|  3000/50&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Wrack-Extraktor]]en&lt;br /&gt;
* [[Bussard-Kollektoren]] +3&lt;br /&gt;
* [[Erz-Kollektoren]]&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
* [[LRS-Reichweite]] 4&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Dockplätze]] 2&lt;br /&gt;
* [[Flugkosten]] 16&lt;br /&gt;
||&lt;br /&gt;
* 70 [[Tick]]&lt;br /&gt;
* 94  [[Energie]] &lt;br /&gt;
* 2000 [[Nahrung]]&lt;br /&gt;
* 6075 [[Baumaterial]]&lt;br /&gt;
* 5300 [[Iridium-Erz]]&lt;br /&gt;
* 8204 [[Duranium]] &lt;br /&gt;
* 8914  [[Deuterium]]&lt;br /&gt;
* 352 [[Antimaterie]]&lt;br /&gt;
* 825 [[Iso-Chips]]&lt;br /&gt;
* 1618 [[Tritanium]]&lt;br /&gt;
* 338 [[Sorium]]&lt;br /&gt;
* 3350 [[Nitrium]]&lt;br /&gt;
* 394 [[Plasma]]&lt;br /&gt;
* 1200 [[Credits]]&lt;br /&gt;
* Forschung: [[Atria-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/84.gif  ||align=&amp;quot;center&amp;quot;| [[Elstar]] ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 150 (125)  ||align=&amp;quot;center&amp;quot;| 800  ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 1200  ||align=&amp;quot;center&amp;quot;| 900  ||align=&amp;quot;center&amp;quot;| 56  ||align=&amp;quot;center&amp;quot;| 75 {}  ||align=&amp;quot;center&amp;quot;| 8000  ||align=&amp;quot;center&amp;quot;| 30  ||align=&amp;quot;center&amp;quot;| 15x9 ||align=&amp;quot;center&amp;quot;| 15x18  ||align=&amp;quot;center&amp;quot;| 15  ||align=&amp;quot;center&amp;quot;|  1500/120&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Bussard-Kollektoren]] (-1)&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Torpedoausweichen]] 5%&lt;br /&gt;
* [[Dockplätze]] 2&lt;br /&gt;
* [[Spezialdockplätze]] 4&lt;br /&gt;
* [[Flugkosten]] 20&lt;br /&gt;
||&lt;br /&gt;
* 70 [[Tick]]&lt;br /&gt;
* 96  [[Energie]] &lt;br /&gt;
* 8114  [[Baumaterial]] &lt;br /&gt;
* 12336 [[Duranium]] &lt;br /&gt;
* 4450  [[Deuterium]]&lt;br /&gt;
* 366 [[Antimaterie]]&lt;br /&gt;
* 1101 [[Iso-Chips]]&lt;br /&gt;
* 10 [[Rettungskapsel]]n&lt;br /&gt;
* 1608 [[Tritanium]]&lt;br /&gt;
* 450 [[Sorium]]&lt;br /&gt;
* 832 [[Plasma]]&lt;br /&gt;
* 750 [[Credits]]&lt;br /&gt;
* Forschung: [[Elstar-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/86.gif  ||align=&amp;quot;center&amp;quot;| [[Iowa]] ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 125  ||align=&amp;quot;center&amp;quot;| 1550  ||align=&amp;quot;center&amp;quot;| 6  ||align=&amp;quot;center&amp;quot;| 2900  ||align=&amp;quot;center&amp;quot;| 800  ||align=&amp;quot;center&amp;quot;| 48 ||align=&amp;quot;center&amp;quot;| 65 {}  ||align=&amp;quot;center&amp;quot;| 1500  ||align=&amp;quot;center&amp;quot;| 10  ||align=&amp;quot;center&amp;quot;| 15x8  ||align=&amp;quot;center&amp;quot;| 15x24 ||align=&amp;quot;center&amp;quot;| 15||align=&amp;quot;center&amp;quot;|  500/255&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Trägerschiff]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Dockplätze]] 6&lt;br /&gt;
* [[Spezialdockplätze]] 2&lt;br /&gt;
* [[Flugkosten]] 20&lt;br /&gt;
||&lt;br /&gt;
* 70 [[Tick]]&lt;br /&gt;
* 103  [[Energie]] &lt;br /&gt;
* 4057  [[Baumaterial]] &lt;br /&gt;
* 8224 [[Duranium]] &lt;br /&gt;
* 2225  [[Deuterium]]&lt;br /&gt;
* 364 [[Antimaterie]]&lt;br /&gt;
* 1652  [[Iso-Chips]]&lt;br /&gt;
* 50 [[Rettungskapsel]]n&lt;br /&gt;
* 3217 [[Tritanium]]&lt;br /&gt;
* 675 [[Sorium]]&lt;br /&gt;
* 1248 [[Plasma]]&lt;br /&gt;
* 1000 [[Credits]]&lt;br /&gt;
* Forschung: [[Iowa-Konstruktion]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Geschütze=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | Übersicht sämtlicher Schiffe&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;21&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | baubare Geschütze der Kolonisten mit [[Tug]] und [[Werft]] baubar&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Bild &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Schiffsklasse &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schiffslimit|Slots]]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Hülle]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Panzerung]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[EPS]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Cargo]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Phaser]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Disruptor]]en &amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Torpedos]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Abfeuerbare [[Torpedos]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Spezial-Funktionen &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Baukosten / Voraussetzungen&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedorampen &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedos lager/erhitzen &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/48.gif ||align=&amp;quot;center&amp;quot;| [[Phasergeschütz]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 55  ||align=&amp;quot;center&amp;quot;|  2 ||align=&amp;quot;center&amp;quot;| 70  ||align=&amp;quot;center&amp;quot;| 90  ||align=&amp;quot;center&amp;quot;| 1x12 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -/- &lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 14&lt;br /&gt;
|| &lt;br /&gt;
* 1 [[Tick]]s &amp;lt;br&amp;gt;&lt;br /&gt;
* 34  [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 86 [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 94 [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 16  [[Deuterium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 5 [[Iso-Chips]]&lt;br /&gt;
* 12 [[Tritanium]]&lt;br /&gt;
* Forschung : [[Phasergeschütz-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/83.gif ||align=&amp;quot;center&amp;quot;| [[Phaserplattform]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 220 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;|  80 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 3x12 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -/- &lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 100000&lt;br /&gt;
|| &lt;br /&gt;
* 5 [[Tick]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 44  [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 96  [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 114  [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 20  [[Deuterium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 8 [[Iso-Chips]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 12 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Phasergeschütz-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/51.gif ||align=&amp;quot;center&amp;quot;| [[Disruptorgeschütz]] ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| 55  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;| 70  ||align=&amp;quot;center&amp;quot;| 90 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| 1x20 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -/- &lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 14&lt;br /&gt;
|| &lt;br /&gt;
* 1 [[Tick]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 34 [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 79 [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 82  [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 15  [[Deuterium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 4 [[ Iso-Chips]]&lt;br /&gt;
* 16 [[Tritanium]] &lt;br /&gt;
* 18 [[Plasma]]&lt;br /&gt;
* Forschung:  [[Disruptorgeschütz-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/93.gif ||align=&amp;quot;center&amp;quot;| [[Disruptorplattform]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 220 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;|  80 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 3x22 ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
 || &lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 100000&lt;br /&gt;
|| &lt;br /&gt;
* 5 [[Tick]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 44 [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 96 [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 114  [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 20  [[Deuterium]]&lt;br /&gt;
* 8 [[Iso-Chips]]&lt;br /&gt;
* 12 [[Tritanium]]&lt;br /&gt;
* 10 [[Plasma]]&lt;br /&gt;
* Forschung: [[Disruptorgeschütz-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/49.gif ||align=&amp;quot;center&amp;quot;| [[Torpedogeschütz]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 55  ||align=&amp;quot;center&amp;quot;| 2  ||align=&amp;quot;center&amp;quot;|  105  ||align=&amp;quot;center&amp;quot;| 90  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1  ||align=&amp;quot;center&amp;quot;| 35/35&lt;br /&gt;
||&lt;br /&gt;
*  [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 14&lt;br /&gt;
|| &lt;br /&gt;
* 1 [[Tick]]s &amp;lt;br&amp;gt;&lt;br /&gt;
* 34 [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 84  [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 104  [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 16 [[Deuterium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 5 [[Iso-Chips]]&lt;br /&gt;
* 20 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Torpedogeschütz-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/82.gif ||align=&amp;quot;center&amp;quot;| [[Torpedoplattform(Schiff)|Torpedoplattform]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 220  ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;|  120  ||align=&amp;quot;center&amp;quot;| -  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 3  ||align=&amp;quot;center&amp;quot;| 50/50&lt;br /&gt;
||&lt;br /&gt;
*  [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Flugkosten]] 100000&lt;br /&gt;
|| &lt;br /&gt;
* 5 [[Tick]]s &amp;lt;br&amp;gt;&lt;br /&gt;
* 44 [[Energie]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 96  [[Baumaterial]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 114  [[Duranium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 20  [[Deuterium]] &amp;lt;br&amp;gt;&lt;br /&gt;
* 8  [[Iso-Chips]]&lt;br /&gt;
* 12 [[Tritanium]]&lt;br /&gt;
* Forschung: [[Torpedogeschütz-Konstruktion]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Raumstationen=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | Übersicht sämtlicher Schiffe&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;21&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;21&amp;quot; | baubare Stationen der Kolonisten (nur mit [[Tug]] baubar)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Bild &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Schiffsklasse &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schiffslimit|Slots]]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Crew]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Hülle]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Panzerung]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schilde]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[EPS]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Reaktorstärke]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Cargo]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Beamkapazität|Beam-&amp;lt;br&amp;gt;kapazität]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Phaser]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Disruptor]]en &amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Torpedos]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Abfeuerbare [[Torpedos]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Spezial-Funktionen &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Baukosten / Voraussetzungen&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Deuterium|Deut.]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Schiffs-Warpkern|Warp]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedorampen &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedos lager/erhitzen &amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/42.gif ||align=&amp;quot;center&amp;quot;| [[Depot]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 200 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 800 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 1x6 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 50/0&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Dockplätze]] 21&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
|| &lt;br /&gt;
* 4 [[Tick]]s &lt;br /&gt;
* 136 [[Energie]] &lt;br /&gt;
* 248 [[Baumaterial]] &lt;br /&gt;
* 262 [[Duranium]] &lt;br /&gt;
* 152 [[Deuterium]]&lt;br /&gt;
* Forschung: [[Orbital-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/43.gif ||align=&amp;quot;center&amp;quot;| [[Lagerstation]] ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 1200 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 90 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 13 ||align=&amp;quot;center&amp;quot;| 18 {} ||align=&amp;quot;center&amp;quot;| 18000 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2500/0&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 10&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
|| &lt;br /&gt;
* 16 [[Tick]]s &lt;br /&gt;
*    1632 [[Energie|Energie]]&lt;br /&gt;
*  2976 [[Baumaterial|Baumaterial]]&lt;br /&gt;
* 3144 [[Duranium|Duranium]]&lt;br /&gt;
*  1824 [[Deuterium|Deuterium]]&lt;br /&gt;
*  113 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
*  40 [[Dilithium|Dilithium]]&lt;br /&gt;
*  422 [[Tritanium|Tritanium]]&lt;br /&gt;
* Forschung: [[Lagerstations-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game3.stne.net/i/s/44.gif ||align=&amp;quot;center&amp;quot;| [[Handelsbasis]] ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 50 (40) ||align=&amp;quot;center&amp;quot;| 3600 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 1100 ||align=&amp;quot;center&amp;quot;| 1200 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 80 {} ||align=&amp;quot;center&amp;quot;| 18000 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 8x6 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 2000/100&lt;br /&gt;
||&lt;br /&gt;
[[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]] und [[Quantentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 40&lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
|| &lt;br /&gt;
* 20 [[Tick]]s &lt;br /&gt;
*    1591 [[Energie|Energie]]&lt;br /&gt;
*  5548 [[Baumaterial|Baumaterial]]&lt;br /&gt;
* 3917 [[Duranium|Duranium]]&lt;br /&gt;
*  2013 [[Deuterium|Deuterium]]&lt;br /&gt;
* 200 [[Antimaterie|Antimaterie]]&lt;br /&gt;
*  247 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
*  160 [[Dilithium|Dilithium]]&lt;br /&gt;
*  1086 [[Tritanium|Tritanium]]&lt;br /&gt;
* [[Handelsbasis-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/46.gif ||align=&amp;quot;center&amp;quot;| [[Außenposten]] ||align=&amp;quot;center&amp;quot;| 7 ||align=&amp;quot;center&amp;quot;| 40 (35) ||align=&amp;quot;center&amp;quot;| 1400 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 350 ||align=&amp;quot;center&amp;quot;| 225 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 40 {} ||align=&amp;quot;center&amp;quot;| 1500 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 6x8 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 100/35&lt;br /&gt;
||&lt;br /&gt;
[[Photonentorpedos|Photonen-]] und [[Plasmatorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 5&lt;br /&gt;
* [[LRS-Reichweite]] 6&lt;br /&gt;
|| &lt;br /&gt;
* 12 [[Tick]]s &lt;br /&gt;
*    710 [[Energie|Energie]]&lt;br /&gt;
*  682 [[Baumaterial|Baumaterial]]&lt;br /&gt;
* 1834 [[Duranium|Duranium]]&lt;br /&gt;
*  346 [[Deuterium|Deuterium]]&lt;br /&gt;
*  77 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
*  60 [[Dilithium|Dilithium]]&lt;br /&gt;
*  58 [[Tritanium|Tritanium]]&lt;br /&gt;
* [[Außenposten-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/47.gif ||align=&amp;quot;center&amp;quot;| [[Stützpunkt]] ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 100 (90) ||align=&amp;quot;center&amp;quot;| 2850 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 1400 ||align=&amp;quot;center&amp;quot;| 800 ||align=&amp;quot;center&amp;quot;| 56 ||align=&amp;quot;center&amp;quot;| 75 {} ||align=&amp;quot;center&amp;quot;| 4000 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 16x10 ||align=&amp;quot;center&amp;quot;| 16x20 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| 500/150&lt;br /&gt;
||&lt;br /&gt;
[[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] und [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 40&lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
|| &lt;br /&gt;
* 20 [[Tick]]s &lt;br /&gt;
* 633 [[Energie|Energie]]&lt;br /&gt;
* 1569 [[Baumaterial|Baumaterial]]&lt;br /&gt;
* 3219 [[Duranium|Duranium]]&lt;br /&gt;
* 796 [[Deuterium|Deuterium]]&lt;br /&gt;
* 50 [[Antimaterie|Antimaterie]]&lt;br /&gt;
* 177 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
* 264  [[Dilithium|Dilithium]]&lt;br /&gt;
* 327 [[Tritanium|Tritanium]]&lt;br /&gt;
* Forschung: [[Stützpunkt-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/50.gif ||align=&amp;quot;center&amp;quot;| [[Flottenbasis]] ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 150 ||align=&amp;quot;center&amp;quot;| 5500 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 2000 ||align=&amp;quot;center&amp;quot;| 1200 ||align=&amp;quot;center&amp;quot;| 75 ||align=&amp;quot;center&amp;quot;| 100 {} ||align=&amp;quot;center&amp;quot;| 8000 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 25x12 ||align=&amp;quot;center&amp;quot;| 25x22 ||align=&amp;quot;center&amp;quot;| 25  ||align=&amp;quot;center&amp;quot;| 1000/255&lt;br /&gt;
||&lt;br /&gt;
[[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] und [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 80&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
|| &lt;br /&gt;
* 40 [[Tick]]s &lt;br /&gt;
*    1266 [[Energie|Energie]]&lt;br /&gt;
*  3138 [[Baumaterial|Baumaterial]]&lt;br /&gt;
*   6438 [[Duranium|Duranium]]&lt;br /&gt;
*  1592 [[Deuterium|Deuterium]]&lt;br /&gt;
*  100 [[Antimaterie|Antimaterie]]&lt;br /&gt;
*  354 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
*  441 [[Dilithium|Dilithium]]&lt;br /&gt;
*  664 [[Tritanium|Tritanium]]&lt;br /&gt;
* Forschung: [[Flottenbasis-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/45.gif ||align=&amp;quot;center&amp;quot;| [[Horchposten]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 70 ||align=&amp;quot;center&amp;quot;| 0 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 9 {} ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Dockplätze]] 2&lt;br /&gt;
* [[LRS-Reichweite]] 7&lt;br /&gt;
* [[Traktorstrahlblocker]]&lt;br /&gt;
|| &lt;br /&gt;
* 6 [[Tick]]s &lt;br /&gt;
*    222 [[Energie|Energie]]&lt;br /&gt;
*  263 [[Baumaterial|Baumaterial]]&lt;br /&gt;
* 273 [[Duranium|Duranium]]&lt;br /&gt;
*  108 [[Deuterium|Deuterium]]&lt;br /&gt;
*  24 [[Iso-Chips|Iso-Chips]]&lt;br /&gt;
*  11 [[Dilithium|Dilithium]]&lt;br /&gt;
*  18 [[Tritanium|Tritanium]]&lt;br /&gt;
* Forschung: [[Subraumhorchposten-Konstruktion]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creditschiffe=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Übersicht sämtlicher Schiffe&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;20&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | kaufbare Schiffe der Kolonisten&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Bild &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Schiffsklasse &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schiffslimit|Slots]]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Crew]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Hülle]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Panzerung]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Schilde]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[EPS]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Reaktorstärke]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Cargo]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Beamkapazität|Beam-&amp;lt;br&amp;gt;kapazität]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Phaser]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Disruptor]]en &amp;lt;/font&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;[[Torpedos]]&amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Abfeuerbare [[Torpedos]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Spezial-Funktionen &amp;lt;/font&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &amp;lt;font size=1&amp;gt;Preis&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Deuterium|Deut.]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;[[Schiffs-Warpkern|Warp]] &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedorampen &amp;lt;/font&amp;gt;&lt;br /&gt;
! &amp;lt;font size=1&amp;gt;Torpedos lager/erhitzen &amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/602.gif ||align=&amp;quot;center&amp;quot;| [[Flaxian]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 (6) ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 7 ||align=&amp;quot;center&amp;quot;| 10 {} ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x2 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
* [[Torpedoausweichen]] 15%&lt;br /&gt;
|| &lt;br /&gt;
200 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/912.gif ||align=&amp;quot;center&amp;quot;| [[Rigel]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 90 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 25 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 12 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 800 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Bussard-Kollektoren]] (+1)&lt;br /&gt;
|| &lt;br /&gt;
350 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/905.gif ||align=&amp;quot;center&amp;quot;| [[Capo]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 8 ||align=&amp;quot;center&amp;quot;| 11 {} ||align=&amp;quot;center&amp;quot;| 800 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 2x3 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 20/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Erz-Kollektoren]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
|| &lt;br /&gt;
375 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/903.gif ||align=&amp;quot;center&amp;quot;| [[Calester]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 12 ||align=&amp;quot;center&amp;quot;| 16 {} ||align=&amp;quot;center&amp;quot;| 1500 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 30/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
|| &lt;br /&gt;
300 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/908.gif ||align=&amp;quot;center&amp;quot;| [[Helios]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 7 {} ||align=&amp;quot;center&amp;quot;| 1200 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 20/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 1,5&lt;br /&gt;
|| &lt;br /&gt;
300 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/909.gif ||align=&amp;quot;center&amp;quot;| [[Moringi]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 7 ||align=&amp;quot;center&amp;quot;| 10 {} ||align=&amp;quot;center&amp;quot;| 2300 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 30/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Solarzellen]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
|| &lt;br /&gt;
325 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/924.gif ||align=&amp;quot;center&amp;quot;| [[Silverstar]] ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 200 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 13 ||align=&amp;quot;center&amp;quot;| 18 {} ||align=&amp;quot;center&amp;quot;| 2500 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 2x6 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 100/20&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 2&lt;br /&gt;
|| &lt;br /&gt;
600 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/917.gif ||align=&amp;quot;center&amp;quot;| [[Sunhawk]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 110 (10) ||align=&amp;quot;center&amp;quot;| 160 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 21 ||align=&amp;quot;center&amp;quot;| 29 {} ||align=&amp;quot;center&amp;quot;| 250 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Flugkosten]] 1,75&lt;br /&gt;
|| &lt;br /&gt;
350 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/902.gif ||align=&amp;quot;center&amp;quot;| [[Boreas]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 40 ||align=&amp;quot;center&amp;quot;| 6 ||align=&amp;quot;center&amp;quot;| 8 {} ||align=&amp;quot;center&amp;quot;| 450 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 300/20&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
|| &lt;br /&gt;
300 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/911.gif ||align=&amp;quot;center&amp;quot;| [[Ortygia]] ||align=&amp;quot;center&amp;quot;| 1,5 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 65 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 325 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 20 {} ||align=&amp;quot;center&amp;quot;| 500 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 2x4  ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Wrack-Extraktor]]&lt;br /&gt;
* [[Stations-EPS-Aufladung]]&lt;br /&gt;
|| &lt;br /&gt;
300 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/910.gif ||align=&amp;quot;center&amp;quot;| [[Mymidon]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 30 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 6 {} ||align=&amp;quot;center&amp;quot;| 150 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x5 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Solarzellen]] -2&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
|| &lt;br /&gt;
350 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/103.gif ||align=&amp;quot;center&amp;quot;| [[Nova]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 9 ||align=&amp;quot;center&amp;quot;| 13 {} ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 2x4 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/5&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 5&lt;br /&gt;
* [[Flugkosten]] 0,5&lt;br /&gt;
* [[Torpedoausweichen]] 65%&lt;br /&gt;
|| &lt;br /&gt;
300 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/102.gif ||align=&amp;quot;center&amp;quot;| [[Venture]] ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 40||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 45  ||align=&amp;quot;center&amp;quot;| 6 ||align=&amp;quot;center&amp;quot;| 8 {} ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 1x5 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 20/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Plasmatorpedos|Plasma-]], [[EMP-Torpedos|EMP-]], [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 4&lt;br /&gt;
* [[Torpedoausweichen]] 65%&lt;br /&gt;
|| &lt;br /&gt;
450 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/922.gif ||align=&amp;quot;center&amp;quot;| [[Psilar]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 35 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 7 {} ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 5  ||align=&amp;quot;center&amp;quot;| 1x10 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
* [[Torpedoausweichen]] 90%&lt;br /&gt;
|| &lt;br /&gt;
200 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/921.gif ||align=&amp;quot;center&amp;quot;| [[Assertive]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 7 {} ||align=&amp;quot;center&amp;quot;| 50||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 1x24 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 1&lt;br /&gt;
* [[Torpedoausweichen]] 85%&lt;br /&gt;
|| &lt;br /&gt;
200 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/920.gif ||align=&amp;quot;center&amp;quot;| [[Yzato]] ||align=&amp;quot;center&amp;quot;| 0,5 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 7 {} ||align=&amp;quot;center&amp;quot;| 50||align=&amp;quot;center&amp;quot;| 5 ||align=&amp;quot;center&amp;quot;| 1x5 ||align=&amp;quot;center&amp;quot;| 1x18 ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10/10&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]] [[EMP-Torpedos]] &lt;br /&gt;
||&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite]] 0&lt;br /&gt;
* [[Torpedoausweichen]] 70%&lt;br /&gt;
|| &lt;br /&gt;
200 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/916.gif ||align=&amp;quot;center&amp;quot;| [[Sirius]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 (8) ||align=&amp;quot;center&amp;quot;| 70 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 50 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 15 ||align=&amp;quot;center&amp;quot;| 21 {} ||align=&amp;quot;center&amp;quot;| 450 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 2x15 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[LRS-Reichweite|LRS-Reichweite]] 3&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Torpedoausweichen]] 10%&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/915.gif ||align=&amp;quot;center&amp;quot;| [[Seth]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 15 (12) ||align=&amp;quot;center&amp;quot;| 85 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 60 ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 16 ||align=&amp;quot;center&amp;quot;| 22 {} ||align=&amp;quot;center&amp;quot;| 300 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 2x15 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| -/-&lt;br /&gt;
||&lt;br /&gt;
-&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Torpedoausweichen]] 10%&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/605.gif ||align=&amp;quot;center&amp;quot;| [[D7]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 (8) ||align=&amp;quot;center&amp;quot;| 120 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 80 ||align=&amp;quot;center&amp;quot;| 135 ||align=&amp;quot;center&amp;quot;| 17 ||align=&amp;quot;center&amp;quot;| 23 {} ||align=&amp;quot;center&amp;quot;| 450 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2x22 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 90/60&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[LRS-Reichweite|LRS-Reichweite]] 3&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/913.gif ||align=&amp;quot;center&amp;quot;| [[Rubicon]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 15 (12) ||align=&amp;quot;center&amp;quot;| 160 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 190 ||align=&amp;quot;center&amp;quot;| 18 ||align=&amp;quot;center&amp;quot;| 25 {} ||align=&amp;quot;center&amp;quot;| 300 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| - ||align=&amp;quot;center&amp;quot;| 2x22 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 70/60&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[Quantentorpedos|Quanten-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/914.gif ||align=&amp;quot;center&amp;quot;| [[Scavenger]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 10 (8) ||align=&amp;quot;center&amp;quot;| 100 ||align=&amp;quot;center&amp;quot;| 3 ||align=&amp;quot;center&amp;quot;| 75 ||align=&amp;quot;center&amp;quot;| 160 ||align=&amp;quot;center&amp;quot;| 18 ||align=&amp;quot;center&amp;quot;| 25 {} ||align=&amp;quot;center&amp;quot;| 450 ||align=&amp;quot;center&amp;quot;| 20 ||align=&amp;quot;center&amp;quot;| 2x8 ||align=&amp;quot;center&amp;quot;| 2x18 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 70/60&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
* [[Systemblockade]] &lt;br /&gt;
* [[LRS-Reichweite]] 3&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| http://game2.stne.net/i/s/901.gif ||align=&amp;quot;center&amp;quot;| [[Atel]] ||align=&amp;quot;center&amp;quot;| 1 ||align=&amp;quot;center&amp;quot;| 15 (12) ||align=&amp;quot;center&amp;quot;| 130 ||align=&amp;quot;center&amp;quot;| 4 ||align=&amp;quot;center&amp;quot;| 90 ||align=&amp;quot;center&amp;quot;| 150 ||align=&amp;quot;center&amp;quot;| 18 ||align=&amp;quot;center&amp;quot;| 24 {} ||align=&amp;quot;center&amp;quot;| 300 ||align=&amp;quot;center&amp;quot;| 10 ||align=&amp;quot;center&amp;quot;| 2x8 ||align=&amp;quot;center&amp;quot;| 2x18 ||align=&amp;quot;center&amp;quot;| 2 ||align=&amp;quot;center&amp;quot;| 60/60&lt;br /&gt;
||&lt;br /&gt;
* [[Photonentorpedos|Photonen-]], [[Photonentorpedos|Plasma-]], [[EMP-Torpedos|EMP-]], [[Nemesistorpedos|Nemesis-]] [[Polarontorpedos]]&lt;br /&gt;
||&lt;br /&gt;
* [[Antrieb|Warpantrieb]]&lt;br /&gt;
* [[Systemblockade]]&lt;br /&gt;
* [[Schiffs-Replikator|Replikatoren]]&lt;br /&gt;
|| &lt;br /&gt;
700 [[Credits]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Outer_Rim</id>
		<title>Outer Rim</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Outer_Rim"/>
				<updated>2009-09-20T20:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
&lt;br /&gt;
Als '''Outer Rim''' bezeichnet man das Gebiet des Deltaquadranten entlang des blauen Ceruleanischen Nebels, der sich vom Föderations-Raum über den '''Outer Rim''' zum Dominion-Raum und weiter wendelt. &lt;br /&gt;
Das Outer Rim ist momentan das äußerst südlichste Gebiet des Deltaquadranten, dass für Siedler zum siedeln freigegeben ist. '''''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;TODO: Falsch, der DQ wurde erweitert. Mag das jemand mit Ahnung bitte umschreiben?&amp;lt;/font&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
Manche sehen das Outer Rim auch als eine Blase, die sich zwischen der Föderation, dem Dominion und der gesperrten Zone befindet.&lt;br /&gt;
&lt;br /&gt;
Man kann analoge zwischen dem Outer Rim des Star Wars Universums un dem Outer Rim des Space Trek Universums ziehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Gebiete|Outer Rim]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Outer_Rim</id>
		<title>Outer Rim</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Outer_Rim"/>
				<updated>2009-09-20T20:04:30Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Aufgabe hinzugefügt, habe leider selber nicht genug plan.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
&lt;br /&gt;
Als '''Outer Rim''' bezeichnet man das Gebiet des Deltaquadranten entlang des blauen Ceruleanischen Nebels, der sich vom Föderations-Raum über den '''Outer Rim''' zum Dominion-Raum und weiter wendelt. &lt;br /&gt;
Das Outer Rim ist momentan das äußerst südlichste Gebiet des Deltaquadranten, dass für Siedler zum siedeln freigegeben ist. '''''TODO: Falsch, der DQ wurde erweitert. Mag das jemand mit Ahnung bitte umschreiben?'''''&lt;br /&gt;
&lt;br /&gt;
Manche sehen das Outer Rim auch als eine Blase, die sich zwischen der Föderation, dem Dominion und der gesperrten Zone befindet.&lt;br /&gt;
&lt;br /&gt;
Man kann analoge zwischen dem Outer Rim des Star Wars Universums un dem Outer Rim des Space Trek Universums ziehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Gebiete|Outer Rim]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Schiffsversteigerung</id>
		<title>Schiffsversteigerung</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Schiffsversteigerung"/>
				<updated>2009-09-18T14:50:32Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Typo korrigiert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
Die [[Talaxianer]] sind die Schiffshändler in STNE. Es gibt im gesamten [[Delta-Quadrant]]en einige [[Versteigerungsposten]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Ersteigern von Schiffen==&lt;br /&gt;
Ein Schiff ersteigert man bei den Schiffsversteigerungen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Schiffsversteigerung.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dort ist eine Liste von momentan Angebotenen Schiffen zu sehen. Wenn man selber bieten auf ein Schiff möchte, muss man nur auf diesen Knopf drücken: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Schiffsverliste.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dort sieht man dann wieviel der geforderten Ware man auf dem [[Warenkonto]] hat, wie hoch momentan das Höchstgebot ist, und man kann direkt eingeben wieviel man bieten möchte. Auch sieht man alle bereits abgegebenen Gebote. Auch der [[Talaxianer]] bietet teilweise Schiffe unter seinem eigenen Namen an (vereinzelt auch NPC-Schiffe). Diese Schiffe besitzen nicht nur keine [[Crew]] sondern auch keine [[Schilde]], [[Waren]], [[Nahrung]] oder jegliche Treibstoffe. Schiffe von anderen Siedlern können dies haben. Informationen über den Zustand eines Schiffes bekommt man, wenn man auf das Bild zum Schiff drückt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Schiffansehen.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Man sieht hier alle wichtigen Daten. Und kann direkt bieten. Man kann sich nicht selbst überbieten und man kann nicht auf mehrere Schiffe gleichzeitig bieten. Eine Auktion dauert mindestens 3 Tage und ist zeitlich nach oben hin unbegrenzt. Das Schiff gehört einem, wenn man Höchstbietender ist und die Auktionszeit abgelaufen ist. Sollte man überboten werden, läuft die Auktion weitere 24 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Erfolgreiche Ersteigerung==&lt;br /&gt;
Ersteigerte Schiffe werden automatisch zu dem Versteigerungsposten transportiert, der am nächsten zu einem eigenen Schiff mit mindestens 4 Crew ist. Nun muss man das ersteigerte Schiff bemannen und ausrüsten, wenn man es nutzen möchte. Ersteigerte Schiffe sind NIE bemannt. Es ist nun auch in der Schiffsliste und gehört offiziell dir.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Für den Umgang mit ersteigerten Schiffen siehe bitte auch: [[Ersteigerte oder gekaufte Schiffe versorgen|Schiffe versorgen]] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Versteigern von Schiffen==&lt;br /&gt;
Am besten fliegst Du mit einem leeren [[Sydney|Truppentransporter]] (5 [[Crew]]) und dem zu verkaufenden Schiff zum nächsten [[Talaxianer]] (NPC). Dort angekommen dockt man das zu verkaufende Schiff an [[Versteigerungsposten]] an und beamt mit dem [[Sydney|Truppentransporter]] die [[Crew]] und evtl. die [[Waren]], die nicht mit angeboten werden sollen von dem zu verkaufenden Schiff. Die [[Crew]] von Bord zu bringen ist jedoch keine Pflicht. Sollte noch [[Crew]] an Bord sein, verlässt diese lediglich beim erstellen des Angebotes das Schiff. Weder [[Internes Ansehen|internes]] noch [[externes Ansehen]] wird dafür abgezogen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Danach wählt man unter [[Kommunikation]] -&amp;gt; [[Schiffsversteigerung]] den Button&amp;lt;br&amp;gt;&lt;br /&gt;
{{Button|Schiff versteigern}}&amp;lt;br&amp;gt;&lt;br /&gt;
an. In dem folgenden Abfragen erhält man noch Gelegenheit die &amp;quot;'''Gewünschte Ware'''&amp;quot; auszuwählen, die man als Gegenleitung erhalten möchte und einen Werbe-Text, der das Schiff und die ggf. enthaltenen [[Waren]] (sofern vorhanden) anpreist.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das Schiff wird dannach automatisch Versteigerungsfertig gemacht, was bedeutet, daß die Eigentümerschaft (Es verschwindet aus Deiner [[Schiffsliste]]) und ggf. der [[Co-Pilot]] gekündigt wird und das Schiff auf Alarm &amp;quot;grün&amp;quot; umgeschaltet wird. Gleichzeitig taucht das Schiff in der Versteigerungsliste auf und wer möchte kann darauf bieten. Sollte sich jedoch bereits ein Schiff in der Versteigerung befinden, so kommt eine Meldung, daß nur ein Schiff gleichzeitig versteigert werden darf.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Achtung: Das Schiff wird jedoch noch, solange es nicht endgültig versteigert wurde, zu Deinem Schiffslimit dazu gerechnet. Sollte also das [[Schiffslimit]] erschöpft gewesen sein, so kannst Du auch nach der Abgabe des Schiffes beim [[Talaxianer]] noch kein neues Schiff bauen oder kaufen.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wie bereits weiter oben erwähnt, läuft die Versteigerung mindestens 3 Tage (Der entsprechende Counter beginnt bei '''15 [[Tick]]s''') ist nach dieser Zeit kein Gebot für das Schiff eingegen, wird die Auktion annulliert und das Schiff gehört wieder Dir (Zur Erinnerung; ohne [[Crew]] und angedockt an dem talaxianischen [[Versteigerungsposten]]). Sobald das erste Gebot auf das Schiff eingeht, beginnt ein 2. Counter herunter zu zählen, der anfangs noch '''1 Tag''' anzeigt. Bei jedem gültigen Gebot wird dieser Zähler wieder auf '''1 Tag''' zurückgesetzt und beginnt erneut in Stunden herunter zu zählen. Erst, wenn sowohl der &amp;quot;'''15 Ticks'''&amp;quot; - Zähler, als auch der &amp;quot;'''1 Tag'''&amp;quot;-Zähler komplett heruntergezählt haben, ist die Versteigerung beendet und des Schiff gehört automatisch dem lachenden (oder weinenden) Höchstbietenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der Erlös für das Schiff wird Dir abzüglich der Talaxianer-Handelssteuer von '''25%''' auf Dein [[Warenkonto]] gutgeschrieben und der Handel ist damit abgeschlossen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Versteigerungsposten]]&lt;br /&gt;
* [[Warenkonto]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Schiffe]]&lt;br /&gt;
[[Kategorie:Handel]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Schildturm</id>
		<title>Schildturm</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Schildturm"/>
				<updated>2009-09-09T18:44:33Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Menue}}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;float:right;margin-left:0.5em&amp;quot;&lt;br /&gt;
!| Schildturm&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | http://game2.stne.net/i/m/2/36/0.gif http://game2.stne.net/i/m/4/36/0.gif http://game2.stne.net/i/m/5/36/0.gif http://game2.stne.net/i/m/10/36/0.gif&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!|[[Untergrund]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Wiese]]&lt;br /&gt;
* [[Eis]]&lt;br /&gt;
* [[Wüste]]&lt;br /&gt;
* [[Gestein]]&lt;br /&gt;
|-&lt;br /&gt;
!|Notwendiges Kolo-Level&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8+&lt;br /&gt;
|-&lt;br /&gt;
!|Notwendige Forschung&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |[[Schild-Turm-Konstruktion]]&lt;br /&gt;
|-&lt;br /&gt;
!|Integrität&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 40/8&lt;br /&gt;
|-&lt;br /&gt;
!|Baukosten&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 10 [[Energie]]&lt;br /&gt;
* 20 [[Baumaterial]]&lt;br /&gt;
* 10 [[Duranium]]&lt;br /&gt;
|-&lt;br /&gt;
!|Effekt&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!|Dauerkosten&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 2 [[Energie]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!|Dauereffekt&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [3x3 [[Schilde|Planetar-Schild]]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!|Bauzeit&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2 [[Ticks|Runden]]&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der '''Schild-Turm''' spannt ein Schild über die umgebenden Gebäude. &lt;br /&gt;
Vor Verwendung muss das Schild aufgeladen werden. &lt;br /&gt;
&lt;br /&gt;
Der Maximal-Wert beträgt 3.000 abgefangene Schadens-Punkte.&lt;br /&gt;
Der '''Schild-Turm''' wird mit [[Plasma]] aufgeladen, man benötigt 1.000 Einheiten Plasma für 3.000 Einheiten Ladung im Turm, also bringt jede Einheit Plasma 3 Ladungspunkte im Turm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Reichweite des Schildes ist nur auf die direkt angrenzenden Gebäude beschränkt. &lt;br /&gt;
Das Schild schütz nicht vor Polaron-Explosionen und Massenvernichtungswaffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Funktion des '''Schildturms''' ist hier anhand von Beispielen beschrieben: [[Schildturm-Funktion]]&lt;br /&gt;
&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Schildturm-Funktion]]&lt;br /&gt;
* [[Gebäude]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Gebäude]]&lt;br /&gt;
[[Kategorie:zu erforschende Gebäude]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Frachter</id>
		<title>Frachter</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Frachter"/>
				<updated>2009-08-31T15:32:28Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Silverstar angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Schiffskategorienmenue}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| &lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Übersicht der Frachter im Vergleich:&lt;br /&gt;
|- &lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;10&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
 HINWEIS: Server abhängige Werte (bspw. Gondeln) im Format S1/S2/S3&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;Schiffsklasse&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Antares]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Whorfin]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Helios]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Antares B]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Moringi]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Calester]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Silverstar]]&amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/2.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/9.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/908.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/5.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/909.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://game.stne.net/i/s/903.gif &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; http://img.stne.net/s/924.gif &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Erzsammler &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Langstreckentr. &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Langstreckentr. &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Kurzstreckentr. &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Großtr. ohne Replikator &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Kurzstreckentr. &amp;amp;nbsp;&lt;br /&gt;
| class=&amp;quot;c&amp;quot; |&amp;amp;nbsp; Tiefenraumtr. &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! [[Hülle|Hüllenstärke]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 80&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 80&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 100&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 100&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 120&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 120&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 200&lt;br /&gt;
|-&lt;br /&gt;
! [[Panzerung|Panzerung]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
|-&lt;br /&gt;
! [[Schilde|Schildstärke]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 25&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 40&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 40&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 100&lt;br /&gt;
|-&lt;br /&gt;
![[Crew|max. Crew:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10 (5)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;10&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! [[Schiffs-EPS|EPS-Speicher:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 50&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 60&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 60&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 60&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 50&lt;br /&gt;
|-&lt;br /&gt;
! [[Reaktor|Reaktorleistung:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 8&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 7&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 16&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
! [[Flugkosten|Flugkosten]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
|-&lt;br /&gt;
! [[Gondeln|Flugreichweite]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 50&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 45/70/45&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 55/70/55&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 90&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 110&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 110&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 60&lt;br /&gt;
|-&lt;br /&gt;
! [[Schiffs-Warpkern|Warpkern]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (1000)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (1500)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (1500)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (1500)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (1000)&lt;br /&gt;
|-&lt;br /&gt;
! [[Antrieb|Warpantrieb]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;10&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! [[Cargo|Frachtraum:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 600&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 800&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1200&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1500&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2300&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2000&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 3000&lt;br /&gt;
|-&lt;br /&gt;
! [[Beamen|Beam-Kapazität:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 50&lt;br /&gt;
|-&lt;br /&gt;
! [[Schiffs-Replikator|Replikator:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;10&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! [[Phaser|Phaserstärke:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1x3 (6)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1x3 (8)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2x4 (16)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2x3 (8)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2x4 (16)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2x4 (16)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1x6 (20)&lt;br /&gt;
|-&lt;br /&gt;
! [[Torpedos|Torpedos:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10/5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10/5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 20/10 (x2)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 10/5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30/0&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 30/10 (x2)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 100/20&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;nc&amp;quot; colspan=&amp;quot;10&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! [[Schiffslimit|Slotanzahl:]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 1,5&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | 5&lt;br /&gt;
|-&lt;br /&gt;
![[:Kategorie:Creditschiffe|Creditschiff]]&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (300)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Nein&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (325)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (300)&lt;br /&gt;
| class=&amp;quot;c&amp;quot; | Ja (600)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;nbsp;Schiffsklasse&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Antares]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Whorfin]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Helios]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Antares B]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Moringi]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Calester]]&amp;amp;nbsp;&lt;br /&gt;
! &amp;amp;nbsp;[[Silverstar]]&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Siedlerschiffe]]&lt;br /&gt;
* [[Schiffsvergleich]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Frachtschiffe| Frachter]]&lt;br /&gt;
[[Kategorie:Schiffsvergleich]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Verbesserter_Replikator</id>
		<title>Verbesserter Replikator</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Verbesserter_Replikator"/>
				<updated>2009-07-28T11:13:42Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Ich hab das mal dazugeschrieben... wenn ich davon schon verwirrt wurde, gehts vielleicht anderen auch so.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
&amp;lt;b&amp;gt;Verbesserter Replikator&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;i&amp;gt;Dieser verbesserte Replikator kann genutzt werden um ältere Schiffstypen mit einem Replikator auszurüsten. Durch Weiterentwicklung hat dieses Gerät einen relativ geringen Wartungsbedarf.&amp;lt;/i&amp;gt;&amp;lt;hr size=1&amp;gt;&amp;lt;b&amp;gt;Fügt dem Schiff oder Station einen Replikator auf Kosten der Slots hinzu.&amp;lt;/b&amp;gt;&amp;lt;hr size=1&amp;gt;Item-ID: 97&amp;lt;br&amp;gt;Nach Installation dauerhaft aktiv&amp;lt;br&amp;gt;Installationskosten: 0,75 Slots&lt;br /&gt;
&lt;br /&gt;
Der Replikator kommt in einem Container, der 0,5 Slots einnimmt, solange der Replikator nicht in ein Schiff eingebaut wurde.&lt;br /&gt;
&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Mobiler Replikator]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Items]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Verbesserter_Replikator</id>
		<title>Verbesserter Replikator</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Verbesserter_Replikator"/>
				<updated>2009-07-28T11:04:12Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: soweit ich weiß laut Datenblatt nur 0.5 Slots.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
&amp;lt;b&amp;gt;Verbesserter Replikator&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;i&amp;gt;Dieser verbesserte Replikator kann genutzt werden um ältere Schiffstypen mit einem Replikator auszurüsten. Durch Weiterentwicklung hat dieses Gerät einen relativ geringen Wartungsbedarf.&amp;lt;/i&amp;gt;&amp;lt;hr size=1&amp;gt;&amp;lt;b&amp;gt;Fügt dem Schiff oder Station einen Replikator auf Kosten der Slots hinzu.&amp;lt;/b&amp;gt;&amp;lt;hr size=1&amp;gt;Item-ID: 97&amp;lt;br&amp;gt;Nach Installation dauerhaft aktiv&amp;lt;br&amp;gt;Installationskosten: 0,5 Slots&lt;br /&gt;
&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Mobiler Replikator]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Items]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel</id>
		<title>Vorlage:AktuellenScript-Artikel</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel"/>
				<updated>2009-02-20T21:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Scripting:Anfängerkurs|Anfängerkurs]] - Einführung in die Script-Engine&lt;br /&gt;
* [[Scripting:KolonieEnergie optimieren| KolonieEnergie optimieren]] - Solarsatelliten optimal ein/ausschalten&lt;br /&gt;
* [[Scripting:EigeneSchiffeIterieren|Eigene Schiffe iterieren]] - Script zum iterieren über alle eigenen Schiffe&lt;br /&gt;
* [[Scripting:FlottenIDErmitteln|Flotten ID ermitteln]] - Anleitung wie die ID einer Flotte ermittelt werden kann&lt;br /&gt;
* [[Scripting:Flotten_benennen|Flotten Benennen]] - Script zum Benennen von größeren Flotten&lt;br /&gt;
* [[Scripting:Deutsammeln%28flotte%29|Deutsammeln(flotte)]] - Script zum [[Deuterium]]-Sammeln mit einer Flotte&lt;br /&gt;
* [[Scripting:BinarySearch|BinarySearch]] - durchsucht sortierte Arrays nach einer Zahl&lt;br /&gt;
* [[Scripting:BubbleSort|BubbleSort]] - sortiert Zahlen-Arrays&lt;br /&gt;
* [[Scripting:FAQ|FAQ]] - beantwortet Fragen rund ums Scripten in STNE&lt;br /&gt;
* [[Scripting:Syntax|Syntax]] - kurze Syntax-Beschreibung&lt;br /&gt;
* [[Scripting:TestSkript0.11|TestSkript0.11]] - demonstriert die wesentlichen Funktionen&lt;br /&gt;
* [[Scripting:Duranium Extraktion|Duranium Extraktion]] - Script zur [[Duranium]] Gewinnung mittels [[Wrack-Extraktor]]&lt;br /&gt;
* [[Scripting:Energieausgleich|Energieausgleich]] - Script zum [[Energie]] ausgleich in einer Flotte&lt;br /&gt;
* [[Scripting:Torpedoausgleich|Torpedoausgleich]] - Script zum [[Torpedo]] ausgleichen in einer Flotte&lt;br /&gt;
* [[Scripting:MiniPortal|MiniPortal]] - Kleines Portal für die wichtigsten Funktionen&lt;br /&gt;
* [[Scripting:SchildPortal|SchildPortal]] - Kleines Portal mit dem man die Schilde über das Portal heben und senken kann&lt;br /&gt;
* [[Scripting:Lib_prettyprint|Library &amp;quot;PrettyPrint&amp;quot;]] - Hilfslibrary um IGM-artigen HTML-formatierten Text in Portalen leicht auszugeben.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint</id>
		<title>Scripting:Lib prettyprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint"/>
				<updated>2009-02-20T21:57:12Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Library &amp;quot;PrettyPrint&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Das Problem: ==&lt;br /&gt;
Die Script-Engine erlaubt einem einige echt komfortable und nette Dinge, aber irgendwann ist man an dem Punkt, wo Portale schön aussehen sollen.&lt;br /&gt;
An diesem Punkt wird man merken, dass man viele Verrenkungen machen muss, damit man Text fett bekommt oder andere Sachen damit machen kann.&lt;br /&gt;
&lt;br /&gt;
Diesem Problem habe ich nun hier Abhilfe geschaffen und die Library &amp;quot;PrettyPrint&amp;quot; eingeführt.&lt;br /&gt;
Diesen Haufen an Funktionen schiebt man einfach bei sich in das Portal und steuert es so an, wie ganz unten im Beispiel angegeben.&lt;br /&gt;
Nun kann man den Text, den man in die Funktion steckt schon fast so formatieren wie in einer IGM.&lt;br /&gt;
Folgende Tags funktionieren:&lt;br /&gt;
br, b, i, u, img, ul, li, small, font&lt;br /&gt;
&lt;br /&gt;
Es wird derzeit noch geplant, [Spieler:] und solche Kurztags einzubauen, sowieso &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;hyperlinks&amp;lt;/a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Library &amp;quot;PrettyPrint&amp;quot; ==&lt;br /&gt;
 #UseInterface Web;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   if(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart,text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
           &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index -7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(&amp;lt;nowiki&amp;gt;http://game.stne.net/t/1/s/li.gif&amp;lt;/nowiki&amp;gt;)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index-5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Var test As String = &amp;quot;hier ist ein &amp;lt;b&amp;gt;fetter&amp;lt;font color='red'&amp;gt; roter &amp;lt;/font&amp;gt;&amp;lt;u&amp;gt;unterstrichener&amp;lt;/u&amp;gt; &amp;lt;i&amp;gt;Testtext&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Response.Add(prettyPrint(test));&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint</id>
		<title>Scripting:Lib prettyprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint"/>
				<updated>2009-02-20T21:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Library &amp;quot;PrettyPrint&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Das Problem: ==&lt;br /&gt;
Die Script-Engine erlaubt einem einige echt komfortable und nette Dinge, aber irgendwann ist man an dem Punkt, wo Portale schön aussehen sollen.&lt;br /&gt;
An diesem Punkt wird man merken, dass man viele Verrenkungen machen muss, damit man Text fett bekommt oder andere Sachen damit machen kann.&lt;br /&gt;
&lt;br /&gt;
Diesem Problem habe ich nun hier Abhilfe geschaffen und die Library &amp;quot;PrettyPrint&amp;quot; eingeführt.&lt;br /&gt;
Diesen Haufen an Funktionen schiebt man einfach bei sich in das Portal und steuert es so an, wie ganz unten im Beispiel angegeben.&lt;br /&gt;
Nun kann man den Text, den man in die Funktion steckt schon fast so formatieren wie in einer IGM.&lt;br /&gt;
Folgende Tags funktionieren:&lt;br /&gt;
br, b, i, u, img, ul, li, small, font&lt;br /&gt;
&lt;br /&gt;
Es wird derzeit noch geplant, [Spieler:] und solche Kurztags einzubauen, sowieso &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;hyperlinks&amp;lt;/a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Library &amp;quot;PrettyPrint&amp;quot; ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt; #UseInterface Web;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   if(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart,text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
           &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index -7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(http://game.stne.net/t/1/s/li.gif)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index-5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Var test As String = &amp;quot;hier ist ein &amp;lt;b&amp;gt;fetter&amp;lt;font color='red'&amp;gt; roter &amp;lt;/font&amp;gt;&amp;lt;u&amp;gt;unterstrichener&amp;lt;/u&amp;gt; &amp;lt;i&amp;gt;Testtext&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
 Response.Add(prettyPrint(test));&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint</id>
		<title>Scripting:Lib prettyprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Lib_prettyprint"/>
				<updated>2009-02-20T21:55:55Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Das Problem: ==&lt;br /&gt;
Die Script-Engine erlaubt einem einige echt komfortable und nette Dinge, aber irgendwann ist man an dem Punkt, wo Portale schön aussehen sollen.&lt;br /&gt;
An diesem Punkt wird man merken, dass man viele Verrenkungen machen muss, damit man Text fett bekommt oder andere Sachen damit machen kann.&lt;br /&gt;
&lt;br /&gt;
Diesem Problem habe ich nun hier Abhilfe geschaffen und die Library &amp;quot;PrettyPrint&amp;quot; eingeführt.&lt;br /&gt;
Diesen Haufen an Funktionen schiebt man einfach bei sich in das Portal und steuert es so an, wie ganz unten im Beispiel angegeben.&lt;br /&gt;
Nun kann man den Text, den man in die Funktion steckt schon fast so formatieren wie in einer IGM.&lt;br /&gt;
Folgende Tags funktionieren:&lt;br /&gt;
br, b, i, u, img, ul, li, small, font&lt;br /&gt;
&lt;br /&gt;
Es wird derzeit noch geplant, [Spieler:] und solche Kurztags einzubauen, sowieso &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;hyperlinks&amp;lt;/a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Library &amp;quot;PrettyPrint&amp;quot; ==&lt;br /&gt;
 #UseInterface Web;&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * prettyPrint&lt;br /&gt;
  * Formatiert einen Text gemäß der in IGMs möglichen Funktionen&lt;br /&gt;
  * Gibt ein Objekt zurück, dass an das Response-Objekt gehangen werden kann.&lt;br /&gt;
  * Wichtig: hier wird nur valides XML-artiges zeug geparst!&lt;br /&gt;
  *          HTML-durcheinander-Verdreckungen werden mit Fehlermeldung beantwortet.&lt;br /&gt;
  */&lt;br /&gt;
 Function prettyPrint(text As String) As CHtmlControl {&lt;br /&gt;
   Var stack As New CObjectList(); // Stack für die Verschachtelung&lt;br /&gt;
   Var tmpObj As CObject; // Damit diese blöde Engine damit klar kommt.&lt;br /&gt;
   Var element As New Stackelement(); // Oberste Ebene definieren, macht die Schleife einfacher&lt;br /&gt;
   Var textStart As Integer = 0;&lt;br /&gt;
   Var nextTagAuf As Integer = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;); // Such den ersten HTML-Tag&lt;br /&gt;
   Var nextTagZu As Integer = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;); // Auch gleich die Position, wo es zu geht&lt;br /&gt;
   nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   While(nextTagAuf &amp;gt; 0) {&lt;br /&gt;
     If(textStart &amp;lt; nextTagAuf) {&lt;br /&gt;
       // Erstmal ist da Text, hinzufügen&lt;br /&gt;
       element.e.Add(text.Substring(textStart, nextTagAuf - textStart));&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Den Tag isolieren&lt;br /&gt;
     tag = text.Substring(nextTagAuf + 1, nextTagZu - nextTagAuf - 1); // &amp;lt;dies hier&amp;gt;&lt;br /&gt;
     If(String.Compare(tag, 0, &amp;quot;/&amp;quot;, 0, 1) = 0) { // Wenn das erste Zeichen innerhalb des Tags &amp;quot;/&amp;quot; ist --&amp;gt; Endtag&lt;br /&gt;
       // Wenn der Tag ein schließender Tag ist&lt;br /&gt;
       If(tag = element.tag) { // element.tag sieht schon gleich so aus: &amp;quot;/tag&amp;quot;&lt;br /&gt;
         tmpObj = stack.Item(stack.Count - 1);&lt;br /&gt;
         element = tmpObj;&lt;br /&gt;
         stack.RemoveAt(stack.Count - 1); // Letzten vom Stack poppen&lt;br /&gt;
       } Else {&lt;br /&gt;
         // Hier ist was kaputt im Quellcode&lt;br /&gt;
         element.e.Add(&amp;quot;[Fehler: schließender Tag &amp;quot; + element.tag + &amp;quot; erwartet, &amp;quot; + tag + &amp;quot;gefunden. Abbruch.]&amp;quot;);&lt;br /&gt;
         Exit While; // While verlassen&lt;br /&gt;
       }&lt;br /&gt;
     } Elseif(is_singleTag(tag)) {&lt;br /&gt;
       // Wenns ein BR oder dergl ist, ersetzen&lt;br /&gt;
       element.e.Add(replaceSingleTag(tag));&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Ist scheinbar ein umschließender Tag, also verarbeiten&lt;br /&gt;
       tmpObj = element;&lt;br /&gt;
       stack.Add(tmpObj); // Alten aktuellsten Tag auf den Stack schieben&lt;br /&gt;
       element = replaceTag(tag, element); // Baut ein neues Stackelement mit element und endtag&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     // Lege die neuen Limits fest&lt;br /&gt;
     textStart = nextTagZu + 1;&lt;br /&gt;
     nextTagAuf = text.IndexOf(&amp;quot;&amp;lt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagZu = text.IndexOf(&amp;quot;&amp;gt;&amp;quot;, textStart);&lt;br /&gt;
     nextTagAuf = Math.Min(nextTagAuf, nextTagZu); // Das Minimum der beiden ist -1, wenn etwas nicht gefunden wurde, sonst nextTagAuf&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Letzten Text hinzufügen&lt;br /&gt;
   if(textStart &amp;lt; text.Length) { // Wenn da noch Text ist&lt;br /&gt;
     element.e.Add(text.Substring(textStart,text.Length - textStart));&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return element.e; // oberste Ebene zurückgeben&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
           &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceTag&lt;br /&gt;
  * Bekommt einen Tag und entscheidet dann, was für Formatierungen usw. es daraus macht.&lt;br /&gt;
  * Gibt ein HTML-Objekt zurück, in das der Inhalt reingeschoben werden kann&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceTag(text As String, element As Stackelement) As Stackelement {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   Var tagType As String = text;&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   Var newHtmlPart As New CHtmlSpan(); // Neues Element, in dem weiterer Inhalt reinkommt.- Wird manchmal gebraucht&lt;br /&gt;
   element.e.Add(retHtmlPart);&lt;br /&gt;
   &lt;br /&gt;
   If(text.IndexOf(&amp;quot; &amp;quot;) &amp;gt; 0) { // Checken, ob der Tag Parameter hat&lt;br /&gt;
     tagType = text.Substring(0, text.IndexOf(&amp;quot; &amp;quot;));&lt;br /&gt;
     If(tagType = &amp;quot;font&amp;quot;) {&lt;br /&gt;
       Var firstquote_index As Integer = text.IndexOf(&amp;quot;color='&amp;quot;);&lt;br /&gt;
       Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 7);&lt;br /&gt;
       If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
         retHtmlPart.Style.Add('color', text.Substring(firstquote_index + 7, secondquote_index - firstquote_index -7));&lt;br /&gt;
       } Else {&lt;br /&gt;
         retHtmlPart.Add(&amp;quot;[Fehler: Konnte das Font-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   } Else { // Keine Parameter, erstmal diese Tags implementieren&lt;br /&gt;
     If(tagType = &amp;quot;b&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-weight', 'bold');&lt;br /&gt;
     } elseif(tagType = &amp;quot;u&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-decoration', 'underline');&lt;br /&gt;
     } elseif(tagType = &amp;quot;i&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-style', 'italic');&lt;br /&gt;
     } elseif(tagType = &amp;quot;small&amp;quot;) {&lt;br /&gt;
       retHtmlPart.Style.Add('font-size', 'smaller');&lt;br /&gt;
     } elseif(tagType = &amp;quot;ul&amp;quot;) { // Einen UL-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'block');&lt;br /&gt;
       retHtmlPart.Style.Add('margin', '13px 39px');&lt;br /&gt;
       retHtmlPart.Add(newHtmlPart);&lt;br /&gt;
       retHtmlPart = newHtmlPart; // Hier überschreiben, damit das neue Inhaltselement auch zurückgegeben wird.+&lt;br /&gt;
     } elseif(tagType = &amp;quot;li&amp;quot;) { // Einen LI-Tag simulieren, indem das SPAN drumherum manipuliert wird.&lt;br /&gt;
       retHtmlPart.Style.Add('display', 'list-item');&lt;br /&gt;
       retHtmlPart.Style.Add('list-style-image', 'url(http://game.stne.net/t/1/s/li.gif)');&lt;br /&gt;
     } Else {&lt;br /&gt;
       // Unbekannter Tag, gib Fehlermeldung aber nerv nicht weiter.&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: unbekannter Tag - &amp;quot; + tagType + &amp;quot; - ignoriert.]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   // Jetzt sollten auf dem retHtmlPart alle passenden Formatierungen usw. drauf sein. Gib mal zurück.&lt;br /&gt;
   Return New Stackelement(retHtmlPart, &amp;quot;/&amp;quot; + tagType);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * replaceSingleTag&lt;br /&gt;
  * Ersetzt Tags, die man nicht schließen muss direkt und gibt ein CHtmlControl zurück.&lt;br /&gt;
  */&lt;br /&gt;
 Function replaceSingleTag(text As String) As CHtmlControl {&lt;br /&gt;
   text = text.ToLower();&lt;br /&gt;
   text = text.Replace(&amp;quot;&amp;quot;&amp;quot;&amp;quot;, &amp;quot;'&amp;quot;); // Damit ich nur nach einer Sorte suchen muss&lt;br /&gt;
   Var retHtmlPart As New CHtmlSpan();&lt;br /&gt;
   &lt;br /&gt;
   If(text.StartsWith(&amp;quot;img&amp;quot;)) {&lt;br /&gt;
     Var firstquote_index As Integer = text.IndexOf(&amp;quot;src='&amp;quot;);&lt;br /&gt;
     Var secondquote_index As Integer = text.IndexOf(&amp;quot;'&amp;quot;, firstquote_index + 5);&lt;br /&gt;
     If(firstquote_index &amp;gt; 0 AND secondquote_index &amp;gt; 0) {&lt;br /&gt;
       Return New CHtmlImage(text.Substring(firstquote_index + 5, secondquote_index - firstquote_index-5));&lt;br /&gt;
     } Else {&lt;br /&gt;
       retHtmlPart.Add(&amp;quot;[Fehler: Konnte das IMG-Tag nicht korrekt Parsen. Quotes checken?]&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   } Elseif(text = &amp;quot;br&amp;quot;) {&lt;br /&gt;
     Return New CHtmlBreak();&lt;br /&gt;
   } Else {&lt;br /&gt;
     retHtmlPart.Add(&amp;quot;[Fehler: Unbekanntes Tag - &amp;quot; + text + &amp;quot; ]&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Return retHtmlPart;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
  * is_singleTag&lt;br /&gt;
  * Checkt, ob ein Tag mit einem als single-Tag bekannten Tag anfängt.&lt;br /&gt;
  */&lt;br /&gt;
 Var singleTags[] As String = {&amp;quot;br&amp;quot;, &amp;quot;img&amp;quot;}; // Enthält alle einfachen Tags, die keine Ebenen aufspannen&lt;br /&gt;
 Function is_singleTag(text As String) As Boolean {&lt;br /&gt;
   Var walkstring As String;&lt;br /&gt;
   For(Each walkstring In singleTags) {&lt;br /&gt;
     If(String.Compare(walkstring, 0, text, 0, walkstring.Length) = 0) {&lt;br /&gt;
       Return true;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   Return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* Ist eine komplexe Datenstruktur, damit mehr als ein Ding aufm Stack liegen kann */&lt;br /&gt;
 Class Stackelement {&lt;br /&gt;
   Var e As CHtmlControl;&lt;br /&gt;
   Var tag As String;&lt;br /&gt;
   &lt;br /&gt;
   Function New() {&lt;br /&gt;
     This.e = New CHtmlControl();&lt;br /&gt;
     This.tag = &amp;quot;/none&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   Function New(e As CHtmlControl, tag As String) {&lt;br /&gt;
     This.e = e;&lt;br /&gt;
     This.tag = tag;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Var test As String = &amp;quot;hier ist ein &amp;lt;b&amp;gt;fetter&amp;lt;font color='red'&amp;gt; roter &amp;lt;/font&amp;gt;&amp;lt;u&amp;gt;unterstrichener&amp;lt;/u&amp;gt; &amp;lt;i&amp;gt;Testtext&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Response.Add(prettyPrint(test));&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Reaktor</id>
		<title>Reaktor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Reaktor"/>
				<updated>2008-06-10T21:21:56Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
Der '''Reaktor''' ist der konventionelle [[Energie]]-Lieferant von Schiffen. Es existieren jedoch auch Reaktoren, für den planetaren Einsatz - diese heißen dann [[Fusionsreaktor]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' wird ebenso wie der [[Fusionsreaktor]] mit [[Deuterium]] betrieben und erzeugt aus 1 [[Deuterium]] 1 [[Energie]]. Im Gegensatz zum [[Fusionsreaktor]] kann dieser jedoch auch das höher konzentrierte [[Plasma]] als Treibstoff verwenden. Dies geschieht indem das [[Plasma]] vor der Energieumwandlung in [[Deuterium]] umgewandelt wird. Dabei entstehen aus 1 [[Plasma]] 3 [[Deuterium]]. Das nicht verwendete Deuterium verbleibt im [[Cargo|Lagerraum]] des Schiffes für spätere Verwendung. Da der [[Reaktor]] erst das vorhandene [[Deuterium]] verbraucht und erst anschließend das [[Plasma]] verwendet, wird es bei der nächsten Energie-Gewinnung ([[Tick]]) verbraucht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' arbeitet nur mit der kompletten [[BasisCrew]] (auf Server 1 immer 5) bzw. Maximalcrew optimal. Das bedeutet, daß er bei weniger Crew als der [[BasisCrew]] bzw. der maximalen [[Crew]] nur ein x-tel der [[Reaktorstärke]] an [[Energie]] produziert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes bemannte Schiff besitzt einen konventionellen [[Reaktor]]. Dies gilt auch, wenn alternativ ein [[Schiffs-Warpkern]] vorhanden ist. In diesem Fall ist die [[Reaktorstärke]] bei abgeschalteten [[Schiffs-Warpkern|Warpkern]] nur 75% (abgerundet) der Leistung betragen als bei Verwendung von Warp-Energie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz dazu addiert sich die Energie von [[Solarkollektoren]] zu der Reaktor-Energie hinzu, sofern das Schiff über einem [[Planeten]] mit [[Orbit-Sonneneinstrahlung]] schwebt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Welches Schiff welche [[Reaktorstärke]] besitzt kannst Du der [[Siedlerschiffe|Schiffs-Übersicht]] entnehmen. Warpschiffe sind mit &amp;quot;'''{}'''&amp;quot; gekennzeichnet. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Schiffs-Warpkern]]&lt;br /&gt;
* [[Solarkollektoren]]&lt;br /&gt;
* [[Deuterium]]&lt;br /&gt;
* [[Plasma]]&lt;br /&gt;
* [[Reaktorstärke]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Kurzerklärung]]&lt;br /&gt;
[[Kategorie:Schiffsfunktionen]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Reaktor</id>
		<title>Reaktor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Reaktor"/>
				<updated>2008-06-10T21:19:26Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
Der '''Reaktor''' ist der konventionelle [[Energie]]-Lieferant von Schiffen. Es existieren jedoch auch Reaktoren, für den planetaren Einsatz - diese heißen dann [[Fusionsreaktor]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' wird ebenso wie der [[Fusionsreaktor]] mit [[Deuterium]] betrieben und erzeugt aus 1 [[Deuterium]] 1 [[Energie]]. Im Gegensatz zum [[Fusionsreaktor]] kann dieser jedoch auch das höher konzentrierte [[Plasma]] als Treibstoff verwenden. Dies geschieht indem das [[Plasma]] vor der Energieumwandlung in [[Deuterium]] umgewandelt wird. Dabei entstehen aus 1 [[Plasma]] 3 [[Deuterium]]. Das nicht verwendete Deuterium verbleibt im [[Cargo|Lagerraum]] des Schiffes für spätere Verwendung. Da der [[Reaktor]] erst das vorhandene [[Deuterium]] verbraucht und erst anschließend das [[Plasma]] verwendet, wird es bei der nächsten Energie-Gewinnung ([[Tick]]) verbraucht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' arbeitet nur mit der kompletten [[BasisCrew]] (bzw. 5 [[Crew]], wenn keine andere Angabe vorliegt) optimal. Das bedeutet, daß er bei weniger als 5 Mann Besatzung bzw. der maximalen [[Crew]] nur ein x-tel der [[Reaktorstärke]] an [[Energie]] produziert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes bemannte Schiff besitzt einen konventionellen [[Reaktor]]. Dies gilt auch, wenn alternativ ein [[Schiffs-Warpkern]] vorhanden ist. In diesem Fall ist die [[Reaktorstärke]] bei abgeschalteten [[Schiffs-Warpkern|Warpkern]] nur 75% (abgerundet) der Leistung betragen als bei Verwendung von Warp-Energie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz dazu addiert sich die Energie von [[Solarkollektoren]] zu der Reaktor-Energie hinzu, sofern das Schiff über einem [[Planeten]] mit [[Orbit-Sonneneinstrahlung]] schwebt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Welches Schiff welche [[Reaktorstärke]] besitzt kannst Du der [[Siedlerschiffe|Schiffs-Übersicht]] entnehmen. Warpschiffe sind mit &amp;quot;'''{}'''&amp;quot; gekennzeichnet. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Schiffs-Warpkern]]&lt;br /&gt;
* [[Solarkollektoren]]&lt;br /&gt;
* [[Deuterium]]&lt;br /&gt;
* [[Plasma]]&lt;br /&gt;
* [[Reaktorstärke]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Kurzerklärung]]&lt;br /&gt;
[[Kategorie:Schiffsfunktionen]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Reaktor</id>
		<title>Reaktor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Reaktor"/>
				<updated>2008-06-10T21:19:10Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
Der '''Reaktor''' ist der konventionelle [[Energie]]-Lieferant von Schiffen. Es existieren jedoch auch Reaktoren, für den planetaren Einsatz - diese heißen dann [[Fusionsreaktor]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' wird ebenso wie der [[Fusionsreaktor]] mit [[Deuterium]] betrieben und erzeugt aus 1 [[Deuterium]] 1 [[Energie]]. Im Gegensatz zum [[Fusionsreaktor]] kann dieser jedoch auch das höher konzentrierte [[Plasma]] als Treibstoff verwenden. Dies geschieht indem das [[Plasma]] vor der Energieumwandlung in [[Deuterium]] umgewandelt wird. Dabei entstehen aus 1 [[Plasma]] 3 [[Deuterium]]. Das nicht verwendete Deuterium verbleibt im [[Cargo|Lagerraum]] des Schiffes für spätere Verwendung. Da der [[Reaktor]] erst das vorhandene [[Deuterium]] verbraucht und erst anschließend das [[Plasma]] verwendet, wird es bei der nächsten Energie-Gewinnung ([[Tick]]) verbraucht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' arbeitet nur mit der kompletten [[BasisCrew]] (bzw. 5 [[Crew]], wenn keine andere Angabe gemacht ist) optimal. Das bedeutet, daß er bei weniger als 5 Mann Besatzung bzw. der maximalen [[Crew]] nur ein x-tel der [[Reaktorstärke]] an [[Energie]] produziert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes bemannte Schiff besitzt einen konventionellen [[Reaktor]]. Dies gilt auch, wenn alternativ ein [[Schiffs-Warpkern]] vorhanden ist. In diesem Fall ist die [[Reaktorstärke]] bei abgeschalteten [[Schiffs-Warpkern|Warpkern]] nur 75% (abgerundet) der Leistung betragen als bei Verwendung von Warp-Energie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz dazu addiert sich die Energie von [[Solarkollektoren]] zu der Reaktor-Energie hinzu, sofern das Schiff über einem [[Planeten]] mit [[Orbit-Sonneneinstrahlung]] schwebt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Welches Schiff welche [[Reaktorstärke]] besitzt kannst Du der [[Siedlerschiffe|Schiffs-Übersicht]] entnehmen. Warpschiffe sind mit &amp;quot;'''{}'''&amp;quot; gekennzeichnet. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Schiffs-Warpkern]]&lt;br /&gt;
* [[Solarkollektoren]]&lt;br /&gt;
* [[Deuterium]]&lt;br /&gt;
* [[Plasma]]&lt;br /&gt;
* [[Reaktorstärke]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Kurzerklärung]]&lt;br /&gt;
[[Kategorie:Schiffsfunktionen]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Reaktor</id>
		<title>Reaktor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Reaktor"/>
				<updated>2008-06-10T21:15:12Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menue}}&lt;br /&gt;
Der '''Reaktor''' ist der konventionelle [[Energie]]-Lieferant von Schiffen. Es existieren jedoch auch Reaktoren, für den planetaren Einsatz - diese heißen dann [[Fusionsreaktor]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' wird ebenso wie der [[Fusionsreaktor]] mit [[Deuterium]] betrieben und erzeugt aus 1 [[Deuterium]] 1 [[Energie]]. Im Gegensatz zum [[Fusionsreaktor]] kann dieser jedoch auch das höher konzentrierte [[Plasma]] als Treibstoff verwenden. Dies geschieht indem das [[Plasma]] vor der Energieumwandlung in [[Deuterium]] umgewandelt wird. Dabei entstehen aus 1 [[Plasma]] 3 [[Deuterium]]. Das nicht verwendete Deuterium verbleibt im [[Cargo|Lagerraum]] des Schiffes für spätere Verwendung. Da der [[Reaktor]] erst das vorhandene [[Deuterium]] verbraucht und erst anschließend das [[Plasma]] verwendet, wird es bei der nächsten Energie-Gewinnung ([[Tick]]) verbraucht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der '''Schiffs-Reaktor''' arbeitet nur mit der kompletten [[Crew]] (bzw. maximal 5 [[Crew]]) optimal. Das bedeutet, daß er bei weniger als 5 Mann Besatzung bzw. der maximalen [[Crew]] nur ein x-tel der [[Reaktorstärke]] an [[Energie]] produziert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes bemannte Schiff besitzt einen konventionellen [[Reaktor]]. Dies gilt auch, wenn alternativ ein [[Schiffs-Warpkern]] vorhanden ist. In diesem Fall ist die [[Reaktorstärke]] bei abgeschalteten [[Schiffs-Warpkern|Warpkern]] nur 75% (abgerundet) der Leistung betragen als bei Verwendung von Warp-Energie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz dazu addiert sich die Energie von [[Solarkollektoren]] zu der Reaktor-Energie hinzu, sofern das Schiff über einem [[Planeten]] mit [[Orbit-Sonneneinstrahlung]] schwebt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Welches Schiff welche [[Reaktorstärke]] besitzt kannst Du der [[Siedlerschiffe|Schiffs-Übersicht]] entnehmen. Warpschiffe sind mit &amp;quot;'''{}'''&amp;quot; gekennzeichnet. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{seealso}}&lt;br /&gt;
* [[Schiffs-Warpkern]]&lt;br /&gt;
* [[Solarkollektoren]]&lt;br /&gt;
* [[Deuterium]]&lt;br /&gt;
* [[Plasma]]&lt;br /&gt;
* [[Reaktorstärke]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Kategorie:Kurzerklärung]]&lt;br /&gt;
[[Kategorie:Schiffsfunktionen]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen</id>
		<title>Scripting:Portale einbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen"/>
				<updated>2008-05-10T07:03:35Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einbauen eines Portalscripts (Am Beispiel eines Schiffsportals)&lt;br /&gt;
&lt;br /&gt;
Zuerst muss der Script in STNE eingefügt werden, so dass man im Weiteren darauf zugreifen kann.&lt;br /&gt;
Nacheinander bitte durch das Menü hangeln mit folgenden Buttons:&lt;br /&gt;
''Hilfe (im Hauptmenü)'' --&amp;gt; ''Scripting'' --&amp;gt; ''Scripteditor'' --&amp;gt; ''Neues Script anlegen''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut auswahl.png]]&lt;br /&gt;
&lt;br /&gt;
In der Ansicht wählt man den Typ des Scripts aus. Wir wählen &amp;quot;Benutzerdefiniertes Script ohne Eingabeassistent&amp;quot;, da so keine Vorgaben gemacht werden und alle Scripttypen damit möglich sind.&lt;br /&gt;
Dann erstellt man den Script mit einem Klick auf den Button.&lt;br /&gt;
&lt;br /&gt;
In der Ansicht, die daraufhin erscheint, wählt man ''Quelltext bearbeiten'' und kann endlich Code einfügen oder selber schreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptfenster.png]]&lt;br /&gt;
&lt;br /&gt;
Hier ist ein wenig Testcode eingefügt, wie man Scripts schreibt, erkläre ich an dieser Stelle nicht.&lt;br /&gt;
Wichtig an dieser Seite: Immer '''entweder''' den Namen ändern, '''oder''' am Script schreiben und speichern. Falls ihr Script ändert und dann auf den Button klickt, der den Namen speichert, sind eure Änderungen verloren, analog beim Namen und dem ''Speichern''-Button.&lt;br /&gt;
Bei '#UseInterfaces' kann man auch sehen, ob der Script für eine Kolonie oder eine Station / Schiff gedacht ist. ColoniePortal steht für eine Kolonie, ShipPortal für ein Schiff.&lt;br /&gt;
Wenn alles eingefügt und umbenannt und auf ''Speichern'' gedrückt wurde (und hoffentlich keine Fehlermeldung kam), ist dieser Teil schon fertig.&lt;br /&gt;
&lt;br /&gt;
Jetzt muss das Script an seinem Zielort platziert werden, von dem aus man es im Spiel aktivieren können soll.&lt;br /&gt;
Dazu wählt ihr eure Station oder das Schiff (oder aber auch den Planeten, wobei das mit diesem Scriptbeispiel nicht funktioniert) aus und klickt ganz unten ''Portal einrichten'' --&amp;gt; ''Portal einrichten'' --&amp;gt; ''Web-Script auswählen''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Dort auf das Icon neben dem Script klicken, den ihr verwenden wollt. Es werden nur Scripts eingeblendet, die auch passen (also Kolonieportale werden bei Schiffen nicht eingeblendet). Falls euer Script dort nicht auftaucht, hat der Script die falschen #UseInterfaces gesetzt oder ihr seid auf einem Schiff statt Planet oder andersherum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut script einstellen.png]]&lt;br /&gt;
&lt;br /&gt;
Jetzt schreibt man noch etwas in das Feld, was angezeigt werden soll, wenn man mit der Maus über den ''Portal betreten''-Button hovert. Der Harken aktiviert das ganze und nach einem klick auf ''Speichern'' sind wir fertig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut fertig.png]]&lt;br /&gt;
&lt;br /&gt;
War doch einfach, oder? FSE_Faldrian wünscht viel Spaß beim Benutzen von Portalscripts!&lt;br /&gt;
[[Kategorie:Scripting]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel</id>
		<title>Vorlage:AktuellenScript-Artikel</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel"/>
				<updated>2008-05-02T20:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Scripting:Anfängerkurs|Anfängerkurs]] - Einführung in die Script-Engine&lt;br /&gt;
* [[Scripting:KolonieEnergie optimieren| KolonieEnergie optimieren]] - Solarsatelliten optimal ein/ausschalten&lt;br /&gt;
* [[Scripting:EigeneSchiffeIterieren|Eigene Schiffe iterieren]] - Script zum iterieren über alle eigenen Schiffe&lt;br /&gt;
* [[Scripting:FlottenIDErmitteln|Flotten ID ermitteln]] - Anleitung wie die ID einer Flotte ermittelt werden kann&lt;br /&gt;
* [[Scripting:Flotten_benennen|Flotten Benennen]] - Script zum Benennen von größeren Flotten&lt;br /&gt;
* [[Scripting:Deutsammeln%28flotte%29|Deutsammeln(flotte)]] - Script zum [[Deuterium]]-Sammeln mit einer Flotte&lt;br /&gt;
* [[Scripting:BinarySearch|BinarySearch]] - durchsucht sortierte Arrays nach einer Zahl&lt;br /&gt;
* [[Scripting:BubbleSort|BubbleSort]] - sortiert Zahlen-Arrays&lt;br /&gt;
* [[Scripting:FAQ|FAQ]] - beantwortet Fragen rund ums Scripten in STNE&lt;br /&gt;
* [[Scripting:Syntax|Syntax]] - kurze Syntax-Beschreibung&lt;br /&gt;
* [[Scripting:TestSkript0.11|TestSkript0.11]] - demonstriert die wesentlichen Funktionen&lt;br /&gt;
* [[Scripting:Duranium Extraktion|Duranium Extraktion]] - Script zur [[Duranium]] Gewinnung mittels [[Wrack-Extraktor]]&lt;br /&gt;
* [[Scripting:Energieausgleich|Energieausgleich]] - Script zum [[Energie]] ausgleich in einer Flotte&lt;br /&gt;
* [[Scripting:Torpedoausgleich|Torpedoausgleich]] - Script zum [[Torpedo]] ausgleichen in einer Flotte&lt;br /&gt;
* [[Scripting:MiniPortal|MiniPortal]] - Kleines Portal für die wichtigsten Funktionen&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:MiniPortal</id>
		<title>Scripting:MiniPortal</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:MiniPortal"/>
				<updated>2008-05-02T20:45:03Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Script erschafft ein kleines Portal, das maximum Reparieren/Energie/Reserve/Plasmatorpedos/Quantentorpedos auf eine auswählbare Menge von Schiffen beamen kann.&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration ist einfach, zwei Beispiele sind angegeben im Code, es sollte recht selbsterklärend sein.&lt;br /&gt;
Standardmäßig ist nichts erlaubt, trifft aber eine der Bedingungen zu, werden Berechtigungen gesetzt.&lt;br /&gt;
Einfach für jede Berechtigung, die du neu anlegen willst, den entsprechenden Block kopieren und die Werte ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// -------------------------------------------------------------------------&lt;br /&gt;
// &amp;quot;DIE BEER-WARE LIZENZ&amp;quot; (STNE-Version):&lt;br /&gt;
// FSE_Faldrian hat diesen Script geschrieben. Sofern du diesen Hinweis nicht&lt;br /&gt;
// veränderst, kannst du mit dem Script machen was du willst. Sollten wir mal&lt;br /&gt;
// aufeinander treffen und du denkst, dieser Script hat dir was gebracht,&lt;br /&gt;
// kannst du mir ein Bier ausgeben. Gruß, FSE_Faldrian&lt;br /&gt;
// --------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#UseInterface Web, ShipPortal;&lt;br /&gt;
&lt;br /&gt;
// Benutzerberechtigungen festlegen&lt;br /&gt;
Var validUser As Boolean = False;&lt;br /&gt;
Var darfTorpedos As Boolean = False;&lt;br /&gt;
&lt;br /&gt;
If(GuestUser.UserID = 36705) { // Mich erlauben&lt;br /&gt;
  validUser = True;&lt;br /&gt;
  darfTorpedos = true;&lt;br /&gt;
}&lt;br /&gt;
If(GuestUser.AllianzID = 742) { // FWD erlauben - Darf keine Torpedos&lt;br /&gt;
  validUser = True;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
If(validUser) {&lt;br /&gt;
  arbeite();&lt;br /&gt;
} Else {&lt;br /&gt;
  println(&amp;quot;Moin moin!&amp;quot;); // &amp;lt;-- Text, der unauthorisierten Benutzern ausgegeben wird&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function println(text As String) {&lt;br /&gt;
  Response.Add(text);&lt;br /&gt;
  Response.Add(New CHtmlBreak());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Hier wird die richtige Ansicht generiert&lt;br /&gt;
Function arbeite() {&lt;br /&gt;
  Var Kolonie As New CMyKolonie(MyShip.MapPosition.X, MyShip.MapPosition.Y);&lt;br /&gt;
  &lt;br /&gt;
  // Wenn etwas submitted wurde, den Request bearbeiten&lt;br /&gt;
  // Die Request.Form.Item(&amp;quot;schiffe&amp;quot;) enthält einen String mit einer Komma-separierten Liste der ausgewählten Item-Keys&lt;br /&gt;
  &lt;br /&gt;
  If(Request.Form.ContainsKey('schiffe')) {&lt;br /&gt;
    Var SchiffListe As String = Request.Form.Item(&amp;quot;schiffe&amp;quot;);&lt;br /&gt;
    While(SchiffListe.IndexOf(&amp;quot;,&amp;quot;) &amp;gt; - 1) {&lt;br /&gt;
      action(Integer.Parse(SchiffListe.Substring(0, SchiffListe.IndexOf(&amp;quot;,&amp;quot;))), Kolonie);&lt;br /&gt;
      SchiffListe = SchiffListe.Substring(SchiffListe.IndexOf(&amp;quot;,&amp;quot;) + 1);&lt;br /&gt;
    }&lt;br /&gt;
    action(Integer.Parse(SchiffListe), Kolonie); // Letztes Schiff auch bearbeiten&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // Formular öffnen&lt;br /&gt;
  Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
  Response.Add(form);&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  &lt;br /&gt;
  // Liste der Schiffe zusammenstellen&lt;br /&gt;
  Var kasten As New CHtmlListBox(&amp;quot;schiffe&amp;quot;);&lt;br /&gt;
  kasten.Multiple = true;&lt;br /&gt;
  kasten.RowCount = 15;&lt;br /&gt;
  &lt;br /&gt;
  Var schiffe As IEnumerator;&lt;br /&gt;
  Var schiff As CShip;&lt;br /&gt;
  &lt;br /&gt;
  schiffe = Kolonie.SRS.GetEnumerator();&lt;br /&gt;
  While(schiffe.MoveNext()) {&lt;br /&gt;
    schiff = schiffe.Current;&lt;br /&gt;
    If(schiff.UserID = GuestUser.UserID) {&lt;br /&gt;
      kasten.Add(schiff.Name &amp;amp; &amp;quot; (&amp;quot; &amp;amp; schiff.ShipID &amp;amp; &amp;quot;)&amp;quot;, schiff.ShipID);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  form.Add(kasten);&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // Buttons druntertun&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;Reserveenergie maximal aufladen!&amp;quot;, &amp;quot;Aufladen&amp;quot;));&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;EPS vollmachen!&amp;quot;, &amp;quot;Energie&amp;quot;));&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;Reparieren!&amp;quot;, &amp;quot;Reparatur&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  If(darfTorpedos) {&lt;br /&gt;
    form.Add(New CHtmlSubmitButton(&amp;quot;Max mögl. Plasmatorpedos hochbeamen&amp;quot;, &amp;quot;Plasmatorp&amp;quot;));&lt;br /&gt;
    form.Add(New CHtmlSubmitButton(&amp;quot;Max mögl. Quantentorpedos hochbeamen&amp;quot;, &amp;quot;Quantentorp&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function action(schiffId As Integer, Kolonie As CMyKolonie) {&lt;br /&gt;
  If(Request.Form.ContainsKey('Aufladen')) {&lt;br /&gt;
    Kolonie.Aktion.Werft_ReserveBatterieAufladen(schiffId, 60);&lt;br /&gt;
    println(&amp;quot;Reserve wurde versucht aufzuladen. --&amp;gt; &amp;quot; &amp;amp; schiffId));&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Energie')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 60, EBeamRessource.Energie);&lt;br /&gt;
    println(&amp;quot;Energie wurde versucht zuzusenden. --&amp;gt; &amp;quot; &amp;amp; schiffId));&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Reparatur')) {&lt;br /&gt;
    Kolonie.Aktion.Werft_Reparieren(schiffId, 200); // 200 so als maximalwert... irgendwas großes eben&lt;br /&gt;
    println(&amp;quot;Schiff wurde versucht zu reparieren. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Plasmatorp')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 80, EBeamRessource.PlasmaTorpedos);&lt;br /&gt;
    println(&amp;quot;Plasmatorpedos wurden versucht hochzubeamen. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Quantentorp')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 80, EBeamRessource.QuantenTorpedos);&lt;br /&gt;
    println(&amp;quot;Quantentorpedos wurden versucht hochzubeamen. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Kategorie:Scripting]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:MiniPortal</id>
		<title>Scripting:MiniPortal</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:MiniPortal"/>
				<updated>2008-05-02T20:44:13Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Script erschafft ein kleines Portal, das maximum Reparieren/Energie/Reserve/Plasmatorpedos/Quantentorpedos auf eine auswählbare Menge von Schiffen beamen kann.&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration ist einfach, zwei Beispiele sind angegeben im Code, es sollte recht selbsterklärend sein.&lt;br /&gt;
Standardmäßig ist nichts erlaubt, trifft aber eine der Bedingungen zu, werden Berechtigungen gesetzt.&lt;br /&gt;
Einfach für jede Berechtigung, die du neu anlegen willst, den entsprechenden Block kopieren und die Werte ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// -------------------------------------------------------------------------&lt;br /&gt;
// &amp;quot;DIE BEER-WARE LIZENZ&amp;quot; (STNE-Version):&lt;br /&gt;
// FSE_Faldrian hat diesen Script geschrieben. Sofern du diesen Hinweis nicht&lt;br /&gt;
// veränderst, kannst du mit dem Script machen was du willst. Sollten wir mal&lt;br /&gt;
// aufeinander treffen und du denkst, dieser Script hat dir was gebracht,&lt;br /&gt;
// kannst du mir ein Bier ausgeben. Gruß, FSE_Faldrian&lt;br /&gt;
// --------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#UseInterface Web, ShipPortal;&lt;br /&gt;
&lt;br /&gt;
// Benutzerberechtigungen festlegen&lt;br /&gt;
Var validUser As Boolean = False;&lt;br /&gt;
Var darfTorpedos As Boolean = False;&lt;br /&gt;
&lt;br /&gt;
If(GuestUser.UserID = 36705) { // Mich erlauben&lt;br /&gt;
  validUser = True;&lt;br /&gt;
  darfTorpedos = true;&lt;br /&gt;
}&lt;br /&gt;
If(GuestUser.AllianzID = 742) { // FWD erlauben - Darf keine Torpedos&lt;br /&gt;
  validUser = True;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
If(validUser) {&lt;br /&gt;
  arbeite();&lt;br /&gt;
} Else {&lt;br /&gt;
  println(&amp;quot;Moin moin!&amp;quot;); // &amp;lt;-- Text, der unauthorisierten Benutzern ausgegeben wird&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function println(text As String) {&lt;br /&gt;
  Response.Add(text);&lt;br /&gt;
  Response.Add(New CHtmlBreak());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Hier wird die richtige Ansicht generiert&lt;br /&gt;
Function arbeite() {&lt;br /&gt;
  Var Kolonie As New CMyKolonie(MyShip.MapPosition.X, MyShip.MapPosition.Y);&lt;br /&gt;
  &lt;br /&gt;
  // Wenn etwas submitted wurde, den Request bearbeiten&lt;br /&gt;
  // Die Request.Form.Item(&amp;quot;schiffe&amp;quot;) enthält einen String mit einer Komma-separierten Liste der ausgewählten Item-Keys&lt;br /&gt;
  &lt;br /&gt;
  If(Request.Form.ContainsKey('schiffe')) {&lt;br /&gt;
    Var SchiffListe As String = Request.Form.Item(&amp;quot;schiffe&amp;quot;);&lt;br /&gt;
    While(SchiffListe.IndexOf(&amp;quot;,&amp;quot;) &amp;gt; - 1) {&lt;br /&gt;
      action(Integer.Parse(SchiffListe.Substring(0, SchiffListe.IndexOf(&amp;quot;,&amp;quot;))), Kolonie);&lt;br /&gt;
      SchiffListe = SchiffListe.Substring(SchiffListe.IndexOf(&amp;quot;,&amp;quot;) + 1);&lt;br /&gt;
    }&lt;br /&gt;
    action(Integer.Parse(SchiffListe), Kolonie); // Letztes Schiff auch bearbeiten&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // Formular öffnen&lt;br /&gt;
  Var form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
  Response.Add(form);&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  &lt;br /&gt;
  // Liste der Schiffe zusammenstellen&lt;br /&gt;
  Var kasten As New CHtmlListBox(&amp;quot;schiffe&amp;quot;);&lt;br /&gt;
  kasten.Multiple = true;&lt;br /&gt;
  kasten.RowCount = 15;&lt;br /&gt;
  &lt;br /&gt;
  Var schiffe As IEnumerator;&lt;br /&gt;
  Var schiff As CShip;&lt;br /&gt;
  &lt;br /&gt;
  schiffe = Kolonie.SRS.GetEnumerator();&lt;br /&gt;
  While(schiffe.MoveNext()) {&lt;br /&gt;
    schiff = schiffe.Current;&lt;br /&gt;
    If(schiff.UserID = GuestUser.UserID) {&lt;br /&gt;
      kasten.Add(schiff.Name &amp;amp; &amp;quot; (&amp;quot; &amp;amp; schiff.ShipID &amp;amp; &amp;quot;)&amp;quot;, schiff.ShipID);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  form.Add(kasten);&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  form.Add(New CHtmlBreak());&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // Buttons druntertun&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;Reserveenergie maximal aufladen!&amp;quot;, &amp;quot;Aufladen&amp;quot;));&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;EPS vollmachen!&amp;quot;, &amp;quot;Energie&amp;quot;));&lt;br /&gt;
  form.Add(New CHtmlSubmitButton(&amp;quot;Reparieren!&amp;quot;, &amp;quot;Reparatur&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  If(darfTorpedos) {&lt;br /&gt;
    form.Add(New CHtmlSubmitButton(&amp;quot;Max mögl. Plasmatorpedos hochbeamen&amp;quot;, &amp;quot;Plasmatorp&amp;quot;));&lt;br /&gt;
    form.Add(New CHtmlSubmitButton(&amp;quot;Max mögl. Quantentorpedos hochbeamen&amp;quot;, &amp;quot;Quantentorp&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function action(schiffId As Integer, Kolonie As CMyKolonie) {&lt;br /&gt;
  If(Request.Form.ContainsKey('Aufladen')) {&lt;br /&gt;
    Kolonie.Aktion.Werft_ReserveBatterieAufladen(schiffId, 60);&lt;br /&gt;
    println(&amp;quot;Reserve wurde versucht aufzuladen. --&amp;gt; &amp;quot; &amp;amp; schiffId));&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Energie')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 60, EBeamRessource.Energie);&lt;br /&gt;
    println(&amp;quot;Energie wurde versucht zuzusenden. --&amp;gt; &amp;quot; &amp;amp; schiffId));&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Reparatur')) {&lt;br /&gt;
    Kolonie.Aktion.Werft_Reparieren(schiffId, 200); // 200 so als maximalwert... irgendwas großes eben&lt;br /&gt;
    println(&amp;quot;Schiff wurde versucht zu reparieren. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Plasmatorp')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 80, EBeamRessource.PlasmaTorpedos);&lt;br /&gt;
    println(&amp;quot;Plasmatorpedos wurden versucht hochzubeamen. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
  If(Request.Form.ContainsKey('Quantentorp')) {&lt;br /&gt;
    Kolonie.Aktion.TransferiereZuSchiff(schiffId, 80, EBeamRessource.QuantenTorpedos);&lt;br /&gt;
    println(&amp;quot;Quantentorpedos wurden versucht hochzubeamen. --&amp;gt; &amp;quot; &amp;amp; schiffId);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen</id>
		<title>Scripting:Portale einbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen"/>
				<updated>2008-05-02T15:34:50Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einbauen eines Portalscripts (Am Beispiel eines Schiffsportals)&lt;br /&gt;
&lt;br /&gt;
Zuerst muss der Script in STNE eingefügt werden, so dass man im Weiteren darauf zugreifen kann.&lt;br /&gt;
Nacheinander bitte durch das Menü hangeln mit folgenden Buttons:&lt;br /&gt;
''Hilfe (im Hauptmenü)'' --&amp;gt; ''Scripting'' --&amp;gt; ''Scripteditor'' --&amp;gt; ''Neues Script anlegen''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut auswahl.png]]&lt;br /&gt;
&lt;br /&gt;
In der Ansicht wählt man den Typ des Scripts aus. Wir wählen &amp;quot;Benutzerdefiniertes Script ohne Eingabeassistent&amp;quot;, da so keine Vorgaben gemacht werden und alle Scripttypen damit möglich sind.&lt;br /&gt;
Dann erstellt man den Script mit einem Klick auf den Button.&lt;br /&gt;
&lt;br /&gt;
In der Ansicht, die daraufhin erscheint, wählt man ''Quelltext bearbeiten'' und kann endlich Code einfügen oder selber schreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptfenster.png]]&lt;br /&gt;
&lt;br /&gt;
Hier ist ein wenig Testcode eingefügt, wie man Scripts schreibt, erkläre ich an dieser Stelle nicht.&lt;br /&gt;
Wichtig an dieser Seite: Immer '''entweder''' den Namen ändern, '''oder''' am Script schreiben und speichern. Falls ihr Script ändert und dann auf den Button klickt, der den Namen speichert, sind eure Änderungen verloren, analog beim Namen und dem ''Speichern''-Button.&lt;br /&gt;
Wenn alles eingefügt und umbenannt und auf ''Speichern'' gedrückt wurde (und hoffentlich keine Fehlermeldung kam), ist dieser Teil schon fertig.&lt;br /&gt;
&lt;br /&gt;
Jetzt muss das Script an seinem Zielort platziert werden, von dem aus man es im Spiel aktivieren können soll.&lt;br /&gt;
Dazu wählt ihr eure Station oder das Schiff (oder aber auch den Planeten, wobei das mit diesem Scriptbeispiel nicht funktioniert) aus und klickt ganz unten ''Portal einrichten'' --&amp;gt; ''Portal einrichten'' --&amp;gt; ''Web-Script auswählen''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Dort auf das Icon neben dem Script klicken, den ihr verwenden wollt. Es werden nur Scripts eingeblendet, die auch passen (also Kolonieportale werden bei Schiffen nicht eingeblendet). Falls euer Script dort nicht auftaucht, hat der Script die falschen #UseInterfaces gesetzt oder ihr seid auf einem Schiff statt Planet oder andersherum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut script einstellen.png]]&lt;br /&gt;
&lt;br /&gt;
Jetzt schreibt man noch etwas in das Feld, was angezeigt werden soll, wenn man mit der Maus über den ''Portal betreten''-Button hovert. Der Harken aktiviert das ganze und nach einem klick auf ''Speichern'' sind wir fertig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut fertig.png]]&lt;br /&gt;
&lt;br /&gt;
War doch einfach, oder? FSE_Faldrian wünscht viel Spaß beim Benutzen von Portalscripts!&lt;br /&gt;
[[Kategorie:Scripting]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen</id>
		<title>Scripting:Portale einbauen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Portale_einbauen"/>
				<updated>2008-05-02T15:27:07Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einbauen eines Portalscripts (Am Beispiel eines Schiffsportals)&lt;br /&gt;
&lt;br /&gt;
Zuerst muss der Script in STNE eingefügt werden, so dass man im Weiteren darauf zugreifen kann.&lt;br /&gt;
Nacheinander bitte durch das Menü hangeln mit folgenden Buttons:&lt;br /&gt;
''Hilfe (im Hauptmenü)'' --&amp;gt; ''Scripting'' --&amp;gt; ''Scripteditor'' --&amp;gt; ''Neues Script anlegen''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut auswahl.png]]&lt;br /&gt;
&lt;br /&gt;
In der Ansicht wählt man den Typ des Scripts aus. Wir wählen &amp;quot;Benutzerdefiniertes Script ohne Eingabeassistent&amp;quot;, da so keine Vorgaben gemacht werden und alle Scripttypen damit möglich sind.&lt;br /&gt;
Dann erstellt man den Script mit einem Klick auf den Button.&lt;br /&gt;
&lt;br /&gt;
In der Ansicht, die daraufhin erscheint, wählt man ''Quelltext bearbeiten'' und kann endlich Code einfügen oder selber schreiben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptfenster.png]]&lt;br /&gt;
&lt;br /&gt;
Hier ist ein wenig Testcode eingefügt, wie man Scripts schreibt, erkläre ich an dieser Stelle nicht.&lt;br /&gt;
Wichtig an dieser Seite: Immer '''entweder''' den Namen ändern, '''oder''' am Script schreiben und speichern. Falls ihr Script ändert und dann auf den Button klickt, der den Namen speichert, sind eure Änderungen verloren, analog beim Namen und dem ''Speichern''-Button.&lt;br /&gt;
Wenn alles eingefügt und umbenannt und auf ''Speichern'' gedrückt wurde (und hoffentlich keine Fehlermeldung kam), ist dieser Teil schon fertig.&lt;br /&gt;
&lt;br /&gt;
Jetzt muss das Script an seinem Zielort platziert werden, von dem aus man es im Spiel aktivieren können soll.&lt;br /&gt;
Dazu wählt ihr eure Station oder das Schiff (oder aber auch den Planeten, wobei das mit diesem Scriptbeispiel nicht funktioniert) aus und klickt ganz unten ''Portal einrichten'' --&amp;gt; ''Portal einrichten'' --&amp;gt; ''Web-Script auswählen''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut scriptansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Dort auf das Icon neben dem Script klicken, den ihr verwenden wollt. Es werden nur Scripts eingeblendet, die auch passen (also Kolonieportale werden bei Schiffen nicht eingeblendet). Falls euer Script dort nicht auftaucht, hat der Script die falschen #UseInterfaces gesetzt oder ihr seid auf einem Schiff statt Planet oder andersherum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut script einstellen.png]]&lt;br /&gt;
&lt;br /&gt;
Jetzt schreibt man noch etwas in das Feld, was angezeigt werden soll, wenn man mit der Maus über den ''Portal betreten''-Button hovert. Der Harken aktiviert das ganze und nach einem klick auf ''Speichern'' sind wir fertig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Porttut fertig.png]]&lt;br /&gt;
&lt;br /&gt;
War doch einfach, oder? FSE_Faldrian wünscht viel Spaß beim Benutzen von Portalscripts!&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Datei:Porttut_scriptfenster.png</id>
		<title>Datei:Porttut scriptfenster.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Datei:Porttut_scriptfenster.png"/>
				<updated>2008-05-02T15:14:25Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Anzeige des Scriptbearbeitungsfensters.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anzeige des Scriptbearbeitungsfensters.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Datei:Porttut_script_einstellen.png</id>
		<title>Datei:Porttut script einstellen.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Datei:Porttut_script_einstellen.png"/>
				<updated>2008-05-02T15:13:36Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Fertiges Einstellungsfenster für den Demoscript.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fertiges Einstellungsfenster für den Demoscript.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Datei:Porttut_scriptansicht.png</id>
		<title>Datei:Porttut scriptansicht.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Datei:Porttut_scriptansicht.png"/>
				<updated>2008-05-02T15:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Übersicht der auswählbaren Scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Übersicht der auswählbaren Scripts&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Datei:Porttut_fertig.png</id>
		<title>Datei:Porttut fertig.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Datei:Porttut_fertig.png"/>
				<updated>2008-05-02T15:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Ausgabe des Demoscripts.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ausgabe des Demoscripts.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Datei:Porttut_auswahl.png</id>
		<title>Datei:Porttut auswahl.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Datei:Porttut_auswahl.png"/>
				<updated>2008-05-02T15:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Zeigt die Auswahl der Optionen beim Erstellen eines neuen Scripts.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zeigt die Auswahl der Optionen beim Erstellen eines neuen Scripts.&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:49:42Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* KolonieEnergie optimieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
Dieser Script eigent sich gut um den Deut-Verbrauch auf Kolonien zu optimieren, indem nur genau soviel Energie produziert wird, wie mindestens benötigt wird. Überflüssige Satelliten werden abgestellt bzw. benötigte angestellt, falls zu wenig Energie vorherrschen sollte.&lt;br /&gt;
Der Script funktioniert unabhängig vom Kolonietyp und eigentlich sollte er es gut tun.&lt;br /&gt;
Bei Fragen, Fehlern oder Verbesserungen gerne eine IGM an [FWD]Faldrian (36705). Viel Spaß mit dem Script!&lt;br /&gt;
&lt;br /&gt;
Achja, da es eine Funktion ist, kann man die auch sehr bequem für mehrere Kolonien ausführen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
 // Arbeitsweise:&lt;br /&gt;
 // Schaut, in welchem Modus er operiert:&lt;br /&gt;
 // mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
 // mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
 // Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
 &lt;br /&gt;
 function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
 	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
 	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
 	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
 	VAR haus			AS CGebäude;&lt;br /&gt;
 	VAR mehrenergie		AS Boolean;&lt;br /&gt;
 &lt;br /&gt;
 	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
 	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
 &lt;br /&gt;
 	// Vorher&lt;br /&gt;
 	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 &lt;br /&gt;
 	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
 	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
 &lt;br /&gt;
 	while(hausenumerator.MoveNext()) {&lt;br /&gt;
 		haus = hausenumerator.Current;&lt;br /&gt;
 		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
 			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
 			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
 			If(mehrenergie) {&lt;br /&gt;
 				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				}&lt;br /&gt;
 			} else {&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
 					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				} else {&lt;br /&gt;
 					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// Nachher&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 OptEnergie(DEINEKOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel</id>
		<title>Vorlage:AktuellenScript-Artikel</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel"/>
				<updated>2007-04-30T17:48:58Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Scripting:Anfängerkurs|Anfängerkurs]] - Einführung in die Script-Engine&lt;br /&gt;
* [[Scripting:KolonieEnergie optimieren| KolonieEnergie optimieren]] - Solarsatelliten optimal ein/ausschalten&lt;br /&gt;
* [[Scripting:EigeneSchiffeIterieren|Eigene Schiffe iterieren]] - Script zum iterieren über alle eigenen Schiffe&lt;br /&gt;
* [[Scripting:FlottenIDErmitteln|Flotten ID ermitteln]] - Anleitung wie die ID einer Flotte ermittelt werden kann&lt;br /&gt;
* [[Scripting:Flotten_benennen|Flotten Benennen]] - Script zum Benennen von größeren Flotten&lt;br /&gt;
* [[Scripting:Deutsammeln%28flotte%29|Deutsammeln(flotte)]] - Script zum [[Deuterium]]-Sammeln mit einer Flotte&lt;br /&gt;
* [[Scripting:BinarySearch|BinarySearch]] - durchsucht sortierte Arrays nach einer Zahl&lt;br /&gt;
* [[Scripting:BubbleSort|BubbleSort]] - sortiert Zahlen-Arrays&lt;br /&gt;
* [[Scripting:FAQ|FAQ]] - beantwortet Fragen rund ums Scripten in STNE&lt;br /&gt;
* [[Scripting:Syntax|Syntax]] - kurze Syntax-Beschreibung&lt;br /&gt;
* [[Scripting:TestSkript0.11|TestSkript0.11]] - demonstriert die wesentlichen Funktionen&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnerge_optimieren</id>
		<title>Scripting:KolonieEnerge optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnerge_optimieren"/>
				<updated>2007-04-30T17:48:10Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Scripting:KolonieEnerge optimieren wurde nach Scripting:KolonieEnergie optimieren verschoben: Energie schreibt man mit i.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Scripting:KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:48:10Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: Scripting:KolonieEnerge optimieren wurde nach Scripting:KolonieEnergie optimieren verschoben: Energie schreibt man mit i.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
Dieser Script eigent sich gut um den Deut-Verbrauch auf Kolonien zu optimieren, indem nur genau soviel Energie produziert wird, wie mindestens benötigt wird. Überflüssige Satelliten werden abgestellt bzw. benötigte angestellt, falls zu wenig Energie vorherrschen sollte.&lt;br /&gt;
Der Script funktioniert unabhängig vom Kolonietyp und eigentlich sollte er es gut tun.&lt;br /&gt;
Bei Fragen, Fehlern oder Verbesserungen gerne eine IGM an [FWD]Faldrian (36705). Viel Spaß mit dem Script!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
 // Arbeitsweise:&lt;br /&gt;
 // Schaut, in welchem Modus er operiert:&lt;br /&gt;
 // mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
 // mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
 // Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
 &lt;br /&gt;
 function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
 	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
 	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
 	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
 	VAR haus			AS CGebäude;&lt;br /&gt;
 	VAR mehrenergie		AS Boolean;&lt;br /&gt;
 &lt;br /&gt;
 	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
 	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
 &lt;br /&gt;
 	// Vorher&lt;br /&gt;
 	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 &lt;br /&gt;
 	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
 	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
 &lt;br /&gt;
 	while(hausenumerator.MoveNext()) {&lt;br /&gt;
 		haus = hausenumerator.Current;&lt;br /&gt;
 		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
 			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
 			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
 			If(mehrenergie) {&lt;br /&gt;
 				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				}&lt;br /&gt;
 			} else {&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
 					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				} else {&lt;br /&gt;
 					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// Nachher&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 OptEnergie(DEINEKOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel</id>
		<title>Vorlage:AktuellenScript-Artikel</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Vorlage:AktuellenScript-Artikel"/>
				<updated>2007-04-30T17:47:31Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Scripting:Anfängerkurs|Anfängerkurs]] - Einführung in die Script-Engine&lt;br /&gt;
* [[Scripting:KolonieEnerge optimieren| KolonieEnergie optimieren]] - Solarsatelliten optimal ein/ausschalten&lt;br /&gt;
* [[Scripting:EigeneSchiffeIterieren|Eigene Schiffe iterieren]] - Script zum iterieren über alle eigenen Schiffe&lt;br /&gt;
* [[Scripting:FlottenIDErmitteln|Flotten ID ermitteln]] - Anleitung wie die ID einer Flotte ermittelt werden kann&lt;br /&gt;
* [[Scripting:Flotten_benennen|Flotten Benennen]] - Script zum Benennen von größeren Flotten&lt;br /&gt;
* [[Scripting:Deutsammeln%28flotte%29|Deutsammeln(flotte)]] - Script zum [[Deuterium]]-Sammeln mit einer Flotte&lt;br /&gt;
* [[Scripting:BinarySearch|BinarySearch]] - durchsucht sortierte Arrays nach einer Zahl&lt;br /&gt;
* [[Scripting:BubbleSort|BubbleSort]] - sortiert Zahlen-Arrays&lt;br /&gt;
* [[Scripting:FAQ|FAQ]] - beantwortet Fragen rund ums Scripten in STNE&lt;br /&gt;
* [[Scripting:Syntax|Syntax]] - kurze Syntax-Beschreibung&lt;br /&gt;
* [[Scripting:TestSkript0.11|TestSkript0.11]] - demonstriert die wesentlichen Funktionen&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:46:00Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* KolonieEnergie optimieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
Dieser Script eigent sich gut um den Deut-Verbrauch auf Kolonien zu optimieren, indem nur genau soviel Energie produziert wird, wie mindestens benötigt wird. Überflüssige Satelliten werden abgestellt bzw. benötigte angestellt, falls zu wenig Energie vorherrschen sollte.&lt;br /&gt;
Der Script funktioniert unabhängig vom Kolonietyp und eigentlich sollte er es gut tun.&lt;br /&gt;
Bei Fragen, Fehlern oder Verbesserungen gerne eine IGM an [FWD]Faldrian (36705). Viel Spaß mit dem Script!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
 // Arbeitsweise:&lt;br /&gt;
 // Schaut, in welchem Modus er operiert:&lt;br /&gt;
 // mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
 // mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
 // Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
 &lt;br /&gt;
 function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
 	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
 	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
 	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
 	VAR haus			AS CGebäude;&lt;br /&gt;
 	VAR mehrenergie		AS Boolean;&lt;br /&gt;
 &lt;br /&gt;
 	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
 	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
 &lt;br /&gt;
 	// Vorher&lt;br /&gt;
 	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 &lt;br /&gt;
 	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
 	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
 &lt;br /&gt;
 	while(hausenumerator.MoveNext()) {&lt;br /&gt;
 		haus = hausenumerator.Current;&lt;br /&gt;
 		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
 			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
 			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
 			If(mehrenergie) {&lt;br /&gt;
 				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				}&lt;br /&gt;
 			} else {&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
 					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				} else {&lt;br /&gt;
 					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// Nachher&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 OptEnergie(DEINEKOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:37:52Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: /* Skriptcode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
 // Arbeitsweise:&lt;br /&gt;
 // Schaut, in welchem Modus er operiert:&lt;br /&gt;
 // mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
 // mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
 // Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
 &lt;br /&gt;
 function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
 	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
 	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
 	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
 	VAR haus			AS CGebäude;&lt;br /&gt;
 	VAR mehrenergie		AS Boolean;&lt;br /&gt;
 &lt;br /&gt;
 	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
 	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
 &lt;br /&gt;
 	// Vorher&lt;br /&gt;
 	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 &lt;br /&gt;
 	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
 	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
 &lt;br /&gt;
 	while(hausenumerator.MoveNext()) {&lt;br /&gt;
 		haus = hausenumerator.Current;&lt;br /&gt;
 		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
 			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
 			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
 			If(mehrenergie) {&lt;br /&gt;
 				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				}&lt;br /&gt;
 			} else {&lt;br /&gt;
 				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
 					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
 					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
 				} else {&lt;br /&gt;
 					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// Nachher&lt;br /&gt;
 	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 OptEnergie(DEINEKOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:33:41Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
&lt;br /&gt;
// Arbeitsweise:&lt;br /&gt;
// Schaut, in welchem Modus er operiert:&lt;br /&gt;
// mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
// mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
// Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
&lt;br /&gt;
function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
	VAR haus			AS CGebäude;&lt;br /&gt;
	VAR mehrenergie		AS Boolean;&lt;br /&gt;
&lt;br /&gt;
	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
&lt;br /&gt;
	// Vorher&lt;br /&gt;
	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
	&lt;br /&gt;
	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
&lt;br /&gt;
	while(hausenumerator.MoveNext()) {&lt;br /&gt;
		haus = hausenumerator.Current;&lt;br /&gt;
		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
			If(mehrenergie) {&lt;br /&gt;
				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
				} else {&lt;br /&gt;
					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Nachher&lt;br /&gt;
	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
OptEnergie(DEINE KOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren</id>
		<title>Scripting:KolonieEnergie optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:KolonieEnergie_optimieren"/>
				<updated>2007-04-30T17:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;Faldrian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{scriptingmenue}}&lt;br /&gt;
&lt;br /&gt;
= KolonieEnergie optimieren =&lt;br /&gt;
&lt;br /&gt;
== Skriptcode ==&lt;br /&gt;
&lt;br /&gt;
// Arbeitsweise:&lt;br /&gt;
// Schaut, in welchem Modus er operiert:&lt;br /&gt;
// mehrenergie = True --&amp;gt; zu wenig Energie vorhanden, schalte so viele Satelliten an, bis &amp;gt;0 EnergieBilanz ist&lt;br /&gt;
// mehrenergie = False --&amp;gt; Deut wird verschwendet, schalte alle überflüssigen Satelliten ab, solange &amp;gt;0 EnergieBilanz bleibt&lt;br /&gt;
// Dann geht er alle Gebäude der Kolonie durch und arbeitet die ab.&lt;br /&gt;
&lt;br /&gt;
function OptEnergie(BYREF coloid AS Integer) {&lt;br /&gt;
	VAR colo			AS NEW CMyKolonie(coloid);&lt;br /&gt;
	VAR coloman			AS NEW CColonieManager();&lt;br /&gt;
	VAR hausenumerator	AS IEnumerator;&lt;br /&gt;
	VAR haus			AS CGebäude;&lt;br /&gt;
	VAR mehrenergie		AS Boolean;&lt;br /&gt;
&lt;br /&gt;
	coloman.BenutzeKolonie(coloid);&lt;br /&gt;
	hausenumerator = colo.Gebäude.GetEnumerator(); // Hole die Häuser;&lt;br /&gt;
&lt;br /&gt;
	// Vorher&lt;br /&gt;
	WriteLine('Bearbeite: ' &amp;amp; colo.Name);&lt;br /&gt;
	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
	&lt;br /&gt;
	// Mehr oder weniger Energie benötigt?&lt;br /&gt;
	mehrenergie = (colo.EnergieBilanz &amp;lt; 0);&lt;br /&gt;
&lt;br /&gt;
	while(hausenumerator.MoveNext()) {&lt;br /&gt;
		haus = hausenumerator.Current;&lt;br /&gt;
		If((haus.TypName = 'Solarsatellit') AND (haus.Aktiv = NOT mehrenergie)) { // Juhu, einen Satelliten gefunden&lt;br /&gt;
			VAR koords AS String = '@' &amp;amp; CStr(haus.Feld.Coords.X) &amp;amp; '|' &amp;amp; CStr(haus.Feld.Coords.Y);&lt;br /&gt;
			coloman.GebäudeAktivieren(koords, mehrenergie);&lt;br /&gt;
			If(mehrenergie) {&lt;br /&gt;
				WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' eingeschaltet.');&lt;br /&gt;
				If((colo.EnergieBilanz &amp;gt;= 0)) { // Ziel erreicht, aus dem Negativen raus&lt;br /&gt;
					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				If((colo.EnergieBilanz &amp;lt; 0)) { // zu wenig Energie, Satelliten doch wieder anmachen&lt;br /&gt;
					coloman.GebäudeAktivieren(koords, True);&lt;br /&gt;
					exit while; // Damit ist es auch genug und wir können terminieren&lt;br /&gt;
				} else {&lt;br /&gt;
					WriteLine('Solarsatellit ' &amp;amp; koords &amp;amp; ' ausgeschaltet.');&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Nachher&lt;br /&gt;
	WriteLine('EnergieBilanz: ' &amp;amp; CStr(colo.EnergieBilanz));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
OptEnergie(DEINE KOLONIEID);&lt;br /&gt;
&lt;br /&gt;
== Bemerkungen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Scripte|KolonieEnergie optimieren]]&lt;/div&gt;</summary>
		<author><name>Faldrian</name></author>	</entry>

	</feed>