<?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=SimonSlater&amp;title=Spezial%3ABeitr%C3%A4ge%2FSimonSlater</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=SimonSlater&amp;title=Spezial%3ABeitr%C3%A4ge%2FSimonSlater"/>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Spezial:Beitr%C3%A4ge/SimonSlater"/>
		<updated>2026-04-25T07:52:16Z</updated>
		<subtitle>Aus STNE-Wiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:EBeamResource</id>
		<title>API:EBeamResource</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:EBeamResource"/>
				<updated>2010-09-03T08:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
[[API:EBeamResource|EBeamResource]] ist ein [[API:Enum|Enumerator]].&lt;br /&gt;
&lt;br /&gt;
Jeder Enumerator ist sozusagen mit einer Liste von möglichen Werten versehen.&lt;br /&gt;
'''Hinter diesen Werten verstecken sich eigentlich nur Integer-Werte, mehr dazu siehe unter [[API:Enum|Enumerator]]&lt;br /&gt;
&lt;br /&gt;
[[API:EBeamResource|EBeamResource]] enthält alle Waren, die man per Skriptengine beamen bzw. Transportieren kann.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
Die Funktion [[API:CBaseShipManager|Ship.Action.TransferToShip(ShipID As Integer, Menge As Integer, WarenTyp As EBeamResource)]]&lt;br /&gt;
verlangt als dritten Paramater eine Variable vom Typ [[API:EBeamResource|EBeamResource]]. Möchte man z.B. Deuterium beamen, ist der Parameter wie folgt anzugeben:&lt;br /&gt;
&lt;br /&gt;
  Var meinSchiff As New CMyShip(12345);&lt;br /&gt;
  meinSchiff.Action.TransferToShip(54321, 100, EBeamResource.Deuterium);&lt;br /&gt;
&lt;br /&gt;
EBeamResource ist mit folgenden Werten definiert:&lt;br /&gt;
{|&lt;br /&gt;
! Name !! Übersetzung &lt;br /&gt;
|-&lt;br /&gt;
| Antimatter || Antimaterie &lt;br /&gt;
|-&lt;br /&gt;
| Contrabands || Schmuggelgüter &lt;br /&gt;
|-&lt;br /&gt;
| Credits || &lt;br /&gt;
|-&lt;br /&gt;
| Crew || &lt;br /&gt;
|-&lt;br /&gt;
| Deuterium || &lt;br /&gt;
|-&lt;br /&gt;
| Dilithium ||  &lt;br /&gt;
|-&lt;br /&gt;
| Duranium ||  &lt;br /&gt;
|-&lt;br /&gt;
| Energy || Energie &lt;br /&gt;
|-&lt;br /&gt;
| EscapePods || Rettungskapseln &lt;br /&gt;
|-&lt;br /&gt;
| Food || Nahrung &lt;br /&gt;
|-&lt;br /&gt;
| Gifts || Geschenke &lt;br /&gt;
|-&lt;br /&gt;
| IridiumOre || Iridiumerz &lt;br /&gt;
|-&lt;br /&gt;
| IsoChips ||  &lt;br /&gt;
|-&lt;br /&gt;
| Item ||  &lt;br /&gt;
|-&lt;br /&gt;
| Larne || &lt;br /&gt;
|-&lt;br /&gt;
| Latinum ||  &lt;br /&gt;
|-&lt;br /&gt;
| Nitrium ||  &lt;br /&gt;
|-&lt;br /&gt;
| PhotonTorpedoes ||  &lt;br /&gt;
|-&lt;br /&gt;
| Plasma ||  &lt;br /&gt;
|-&lt;br /&gt;
| PlasmaTorpedoes ||  &lt;br /&gt;
|-&lt;br /&gt;
| Plasteel || Baumaterial &lt;br /&gt;
|-&lt;br /&gt;
| QuantumTorpedoes  || &lt;br /&gt;
|-&lt;br /&gt;
| Sorium ||  &lt;br /&gt;
|-&lt;br /&gt;
| Tribbels  || &lt;br /&gt;
|-&lt;br /&gt;
| Tritanium  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Spieler_Diskussion:SimonSlater</id>
		<title>Spieler Diskussion:SimonSlater</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Spieler_Diskussion:SimonSlater"/>
				<updated>2010-09-02T17:28:15Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: Die Seite wurde neu angelegt: „open for discussion“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;open for discussion&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:Math</id>
		<title>API:Math</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:Math"/>
				<updated>2010-09-02T17:26:55Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Klasse [[API:Math|Math]] ist es möglich, mathematische Ausdrücke zu berechnen, z.B Auf-/ und Abrunden, Logarithmische und Exponentialfunktionen, Beträge berechnen und vieles mehr.&lt;br /&gt;
&lt;br /&gt;
Beispiele: &lt;br /&gt;
&lt;br /&gt;
  Var d As Double = -2.55;&lt;br /&gt;
  Var e As Double = -4.00&lt;br /&gt;
  &lt;br /&gt;
  WriteLine(Math.Abs(d)); // Gibt 2.55 zurück&lt;br /&gt;
  WriteLine(Math.Max(d,e)); //Gibt -2.55 zurück&lt;br /&gt;
  WriteLine(Math.Min(d,e)); //Gibt -4 zurück&lt;br /&gt;
  WriteLine(Math.Truncate(d); //Gibt -2 zurück&lt;br /&gt;
  &lt;br /&gt;
  WriteLine(Math.Pow(e, 3)); //-4 hoch 3 = -64&lt;br /&gt;
  &lt;br /&gt;
  Var f As Double = 3.75;&lt;br /&gt;
  Var g As Double = 3.25;&lt;br /&gt;
  &lt;br /&gt;
  WriteLine(Math.Floor(f)); // Gibt 3 zurück  &lt;br /&gt;
  WriteLine(Math.Ceiling(g)); // Gibt 4 zurück&lt;br /&gt;
  &lt;br /&gt;
  WriteLine(&amp;quot;Ein Kreis mit dem Durchmesser 30cm hat einen Umfang von &amp;quot; &amp;amp; (Math.PI*30) &amp;amp; &amp;quot; cm!&amp;quot;); &lt;br /&gt;
  WriteLine(Math.Pow(Math.E, 1)); //Was ist wohl e hoch 1?&lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
 * Diese Funktion kann mit Double, Integer, Short oder Long-Variablen aufgerufen werden&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Parameter !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Abs || * || Gibt den Betrag, also den Wert ohne Vorzeichen zurück.&lt;br /&gt;
|-&lt;br /&gt;
| Acos || [[API:Double|Double]] || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| Asin || [[API:Double|Double]] || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| Atan || [[API:Double|Double]] || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| BigMul || [[API:Integer|Integer]], [[API:Integer|Integer]] || Multipliziert zwei Integer und gibt eine Variable vom Typ Long zurück&lt;br /&gt;
|-&lt;br /&gt;
| Ceiling || [[API:Double|Double]] || Rundet die Zahl auf&lt;br /&gt;
|-&lt;br /&gt;
| Cos || [[API:Double|Double]] || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| Cosh || [[API:Double|Double]] || Cosinushyperbolicus&lt;br /&gt;
|-&lt;br /&gt;
| E || - || Gibt eine Double-Variable mit der eulerischen Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Exp || [[API:Double|Double]] || &amp;quot;e-hoch&amp;quot;, also die e-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| Floor || [[API:Double|Double]] || Rundet die gegebene Zahl ab&lt;br /&gt;
|-&lt;br /&gt;
| IEEERemainder || * ||&lt;br /&gt;
|-&lt;br /&gt;
| Log || [[API:Double|Double]] || Berechnet den Logarithmus zur Basis der eulerischen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| Log || [[API:Double|Double]], [[API:Double|Double]] || Berechnet Logarithmus zur angegeben Basis&lt;br /&gt;
|-&lt;br /&gt;
| Log10 || * || Berechnet den Logarithmus zur 10er Basis&lt;br /&gt;
|-&lt;br /&gt;
| Max || *, * || Gibt die größere der beiden gegebenen Zahlen zurück&lt;br /&gt;
|-&lt;br /&gt;
| Min || *, * || Gibt die kleienre de rbeiden gegebenen Zahlen zurück&lt;br /&gt;
|-&lt;br /&gt;
| PI || - || Gibt eine Double-Variable mit der Kreiszahl Pi zurück&lt;br /&gt;
|-&lt;br /&gt;
| Pow || [[API:Double|Double]], [[API:Double|Double]] || Potenzrechnung&lt;br /&gt;
|-&lt;br /&gt;
| Round || [[API:Double|Double]] || Gegebenen Wert runden&lt;br /&gt;
|-&lt;br /&gt;
| Round || [[API:Double|Double]], [[API:Integer|Integer]] || Gegebenen Wert auf die Anzahl der gewünschten Stellen runden&lt;br /&gt;
|-&lt;br /&gt;
| Sign || * || Gibt das Vorzeichen einer Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Sin || [[API:Double|Double]] || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| Sinh || [[API:Double|Double]] || Sinushyperbolicus&lt;br /&gt;
|-&lt;br /&gt;
| Sqrt || [[API:Double|Double]] || Zieht die Wurzel aus der gegebenen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| Tan || [[API:Double|Double]] || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| Tanh || [[API:Double|Double]] || Tangenshyperbolicus&lt;br /&gt;
|-&lt;br /&gt;
| Truncated || [[API:Double|Double]] || Gibt die Zahl vor dem Komma zurück&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CHtmlSubmitButton</id>
		<title>API:CHtmlSubmitButton</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CHtmlSubmitButton"/>
				<updated>2010-08-21T13:18:01Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: Die Seite wurde neu angelegt: „{{Vorlage:ApiMenu}}  == Allgemein ==   {{Code|CHtmlSubmitButton}} ist dazu da, ein Portal interaktiv zu gestalten. In Verbindung mit einem Html-Formular [[API:CHt…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Code|CHtmlSubmitButton}} ist dazu da, ein Portal interaktiv zu gestalten. In Verbindung mit einem Html-Formular [[API:CHtmlForm|CHtmlForm]] mit zugehöriger Url [[API:CScriptUrl|CScriptUrl]] kann man Buttons erstellen, mit denen man verschiedene Seiten anzeigen oder auch Aktionen auslösen kann.&lt;br /&gt;
&lt;br /&gt;
Wenn du einen Button einfügen willst, solltest du das wenn möglich als Formular tun, vor allem wenn du noch zusätzliche Parameter übergeben willst (siehe [[API:CHtmlForm|CHtmlForm]]).&lt;br /&gt;
&lt;br /&gt;
    Var Form As New CHtmlForm(New CScriptUrl());&lt;br /&gt;
    form.Add(New CHtmlSubmitButton('Drück mich', 'Aktion'));&lt;br /&gt;
    Response.Add(Form);&lt;br /&gt;
&lt;br /&gt;
Mit diesen drei Zeilen hast du deinen Button erstellt. Der erste Parameter gibt den Text der auf dem Button stehen soll an, der zweite den internen Namen des Buttons (wichtig für Abfrage ob der Button gedrückt, s.u.). &lt;br /&gt;
Es muss natürlich nur ein [[API:CHtmlForm|CHtmlForm]] erstellt werden, dem dann mit ''form.Add'' die verschiedensten Sachen hinzufgefügt werden können. &lt;br /&gt;
&lt;br /&gt;
Nun muss das ganze Formular noch der Ausgabe Response ([[API:CWebResponse|CWebResponse]]) hinzugefügt werden. Es können auch nach Response.Add noch Sachen zum Formular hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um nun nach dem Klick auf den Button auch eine Aktion auszuführen musst du dein Skript noch überprüfen lassen, ob der Button gedrückt wurde:&lt;br /&gt;
&lt;br /&gt;
    If(Request.Form.ContainsKey('Aktion'))&lt;br /&gt;
    {&lt;br /&gt;
       Response.Add('Du hast auf den Button &amp;quot;Aktion&amp;quot; gedrückt!');&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit Request ([[API:CWebRequest|CWebRequest]]) lassen sich die Parameter abrufen, die beim &amp;quot;Anfordern&amp;quot; der Seite mit übergeben wurden. Diese sind in Form einer [[API:CCStringHashTable|CStringHashTable]] gespeichert und lassen sich leicht mit deren Funktion ''ContainsKey'' abfragen.&lt;br /&gt;
&lt;br /&gt;
Hier wird der Text in den geschweiften Klammern ausgegeben, wenn der Button zuvor gedrückt wurde. Natürlich kann dort dann beliebiger Code ausgeführt werden, z.B. aus [[API:CBaseShipManager|CBaseShipManager]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 15:18, 21. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeList</id>
		<title>API:CDataNodeList</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeList"/>
				<updated>2010-08-20T17:00:32Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Code|CDataNodeList}} ist ein Listenobjekt, welches Objekte vom Typ [[API:CDataNode|CDataNode]] aufnimmt. Es ist das &amp;quot;Arbeitstier&amp;quot; der Datenbank-Verwaltung und kommt bei jeder Abfrage oder beim Schreiben in eine Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In den meisten Fällen erstellt man keine {{Code|CDataNodeList}} direkt, sondern erhält diese direkt aus einem [[API:CDataNodeStorage|CDataNodeStorage]] oder [[API:CDataNode|CDataNode]]:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Liste As New CDataNodeList;}}&lt;br /&gt;
&lt;br /&gt;
Parameter hat die &amp;quot;New&amp;quot; Funktion nicht. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann nun entweder einzelne [[API:CDataNode|CDataNodes]] manuell zur Liste hinzufügen&lt;br /&gt;
&lt;br /&gt;
    Liste.Add(Node);&lt;br /&gt;
&lt;br /&gt;
wobei &amp;quot;Node&amp;quot; hier vom Typ [[API:CDataNode|CDataNode]] sein muss&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oder man erstellt eine Liste aus einem [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
    Liste = Node.Items;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oder übernimmt die oberste Ebene eines [[API:CDataNodeStorage|CDataNodeStorage]]&lt;br /&gt;
&lt;br /&gt;
    Liste = Storage.Items;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Storage&amp;quot; ist hier vom Typ [[API:CDataNodeStorage|CDataNodeStorage]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Typisches Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Var Storage As New CDataNodeStorage('Mein Datenspeicher', 1);&lt;br /&gt;
    Storage.Items.Add('BerechtigteUser');&lt;br /&gt;
    If( not Storage.Items.Item('BerechtigteUser').Items.ContainsKey(CStr(MyShip.UserID)))&lt;br /&gt;
    {&lt;br /&gt;
       Storage.Items.Item('BerechtigteUser').Items.Add(CStr(MyShip.UserID));&lt;br /&gt;
    }    &lt;br /&gt;
An jeder Stelle wo ''Items'' steht wird eine {{Code|CDataNodeList}} &amp;quot;verwendet&amp;quot;. Diese Zeilen öffnen bzw. erstellen eine Datenbank mit dem Namen &amp;quot;Mein Datenspeicher&amp;quot;, fügen der obersten Ebene des Speichers (Ebenen siehe [[API:CDataNodeStorage|CDataNodeStorage]]) einen Knoten &amp;quot;BerechtigteUser&amp;quot; hinzu und fügen diesem Knoten (auch wieder über &amp;quot;Items&amp;quot;/{{Code|CDataNodeList}}) einen Unterknoten mit der UserID des Users der das Portal installiert hat hinzu. Vorher wird noch geprüft, ob dieser Knoten evtl. schon vorhanden ist (sollte immer gemacht werden sonst gibt es Laufzeitfehler).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Add || Fügt einen [[API:CDataNode|CDataNode]] ein. Es gbt dabei mehrere Möglichkeiten (siehe Objektexplorer)&lt;br /&gt;
|-&lt;br /&gt;
| AddDate || Nützlich um Objekte vom Typ [[API:Date|Date]] hinzuzufügen. Es gibt noch weitere Add-Methoden im Objektexplorer aufgelistet.&lt;br /&gt;
|-&lt;br /&gt;
| Clear || Löscht den Listeninhalt ('''VORSICHT:''' Es werden auch alle Unterknoten gelöscht!)&lt;br /&gt;
|-&lt;br /&gt;
| ContainsKey || Sehr wichtig. Übernimmt einen [[API:String|String]] und gibt einen [[API:Boolean|Boolean]]-Wert zurück ob der Knoten mit diesem Namen in der Liste ist&lt;br /&gt;
|-&lt;br /&gt;
| Count || Gibt einen [[API:Integer|Integer]]-Wert zurück mit der Anzahl der Knoten in der Liste&lt;br /&gt;
|-&lt;br /&gt;
| Item || Gibt den entsprechenden [[API:CDataNode|CDataNode]] zurück. Beispiel: '''Storage.Items.Item('Knoten');''' (siehe [[API:CDataNodeStorage|CDataNodeStorage]])&lt;br /&gt;
|-&lt;br /&gt;
| Parent || Liefert den übergeordneten [[API:CDataNode|CDataNode]] zurück.&lt;br /&gt;
|-&lt;br /&gt;
| Remove || Löscht einen bestimmten [[API:CDataNode|CDataNode]] in der Liste.&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Benennt einen [[API:CDataNode|CDataNode]] aus der Liste um.&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeList)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeList</id>
		<title>API:CDataNodeList</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeList"/>
				<updated>2010-08-20T16:48:42Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: Erster Entwurf zu CDataNodeList&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Code|CDataNodeList}} ist ein Listenobjekt, welches Objekte vom Typ [[API:CDataNode|CDataNode]] aufnimmt. Es ist das &amp;quot;Arbeitstier&amp;quot; der Datenbank-Verwaltung und kommt bei jeder Abfrage oder beim Schreiben in eine Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In den meisten Fällen erstellt man keine {{Code|CDataNodeList}} direkt, sondern erhält diese direkt aus einem [[API:CDataNodeStorage|CDataNodeStorage]] oder [[API:CDataNode|CDataNode]]:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Liste As New CDataNodeList;}}&lt;br /&gt;
&lt;br /&gt;
Parameter hat die &amp;quot;New&amp;quot; Funktion nicht. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann nun entweder einzelne [[API:CDataNode|CDataNodes]] manuell zur Liste hinzufügen&lt;br /&gt;
&lt;br /&gt;
    Liste.Add(Node);&lt;br /&gt;
&lt;br /&gt;
wobei &amp;quot;Node&amp;quot; hier vom Typ [[API:CDataNode|CDataNode]] sein muss&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oder man erstellt eine Liste aus einem [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
    Liste = Node.Items;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oder übernimmt die oberste Ebene eines [[API:CDataNodeStorage|CDataNodeStorage]]&lt;br /&gt;
&lt;br /&gt;
    Liste = Storage.Items;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Storage&amp;quot; ist hier vom Typ [[API:CDataNodeStorage|CDataNodeStorage]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Add || Fügt einen [[API:CDataNode|CDataNode]] ein. Es gbt dabei mehrere Möglichkeiten (siehe Objektexplorer)&lt;br /&gt;
|-&lt;br /&gt;
| AddDate || Nützlich um Objekte vom Typ [[API:Date|Date]] hinzuzufügen. Es gibt noch weitere Add-Methoden im Objektexplorer aufgelistet.&lt;br /&gt;
|-&lt;br /&gt;
| Clear || Löscht den Listeninhalt ('''VORSICHT:''' Es werden auch alle Unterknoten gelöscht!)&lt;br /&gt;
|-&lt;br /&gt;
| ContainsKey || Sehr wichtig. Übernimmt einen [[API:String|String]] und gibt einen [[API:Boolean|Boolean]]-Wert zurück ob der Knoten mit diesem Namen in der Liste ist&lt;br /&gt;
|-&lt;br /&gt;
| Count || Gibt einen [[API:Integer|Integer]]-Wert zurück mit der Anzahl der Knoten in der Liste&lt;br /&gt;
|-&lt;br /&gt;
| Item || Gibt den entsprechenden [[API:CDataNode|CDataNode]] zurück. Beispiel: '''Storage.Items.Item('Knoten');''' (siehe [[API:CDataNodeStorage|CDataNodeStorage]])&lt;br /&gt;
|-&lt;br /&gt;
| Parent || Liefert den übergeordneten [[API:CDataNode|CDataNode]] zurück.&lt;br /&gt;
|-&lt;br /&gt;
| Remove || Löscht einen bestimmten [[API:CDataNode|CDataNode]] in der Liste.&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Benennt einen [[API:CDataNode|CDataNode]] aus der Liste um.&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeList)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CMyShip</id>
		<title>API:CMyShip</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CMyShip"/>
				<updated>2010-08-20T14:49:02Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden (Auszug) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Schiff As New CMyShip(123456);}}&lt;br /&gt;
&lt;br /&gt;
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.&lt;br /&gt;
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:&lt;br /&gt;
&lt;br /&gt;
{{Code|WriteLine(Schiff.Name &amp;amp; &amp;quot; hat momentan &amp;quot; &amp;amp; Schiff.Energy &amp;amp; &amp;quot; Energie&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.&lt;br /&gt;
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Schiff.Action.ActivateSRS(True);}}&lt;br /&gt;
&lt;br /&gt;
== Methoden (Auszug) ==&lt;br /&gt;
&lt;br /&gt;
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Action || [[API:CBaseShipManager|CBaseShipManager]]&lt;br /&gt;
|-&lt;br /&gt;
| Energy || gibt eine Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|CMyShipDefinition]]. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen&lt;br /&gt;
|-&lt;br /&gt;
| Docked || gibt True/False zurück&lt;br /&gt;
|-&lt;br /&gt;
| FlightRange || gibt die Anzahl der geflogenen Felder (Tick) zurück&lt;br /&gt;
|-&lt;br /&gt;
| Name || -&lt;br /&gt;
|-&lt;br /&gt;
| StockRoom || Gibt dir eine Instanz der Klasse [[API:CStockRoom|CStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst&lt;br /&gt;
|-&lt;br /&gt;
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|CShipList]] mit sämtlichen Schiffen im SRS zurück&lt;br /&gt;
|-&lt;br /&gt;
| WarpCore || Wert des Warpkerns&lt;br /&gt;
|}&lt;br /&gt;
Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)&lt;br /&gt;
&lt;br /&gt;
== Beispiel == &lt;br /&gt;
&lt;br /&gt;
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel (falls vorhanden) den Warpkern auffüllen zu lassen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Var Schiff As CMyShip(12345);&lt;br /&gt;
&lt;br /&gt;
  If (Schiff.Definition.HasWarpCore = True) {&lt;br /&gt;
    If (Schiff.WarpCore &amp;lt; 100) {&lt;br /&gt;
      If (Schiff.Docked = False) { &lt;br /&gt;
        Schiff.Action.DockTo(54321);&lt;br /&gt;
      }&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);&lt;br /&gt;
      Schiff.Action.RefilWarpCore(10);&lt;br /&gt;
    }&lt;br /&gt;
    WriteLine(&amp;quot;Der Wert des Warpkerns beträgt nun: &amp;quot; &amp;amp; Schiff.WarpCore &amp;amp; &amp;quot; Einheiten&amp;quot;);&lt;br /&gt;
  } Else {&lt;br /&gt;
    WriteLine(&amp;quot;Das Schiff &amp;quot; &amp;amp; Schiff.Name &amp;amp; &amp;quot; hat keinen Warpkern.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Merke: Du kannst nur Instanzen von [[API:CMyShip|CMyShip]] mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via [[API:CShip|CShip]] handhaben aber nicht via der NCC-Nummer erstellen.&lt;br /&gt;
Du kannst nur mit ihnen Arbeiten, wenn dir eine Funktion z.B. die Auswertung der SRS-Liste mit Hilfe von Schiff.SRS dir Instanzen von CShip mit einem &amp;quot;fremden&amp;quot; Schiff übergibt.''&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CMyShip</id>
		<title>API:CMyShip</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CMyShip"/>
				<updated>2010-08-20T14:47:59Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden (Auszug) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Schiff As New CMyShip(123456);}}&lt;br /&gt;
&lt;br /&gt;
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.&lt;br /&gt;
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:&lt;br /&gt;
&lt;br /&gt;
{{Code|WriteLine(Schiff.Name &amp;amp; &amp;quot; hat momentan &amp;quot; &amp;amp; Schiff.Energy &amp;amp; &amp;quot; Energie&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.&lt;br /&gt;
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Schiff.Action.ActivateSRS(True);}}&lt;br /&gt;
&lt;br /&gt;
== Methoden (Auszug) ==&lt;br /&gt;
&lt;br /&gt;
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Action || [[CBaseShipManager]]&lt;br /&gt;
|-&lt;br /&gt;
| Energy || gibt eine Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|CMyShipDefinition]]. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen&lt;br /&gt;
|-&lt;br /&gt;
| Docked || gibt True/False zurück&lt;br /&gt;
|-&lt;br /&gt;
| FlightRange || gibt die Anzahl der geflogenen Felder (Tick) zurück&lt;br /&gt;
|-&lt;br /&gt;
| Name || -&lt;br /&gt;
|-&lt;br /&gt;
| StockRoom || Gibt dir eine Instanz der Klasse [[API:CStockRoom|CStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst&lt;br /&gt;
|-&lt;br /&gt;
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|CShipList]] mit sämtlichen Schiffen im SRS zurück&lt;br /&gt;
|-&lt;br /&gt;
| WarpCore || Wert des Warpkerns&lt;br /&gt;
|}&lt;br /&gt;
Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)&lt;br /&gt;
&lt;br /&gt;
== Beispiel == &lt;br /&gt;
&lt;br /&gt;
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel (falls vorhanden) den Warpkern auffüllen zu lassen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Var Schiff As CMyShip(12345);&lt;br /&gt;
&lt;br /&gt;
  If (Schiff.Definition.HasWarpCore = True) {&lt;br /&gt;
    If (Schiff.WarpCore &amp;lt; 100) {&lt;br /&gt;
      If (Schiff.Docked = False) { &lt;br /&gt;
        Schiff.Action.DockTo(54321);&lt;br /&gt;
      }&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);&lt;br /&gt;
      Schiff.Action.RefilWarpCore(10);&lt;br /&gt;
    }&lt;br /&gt;
    WriteLine(&amp;quot;Der Wert des Warpkerns beträgt nun: &amp;quot; &amp;amp; Schiff.WarpCore &amp;amp; &amp;quot; Einheiten&amp;quot;);&lt;br /&gt;
  } Else {&lt;br /&gt;
    WriteLine(&amp;quot;Das Schiff &amp;quot; &amp;amp; Schiff.Name &amp;amp; &amp;quot; hat keinen Warpkern.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Merke: Du kannst nur Instanzen von [[API:CMyShip|CMyShip]] mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via [[API:CShip|CShip]] handhaben aber nicht via der NCC-Nummer erstellen.&lt;br /&gt;
Du kannst nur mit ihnen Arbeiten, wenn dir eine Funktion z.B. die Auswertung der SRS-Liste mit Hilfe von Schiff.SRS dir Instanzen von CShip mit einem &amp;quot;fremden&amp;quot; Schiff übergibt.''&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CMyShip</id>
		<title>API:CMyShip</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CMyShip"/>
				<updated>2010-08-20T14:47:48Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden (Auszug) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Schiff As New CMyShip(123456);}}&lt;br /&gt;
&lt;br /&gt;
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.&lt;br /&gt;
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:&lt;br /&gt;
&lt;br /&gt;
{{Code|WriteLine(Schiff.Name &amp;amp; &amp;quot; hat momentan &amp;quot; &amp;amp; Schiff.Energy &amp;amp; &amp;quot; Energie&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.&lt;br /&gt;
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Schiff.Action.ActivateSRS(True);}}&lt;br /&gt;
&lt;br /&gt;
== Methoden (Auszug) ==&lt;br /&gt;
&lt;br /&gt;
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Action || [[CBaseShipManager]]&lt;br /&gt;
|-&lt;br /&gt;
| Energy || gibt eine Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|CMyShipDefinition]]. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen&lt;br /&gt;
|-&lt;br /&gt;
| Docked || gibt True/False zurück&lt;br /&gt;
|-&lt;br /&gt;
| FlightRange || gibt die Anzahl der geflogenen Felder (Tick) zurück&lt;br /&gt;
|-&lt;br /&gt;
| Name || -&lt;br /&gt;
|-&lt;br /&gt;
| StockRoom || Gibt dir eine Instanz der Klasse [[API:|CStockRoom|CStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst&lt;br /&gt;
|-&lt;br /&gt;
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|CShipList]] mit sämtlichen Schiffen im SRS zurück&lt;br /&gt;
|-&lt;br /&gt;
| WarpCore || Wert des Warpkerns&lt;br /&gt;
|}&lt;br /&gt;
Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)&lt;br /&gt;
&lt;br /&gt;
== Beispiel == &lt;br /&gt;
&lt;br /&gt;
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel (falls vorhanden) den Warpkern auffüllen zu lassen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Var Schiff As CMyShip(12345);&lt;br /&gt;
&lt;br /&gt;
  If (Schiff.Definition.HasWarpCore = True) {&lt;br /&gt;
    If (Schiff.WarpCore &amp;lt; 100) {&lt;br /&gt;
      If (Schiff.Docked = False) { &lt;br /&gt;
        Schiff.Action.DockTo(54321);&lt;br /&gt;
      }&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);&lt;br /&gt;
      Schiff.Action.RefilWarpCore(10);&lt;br /&gt;
    }&lt;br /&gt;
    WriteLine(&amp;quot;Der Wert des Warpkerns beträgt nun: &amp;quot; &amp;amp; Schiff.WarpCore &amp;amp; &amp;quot; Einheiten&amp;quot;);&lt;br /&gt;
  } Else {&lt;br /&gt;
    WriteLine(&amp;quot;Das Schiff &amp;quot; &amp;amp; Schiff.Name &amp;amp; &amp;quot; hat keinen Warpkern.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Merke: Du kannst nur Instanzen von [[API:CMyShip|CMyShip]] mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via [[API:CShip|CShip]] handhaben aber nicht via der NCC-Nummer erstellen.&lt;br /&gt;
Du kannst nur mit ihnen Arbeiten, wenn dir eine Funktion z.B. die Auswertung der SRS-Liste mit Hilfe von Schiff.SRS dir Instanzen von CShip mit einem &amp;quot;fremden&amp;quot; Schiff übergibt.''&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CMyShip</id>
		<title>API:CMyShip</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CMyShip"/>
				<updated>2010-08-20T14:46:49Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden (Auszug) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Schiff As New CMyShip(123456);}}&lt;br /&gt;
&lt;br /&gt;
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.&lt;br /&gt;
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:&lt;br /&gt;
&lt;br /&gt;
{{Code|WriteLine(Schiff.Name &amp;amp; &amp;quot; hat momentan &amp;quot; &amp;amp; Schiff.Energy &amp;amp; &amp;quot; Energie&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.&lt;br /&gt;
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Schiff.Action.ActivateSRS(True);}}&lt;br /&gt;
&lt;br /&gt;
== Methoden (Auszug) ==&lt;br /&gt;
&lt;br /&gt;
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Action || [[CBaseShipManager]]&lt;br /&gt;
|-&lt;br /&gt;
| Energy || gibt eine Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|CMyShipDefinition]]. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen&lt;br /&gt;
|-&lt;br /&gt;
| Docked || gibt True/False zurück&lt;br /&gt;
|-&lt;br /&gt;
| FlightRange || gibt die Anzahl der geflogenen Felder (Tick) zurück&lt;br /&gt;
|-&lt;br /&gt;
| Name || -&lt;br /&gt;
|-&lt;br /&gt;
| StockRoom || Gibt dir eine Instanz der Klasse [[API:|SStockRoom|SStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst&lt;br /&gt;
|-&lt;br /&gt;
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|CShipList]] mit sämtlichen Schiffen im SRS zurück&lt;br /&gt;
|-&lt;br /&gt;
| WarpCore || Wert des Warpkerns&lt;br /&gt;
|}&lt;br /&gt;
Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)&lt;br /&gt;
&lt;br /&gt;
== Beispiel == &lt;br /&gt;
&lt;br /&gt;
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel (falls vorhanden) den Warpkern auffüllen zu lassen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Var Schiff As CMyShip(12345);&lt;br /&gt;
&lt;br /&gt;
  If (Schiff.Definition.HasWarpCore = True) {&lt;br /&gt;
    If (Schiff.WarpCore &amp;lt; 100) {&lt;br /&gt;
      If (Schiff.Docked = False) { &lt;br /&gt;
        Schiff.Action.DockTo(54321);&lt;br /&gt;
      }&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);&lt;br /&gt;
      Schiff.Action.RefilWarpCore(10);&lt;br /&gt;
    }&lt;br /&gt;
    WriteLine(&amp;quot;Der Wert des Warpkerns beträgt nun: &amp;quot; &amp;amp; Schiff.WarpCore &amp;amp; &amp;quot; Einheiten&amp;quot;);&lt;br /&gt;
  } Else {&lt;br /&gt;
    WriteLine(&amp;quot;Das Schiff &amp;quot; &amp;amp; Schiff.Name &amp;amp; &amp;quot; hat keinen Warpkern.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Merke: Du kannst nur Instanzen von [[API:CMyShip|CMyShip]] mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via [[API:CShip|CShip]] handhaben aber nicht via der NCC-Nummer erstellen.&lt;br /&gt;
Du kannst nur mit ihnen Arbeiten, wenn dir eine Funktion z.B. die Auswertung der SRS-Liste mit Hilfe von Schiff.SRS dir Instanzen von CShip mit einem &amp;quot;fremden&amp;quot; Schiff übergibt.''&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CMyShip</id>
		<title>API:CMyShip</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CMyShip"/>
				<updated>2010-08-20T14:46:30Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden (Auszug) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Schiff As New CMyShip(123456);}}&lt;br /&gt;
&lt;br /&gt;
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.&lt;br /&gt;
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:&lt;br /&gt;
&lt;br /&gt;
{{Code|WriteLine(Schiff.Name &amp;amp; &amp;quot; hat momentan &amp;quot; &amp;amp; Schiff.Energy &amp;amp; &amp;quot; Energie&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.&lt;br /&gt;
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Schiff.Action.ActivateSRS(True);}}&lt;br /&gt;
&lt;br /&gt;
== Methoden (Auszug) ==&lt;br /&gt;
&lt;br /&gt;
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Action || [[CBaseShipManager]]&lt;br /&gt;
|-&lt;br /&gt;
| Energy || gibt eine Zahl zurück&lt;br /&gt;
|-&lt;br /&gt;
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|CMyShipDefinition]]. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen&lt;br /&gt;
|-&lt;br /&gt;
| Docked || gibt True/False zurück&lt;br /&gt;
|-&lt;br /&gt;
| FlightRange || gibt die Anzahl der geflogenen Felder (Tick) zurück&lt;br /&gt;
|-&lt;br /&gt;
| Name || -&lt;br /&gt;
|-&lt;br /&gt;
| StockRoom || Gibt dir eine Instanz der Klasse [[API:|SStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst&lt;br /&gt;
|-&lt;br /&gt;
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|CShipList]] mit sämtlichen Schiffen im SRS zurück&lt;br /&gt;
|-&lt;br /&gt;
| WarpCore || Wert des Warpkerns&lt;br /&gt;
|}&lt;br /&gt;
Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)&lt;br /&gt;
&lt;br /&gt;
== Beispiel == &lt;br /&gt;
&lt;br /&gt;
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel (falls vorhanden) den Warpkern auffüllen zu lassen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Var Schiff As CMyShip(12345);&lt;br /&gt;
&lt;br /&gt;
  If (Schiff.Definition.HasWarpCore = True) {&lt;br /&gt;
    If (Schiff.WarpCore &amp;lt; 100) {&lt;br /&gt;
      If (Schiff.Docked = False) { &lt;br /&gt;
        Schiff.Action.DockTo(54321);&lt;br /&gt;
      }&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);&lt;br /&gt;
      Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);&lt;br /&gt;
      Schiff.Action.RefilWarpCore(10);&lt;br /&gt;
    }&lt;br /&gt;
    WriteLine(&amp;quot;Der Wert des Warpkerns beträgt nun: &amp;quot; &amp;amp; Schiff.WarpCore &amp;amp; &amp;quot; Einheiten&amp;quot;);&lt;br /&gt;
  } Else {&lt;br /&gt;
    WriteLine(&amp;quot;Das Schiff &amp;quot; &amp;amp; Schiff.Name &amp;amp; &amp;quot; hat keinen Warpkern.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Merke: Du kannst nur Instanzen von [[API:CMyShip|CMyShip]] mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via [[API:CShip|CShip]] handhaben aber nicht via der NCC-Nummer erstellen.&lt;br /&gt;
Du kannst nur mit ihnen Arbeiten, wenn dir eine Funktion z.B. die Auswertung der SRS-Liste mit Hilfe von Schiff.SRS dir Instanzen von CShip mit einem &amp;quot;fremden&amp;quot; Schiff übergibt.''&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeStorage</id>
		<title>API:CDataNodeStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeStorage"/>
				<updated>2010-08-20T14:39:11Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Code|CDataNodeStorage}} ermöglicht es, Daten dauerhaft zu speichern. Diese sind dann auch noch vorhanden, wenn das Script nicht gerade ausgeführt wird. Mögliche Daten sind Texte ([[API:String|Strings]]) und Zahlen (z.B. [[API:Integer|Integer]]).&lt;br /&gt;
&lt;br /&gt;
Zum Einrichten einer Datenbank ist lediglich folgende Zeile nötig:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Speicher As New CDataNodeStorage('ScriptName_Speicher', 1);}}&lt;br /&gt;
&lt;br /&gt;
Wenn als zweiter Parameter eine 1 gesetzt ist, wird unter Datenbank-&amp;gt;Scripting-&amp;gt;Daten ein neuer Eintrag mit dem Namen des ersten Parameters (hier: ScriptName_Speicher) erstellt. Dieser lässt sich auch nicht wieder löschen. Überlege dir also vorher, ob du eine Datenbank anlegen willst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit  der Variable ''Speicher'' kannst du nun auf die Datenbank zugreifen und Werte reinschreiben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Speicher.Items.Add('Knoten');}}&lt;br /&gt;
&lt;br /&gt;
Damit wird in der Datenbank ein neuer Knoten mit dem Namen ''Knoten'' angelegt.&lt;br /&gt;
&lt;br /&gt;
''Beachte: Speicher.Items gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück! Darin sind alle Elemente der obersten Ebene der Datenbank enthalten.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Struktur ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Struktur der Datenbank ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
    Knoten&lt;br /&gt;
    {&lt;br /&gt;
        KindKnoten1&lt;br /&gt;
        {&lt;br /&gt;
             KindKindKnoten='Wert1';&lt;br /&gt;
        }&lt;br /&gt;
        KindKnoten2='Wert2';        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der oben gezeigten Struktur funktioniert so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Speicher.Items.Add('Knoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten1');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten2');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Add('KindKindKnoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Item('KindKindKnoten').Value = 'Wert1';&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten2').Value = 'Wert2';&lt;br /&gt;
&lt;br /&gt;
Das mag natürlich auf den ersten Blick noch etwas verwirrend sein, deshalb jetzt Schritt für Schritt:&lt;br /&gt;
&lt;br /&gt;
- In der ersten Zeile wird der obersten Ebene der Datenbank der Knoten 'Knoten' hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
- In der zweiten Zeile wird nun der gerade neu erstellten Ebene 'Knoten' ein Knoten hinzugefügt ('KindKnoten1') und somit eine neue Ebene erstellt.&lt;br /&gt;
&lt;br /&gt;
- In der dritten Zeile passiert wieder das Gleiche, nur dass diesmal ein zweiter Knoten in die gleiche Ebene wie KindKnoten1 eingefügt wird.&lt;br /&gt;
&lt;br /&gt;
- In der vierten Zeile wir eine weitere Ebene eingefügt, diesmal als Unterebene von 'KindKnoten1'.&lt;br /&gt;
&lt;br /&gt;
- In der fünften Zeile wird dem 'KindKindKnoten' der Wert &amp;quot;Wert1&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
- In der letzten Zeile wird schließlich dem Knoten 'KindKnoten2' der Wert &amp;quot;Wert2&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeder Knoten in der Datenbank kann einen Wert haben. Es muss aber keiner eingetragen werden. Um einen Wert auszulesen verfährt man ähnlich wie beim Eintragen eines Wertes:&lt;br /&gt;
{{Code|Speicher.Item('Knoten').Items.Item('KindKnoten2').Value;}} &lt;br /&gt;
&lt;br /&gt;
gibt den Wert &amp;quot;Wert2&amp;quot; zurück, welcher im Script wie gewohnt verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für eine detailliertere Beschreibung, was man mit der Datenbank so alles machen kann, schau dir den Eintrag zur [[API:CDataNodeList|CDataNodeList]] an, sowie [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Kopiert die Datenbank und erstellt eine neue mit dem angegebenem Namen&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Löscht den '''Inhalt''' der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| Items || Gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück ('''wichtigster Parameter''')&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromUser || Damit kann man eine Datenbank von einem anderen User laden, wenn diese freigegben wurde. ACHTUNG: Fehlermeldung wenn die Datenbank nicht existiert!&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Ändert den Namen der Datenbank&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeStorage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeStorage</id>
		<title>API:CDataNodeStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeStorage"/>
				<updated>2010-08-20T14:38:38Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: /* Methoden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
{{Code|CDataNodeStorage}} ermöglicht es, Daten dauerhaft zu speichern. Diese sind dann auch noch vorhanden, wenn das Script nicht gerade ausgeführt wird. Mögliche Daten sind Texte ([[API:String|Strings]]) und Zahlen (z.B. [[API:Integer|Integer]]).&lt;br /&gt;
&lt;br /&gt;
Zum Einrichten einer Datenbank ist lediglich folgende Zeile nötig:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Speicher As New CDataNodeStorage('ScriptName_Speicher', 1);}}&lt;br /&gt;
&lt;br /&gt;
Wenn als zweiter Parameter eine 1 gesetzt ist, wird unter Datenbank-&amp;gt;Scripting-&amp;gt;Daten ein neuer Eintrag mit dem Namen des ersten Parameters (hier: ScriptName_Speicher) erstellt. Dieser lässt sich auch nicht wieder löschen. Überlege dir also vorher, ob du eine Datenbank anlegen willst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit  der Variable ''Speicher'' kannst du nun auf die Datenbank zugreifen und Werte reinschreiben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Speicher.Items.Add('Knoten');}}&lt;br /&gt;
&lt;br /&gt;
Damit wird in der Datenbank ein neuer Knoten mit dem Namen ''Knoten'' angelegt.&lt;br /&gt;
&lt;br /&gt;
''Beachte: Speicher.Items gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück! Darin sind alle Elemente der obersten Ebene der Datenbank enthalten.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Struktur ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Struktur der Datenbank ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
    Knoten&lt;br /&gt;
    {&lt;br /&gt;
        KindKnoten1&lt;br /&gt;
        {&lt;br /&gt;
             KindKindKnoten='Wert1';&lt;br /&gt;
        }&lt;br /&gt;
        KindKnoten2='Wert2';        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der oben gezeigten Struktur funktioniert so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Speicher.Items.Add('Knoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten1');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten2');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Add('KindKindKnoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Item('KindKindKnoten').Value = 'Wert1';&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten2').Value = 'Wert2';&lt;br /&gt;
&lt;br /&gt;
Das mag natürlich auf den ersten Blick noch etwas verwirrend sein, deshalb jetzt Schritt für Schritt:&lt;br /&gt;
&lt;br /&gt;
- In der ersten Zeile wird der obersten Ebene der Datenbank der Knoten 'Knoten' hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
- In der zweiten Zeile wird nun der gerade neu erstellten Ebene 'Knoten' ein Knoten hinzugefügt ('KindKnoten1') und somit eine neue Ebene erstellt.&lt;br /&gt;
&lt;br /&gt;
- In der dritten Zeile passiert wieder das Gleiche, nur dass diesmal ein zweiter Knoten in die gleiche Ebene wie KindKnoten1 eingefügt wird.&lt;br /&gt;
&lt;br /&gt;
- In der vierten Zeile wir eine weitere Ebene eingefügt, diesmal als Unterebene von 'KindKnoten1'.&lt;br /&gt;
&lt;br /&gt;
- In der fünften Zeile wird dem 'KindKindKnoten' der Wert &amp;quot;Wert1&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
- In der letzten Zeile wird schließlich dem Knoten 'KindKnoten2' der Wert &amp;quot;Wert2&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeder Knoten in der Datenbank kann einen Wert haben. Es muss aber keiner eingetragen werden. Um einen Wert auszulesen verfährt man ähnlich wie beim Eintragen eines Wertes:&lt;br /&gt;
{{Code|Speicher.Item('Knoten').Items.Item('KindKnoten2').Value;}} &lt;br /&gt;
&lt;br /&gt;
gibt den Wert &amp;quot;Wert2&amp;quot; zurück, welcher im Script wie gewohnt verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für eine detailliertere Beschreibung, was man mit der Datenbank so alles machen kann, schau dir den Eintrag zur [[API:CDataNodeList|CDataNodeList]] an, sowie [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Kopiert die Datenbank und erstellt eine neue mit dem angegebenem Namen&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Löscht den '''Inhalt''' der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| Items || Gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück ('''wichtigster Parameter''')&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromUser || Damit kann man eine Datenbank von einem anderen User laden, wenn diese freigegben wurde. ACHTUNG: Fehlermeldung wenn die Datenbank nicht existiert!&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Ändert den Namen der Datenbank&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeStorage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeStorage</id>
		<title>API:CDataNodeStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeStorage"/>
				<updated>2010-08-20T14:34:21Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
{{Code|CDataNodeStorage}} ermöglicht es, Daten dauerhaft zu speichern. Diese sind dann auch noch vorhanden, wenn das Script nicht gerade ausgeführt wird. Mögliche Daten sind Texte ([[API:String|Strings]]) und Zahlen (z.B. [[API:Integer|Integer]]).&lt;br /&gt;
&lt;br /&gt;
Zum Einrichten einer Datenbank ist lediglich folgende Zeile nötig:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Speicher As New CDataNodeStorage('ScriptName_Speicher', 1);}}&lt;br /&gt;
&lt;br /&gt;
Wenn als zweiter Parameter eine 1 gesetzt ist, wird unter Datenbank-&amp;gt;Scripting-&amp;gt;Daten ein neuer Eintrag mit dem Namen des ersten Parameters (hier: ScriptName_Speicher) erstellt. Dieser lässt sich auch nicht wieder löschen. Überlege dir also vorher, ob du eine Datenbank anlegen willst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit  der Variable ''Speicher'' kannst du nun auf die Datenbank zugreifen und Werte reinschreiben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Speicher.Items.Add('Knoten');}}&lt;br /&gt;
&lt;br /&gt;
Damit wird in der Datenbank ein neuer Knoten mit dem Namen ''Knoten'' angelegt.&lt;br /&gt;
&lt;br /&gt;
''Beachte: Speicher.Items gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück! Darin sind alle Elemente der obersten Ebene der Datenbank enthalten.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Struktur ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Struktur der Datenbank ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
    Knoten&lt;br /&gt;
    {&lt;br /&gt;
        KindKnoten1&lt;br /&gt;
        {&lt;br /&gt;
             KindKindKnoten='Wert1';&lt;br /&gt;
        }&lt;br /&gt;
        KindKnoten2='Wert2';        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der oben gezeigten Struktur funktioniert so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Speicher.Items.Add('Knoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten1');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten2');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Add('KindKindKnoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Item('KindKindKnoten').Value = 'Wert1';&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten2').Value = 'Wert2';&lt;br /&gt;
&lt;br /&gt;
Das mag natürlich auf den ersten Blick noch etwas verwirrend sein, deshalb jetzt Schritt für Schritt:&lt;br /&gt;
&lt;br /&gt;
- In der ersten Zeile wird der obersten Ebene der Datenbank der Knoten 'Knoten' hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
- In der zweiten Zeile wird nun der gerade neu erstellten Ebene 'Knoten' ein Knoten hinzugefügt ('KindKnoten1') und somit eine neue Ebene erstellt.&lt;br /&gt;
&lt;br /&gt;
- In der dritten Zeile passiert wieder das Gleiche, nur dass diesmal ein zweiter Knoten in die gleiche Ebene wie KindKnoten1 eingefügt wird.&lt;br /&gt;
&lt;br /&gt;
- In der vierten Zeile wir eine weitere Ebene eingefügt, diesmal als Unterebene von 'KindKnoten1'.&lt;br /&gt;
&lt;br /&gt;
- In der fünften Zeile wird dem 'KindKindKnoten' der Wert &amp;quot;Wert1&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
- In der letzten Zeile wird schließlich dem Knoten 'KindKnoten2' der Wert &amp;quot;Wert2&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeder Knoten in der Datenbank kann einen Wert haben. Es muss aber keiner eingetragen werden. Um einen Wert auszulesen verfährt man ähnlich wie beim Eintragen eines Wertes:&lt;br /&gt;
{{Code|Speicher.Item('Knoten').Items.Item('KindKnoten2').Value;}} &lt;br /&gt;
&lt;br /&gt;
gibt den Wert &amp;quot;Wert2&amp;quot; zurück, welcher im Script wie gewohnt verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für eine detailliertere Beschreibung, was man mit der Datenbank so alles machen kann, schau dir den Eintrag zur [[API:CDataNodeList|CDataNodeList]] an, sowie [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Kopiert die Datenbank und erstellt eine neue mit dem angegebenem Namen&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Löscht den '''Inhalt''' der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| Items || Gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück ('''wichtigster Parameter''')&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromUser || Damit kann man eine Datenbank von einem anderen User laden, wenn diese freigegben wurde. ACHTUNG: Fehlermeldung wenn die Datenbank nicht existiert!&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Ändert den Namen der Datenbank&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeStorage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=API:CDataNodeStorage</id>
		<title>API:CDataNodeStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=API:CDataNodeStorage"/>
				<updated>2010-08-20T14:28:30Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: Erster Entwurf zu CDataNodeStorage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:ApiMenu}}&lt;br /&gt;
{{Code|CDataNodeStorage}} ermöglicht es, Daten dauerhaft zu speichern. Diese sind dann auch noch vorhanden, wenn das Script nicht gerade ausgeführt wird. Mögliche Daten sind Texte ([[API:String|Strings]]) und Zahlen (z.B. [[API:Integer|Integer]]).&lt;br /&gt;
&lt;br /&gt;
Zum Einrichten einer Datenbank ist lediglich folgende Zeile nötig:&lt;br /&gt;
&lt;br /&gt;
{{Code|Var Speicher As New CDataNodeStorage('ScriptName_Speicher', 1);}}&lt;br /&gt;
&lt;br /&gt;
Wenn als zweiter Parameter eine 1 gesetzt ist, wird unter Datenbank-&amp;gt;Scripting-&amp;gt;Daten ein neuer Eintrag mit dem Namen des ersten Parameters (hier: ScriptName_Speicher) erstellt. Dieser lässt sich auch nicht wieder löschen. Überlege dir also vorher, ob du eine Datenbank anlegen willst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit  der Variable ''Speicher'' kannst du nun auf die Datenbank zugreifen und Werte reinschreiben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{{Code|Speicher.Items.Add('Knoten');}}&lt;br /&gt;
Damit wird in der Datenbank ein neuer Knoten mit dem Namen ''Knoten'' angelegt.&lt;br /&gt;
&lt;br /&gt;
''Beachte: Speicher.Items gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück! Darin sind alle Elemente der obersten Ebene der Datenbank enthalten.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Struktur ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Struktur der Datenbank ist folgendermaßen aufgebaut:&lt;br /&gt;
&lt;br /&gt;
    Knoten&lt;br /&gt;
    {&lt;br /&gt;
        KindKnoten1&lt;br /&gt;
        {&lt;br /&gt;
             KindKindKnoten='Wert1';&lt;br /&gt;
        }&lt;br /&gt;
        KindKnoten2='Wert2';        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der oben gezeigten Struktur funktioniert so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Speicher.Items.Add('Knoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten1');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Add('KindKnoten2');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Add('KindKindKnoten');&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten1').Items.Item('KindKindKnoten').Value = 'Wert1';&lt;br /&gt;
    Speicher.Item('Knoten').Items.Item('KindKnoten2').Value = 'Wert2';&lt;br /&gt;
&lt;br /&gt;
Das mag natürlich auf den ersten Blick noch etwas verwirrend sein, deshalb jetzt Schritt für Schritt:&lt;br /&gt;
&lt;br /&gt;
- In der ersten Zeile wird der obersten Ebene der Datenbank der Knoten 'Knoten' hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
- In der zweiten Zeile wird nun der gerade neu erstellten Ebene 'Knoten' ein Knoten hinzugefügt ('KindKnoten1') und somit eine neue Ebene erstellt.&lt;br /&gt;
&lt;br /&gt;
- In der dritten Zeile passiert wieder das Gleiche, nur dass diesmal ein zweiter Knoten in die gleiche Ebene wie KindKnoten1 eingefügt wird.&lt;br /&gt;
&lt;br /&gt;
- In der vierten Zeile wir eine weitere Ebene eingefügt, diesmal als Unterebene von 'KindKnoten1'.&lt;br /&gt;
&lt;br /&gt;
- In der fünften Zeile wird dem 'KindKindKnoten' der Wert &amp;quot;Wert1&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
- In der letzten Zeile wird schließlich dem Knoten 'KindKnoten2' der Wert &amp;quot;Wert2&amp;quot; zugewiesen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeder Knoten in der Datenbank kann einen Wert haben. Es muss aber keiner eingetragen werden. Um einen Wert auszulesen verfährt man ähnlich wie beim Eintragen eines Wertes:&lt;br /&gt;
{{Code|Speicher.Item('Knoten').Items.Item('KindKnoten2').Value;}} gibt den Wert &amp;quot;Wert2&amp;quot; zurück, welcher im Script wie gewohnt verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für eine detailliertere Beschreibung, was man mit der Datenbank so alles machen kann, schau dir den Eintrag zur [[API:CDataNodeList|CDataNodeList]] an, sowie [[API:CDataNode|CDataNode]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Methoden ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften oder Methoden sind die folgenden:&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
! Methode !! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Kopiert die Datenbank und erstellt eine neue mit dem angegebenem Namen&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Löscht den '''Inhalt''' der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| Items || Gibt ein Objekt des Typs [[API:CDataNodeList|CDataNodeList]] zurück ('''wichtigster Parameter''')&lt;br /&gt;
|-&lt;br /&gt;
| LoadFromUser || Damit kann man eine Datenbank von einem anderen User laden, wenn diese freigegben wurde. ACHTUNG: Fehlermeldung wenn die Datenbank nicht existiert!&lt;br /&gt;
|-&lt;br /&gt;
| Rename || Ändert den Namen der Datenbank&lt;br /&gt;
|}&lt;br /&gt;
Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeStorage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Spieler:SimonSlater|SimonSlater]] 16:28, 20. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	<entry>
		<id>https://wiki.stne.net/index.php?title=Scripting:Funktionen</id>
		<title>Scripting:Funktionen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stne.net/index.php?title=Scripting:Funktionen"/>
				<updated>2008-10-01T08:18:52Z</updated>
		
		<summary type="html">&lt;p&gt;SimonSlater: Erstellung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
Ich möchte hier, speziell für Anfänger, einige Basisfunktionen zeigen. Diese dürfen natürlich gerne auch für eigene Scripte verwendet werden.&lt;br /&gt;
Manche Dinge braucht man fast immer, daher wäre es doch Zeitverschwendung, alles jedes Mal neu zu schreiben. Ich hoffe, dass aus diesem Artikel eine kleine Sammlung von Basisfunktionen wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Function GetDistance(id1 As Integer, id2 As Integer) As Integer&lt;br /&gt;
{&lt;br /&gt;
  Var iDistance As Integer = 0;&lt;br /&gt;
  Var iDistanceX As Integer = 0;&lt;br /&gt;
  Var iDistanceY As Integer = 0;&lt;br /&gt;
  Var iX1 As Integer = 0;&lt;br /&gt;
  Var iX2 As Integer = 0;&lt;br /&gt;
  Var iY1 As Integer = 0;&lt;br /&gt;
  Var iY2 As Integer = 0;&lt;br /&gt;
  &lt;br /&gt;
  Var Ship1 As New CMyShip (id1);&lt;br /&gt;
  Var Ship2 As New CMyShip (id2);&lt;br /&gt;
  &lt;br /&gt;
  iX1 = Ship1.MapPosition.X;&lt;br /&gt;
  iY1 = Ship1.MapPosition.Y;&lt;br /&gt;
  iX2 = Ship2.MapPosition.X;&lt;br /&gt;
  iY2 = Ship2.MapPosition.Y;&lt;br /&gt;
  &lt;br /&gt;
  iDistanceX = Math.Abs(iX1 - iX2);&lt;br /&gt;
  iDistanceY = Math.Abs(iY1 - iY2);&lt;br /&gt;
  &lt;br /&gt;
  iDistance = iDistanceX + iDistanceX&lt;br /&gt;
  Return iDistance;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese Funktion berechnet die Distanz zwischen zwei Schiffen. Aufgerufen wird sie mit '''GetDistance(123456,654321)''', wobei zwei Schiffs-IDs eingegeben werden müssen. Die Funktion liefert dann den absoluten Abstandswert als Ganzzahl.&lt;br /&gt;
Mit '''abstand = GetDistance....''' erhält die Variable &amp;quot;abstand&amp;quot; den Wert der Entfernung, z.B. &amp;quot;14&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Function GetPosition(id As Integer) As String&lt;br /&gt;
{&lt;br /&gt;
  Var sPos As String = '';&lt;br /&gt;
  Var iX As Integer = 0;&lt;br /&gt;
  Var iY As Integer = 0;&lt;br /&gt;
  Var bOrbit As Boolean = 0;&lt;br /&gt;
  &lt;br /&gt;
  Var Ship As New CMyShip (id);&lt;br /&gt;
  &lt;br /&gt;
  iX = Ship.MapPosition.X;&lt;br /&gt;
  iY = Ship.MapPosition.Y;&lt;br /&gt;
  &lt;br /&gt;
  If(Ship.MapPosition.InOrbit) {sPos = '@';}&lt;br /&gt;
  sPos = sPos &amp;amp; CStr(iX) &amp;amp; '|' &amp;amp; CStr(iY);&lt;br /&gt;
  &lt;br /&gt;
  Return sPos;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese Funktion gibt die Position eines Schiffes als '''String''' aus. Aufgerufen wird sie mit '''GetPosition(123456)''', wobei eine Schiffs-ID eingegeben werden muss. Die Funktion liefert dann einen String mit den Koordinaten, also z.B. '''187|433'''. Ist das Schiff im Orbit, wird ein '''@''' vor den String gesetzt. Mit dieser Funktion kann dan z.B. '''myShip.Aktion.FliegeZu(GetPosition(123456))''' ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Weitere Funktionen folgen.&lt;/div&gt;</summary>
		<author><name>SimonSlater</name></author>	</entry>

	</feed>