API:CMyShip

Aus STNE-Wiki

Wechseln zu: Navigation, Suche
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | API-Übersicht | Hilfen zum Arbeiten im Wiki

Allgemein

CMyShip ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von CShip.

Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.

Var Schiff As New CMyShip(123456);

Nun ist in der Variable Schiff eine Instanz des Objektes CMyShip gespeichert. Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:

WriteLine(Schiff.Name & " hat momentan " & Schiff.Energy & " Energie");

Desweiteren sind natürlich auch Aktionen über das Objekt CBaseShipManager mit Hilfe der Methode Schiff.Action möglich. Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.


Beispiel:

Schiff.Action.ActivateSRS(True);

Methoden (Auszug)

Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:

Methode Erklärung
Action CBaseShipManager
Energy gibt eine Zahl zurück
Definition ist ein Objekt vom Typ CMyShipDefinition. Damit lassen sich Eigenschaften des aktuellen Schiffstyps auslesen
Docked gibt True/False zurück
FlightRange gibt die Anzahl der geflogenen Felder (Tick) zurück
Name -
StockRoom Gibt dir eine Instanz der Klasse CStockRoom zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst
SRS Gibt eine Instanz der Klasse CShipList mit sämtlichen Schiffen im SRS zurück
WarpCore Wert des Warpkerns

Eine vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip)

Beispiel

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:


 Var Schiff As CMyShip(12345);
 If (Schiff.Definition.HasWarpCore = True) {
   If (Schiff.WarpCore < 100) {
     If (Schiff.Docked = False) { 
       Schiff.Action.DockTo(54321);
     }
     Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);
     Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);
     Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);
     Schiff.Action.RefilWarpCore(10);
   }
   WriteLine("Der Wert des Warpkerns beträgt nun: " & Schiff.WarpCore & " Einheiten");
 } Else {
   WriteLine("Das Schiff " & Schiff.Name & " hat keinen Warpkern.");
 }


Merke: Du kannst nur Instanzen von CMyShip mit deinen eigenen Schiffen erstellen, andere Schiffe kannst du nur via CShip handhaben aber nicht via der NCC-Nummer erstellen. 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 "fremden" Schiff übergibt.

Persönliche Werkzeuge