API:CMyShip
Aus STNE-Wiki
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 möglich. Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.
Beispiel:
Schiff.Action.ActivateSRS(True);
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:
- Action CBaseShipManager
- Energy ---> gibt eine Zahl zurück
- Docked ---> gibt True/False zurück
- FlightRange ---> gibt die Anzahl der geflogenen Felder (Tick) zurück
- Name
- StockRoom --> Gibt dir eine Instanz der Klasse [SStockRoom] 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
Mit denen ist es möglich, Informationen über das Schiff abfragen zu lassen und anschließend zum Beispiel den Warpkern auffüllen zu lassen:
Var Schiff As CMyShip(12345); 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");
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.