API:CMyShip

Aus STNE-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Methoden (Auszug))
 
(Der Versionsvergleich bezieht 9 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
CMyShip ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[CShip]].
+
{{Vorlage:ApiMenu}}
 +
== Allgemein ==
 +
{{Code|CMyShip}} ist so ziemlich die wichtigste Klasse in der ScriptEngine. Sie erbt die kompletten Eigenschaften von [[API:CShip|CShip]].
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.
Zum Verständnis ein kurzes Beispiel, in dem es sich um ein eigenes Schiff mit der NCC-Nummer 123456 handelt.
Zeile 5: Zeile 7:
{{Code|Var Schiff As New CMyShip(123456);}}
{{Code|Var Schiff As New CMyShip(123456);}}
-
Nun ist in der Variable Schiff eine Instanz des Objektes CMyShip gespeichert.
+
Nun ist in der Variable Schiff eine Instanz des Objektes [[API:CMyShip|CMyShip]] gespeichert.
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:
Ein Blick auf den Objektexplorer (http://game.stne.net/ObjectExplorer.aspx?p=CMyShip) verrät dir, was du damit anstellen kannst:
{{Code|WriteLine(Schiff.Name & " hat momentan " & Schiff.Energy & " Energie");}}
{{Code|WriteLine(Schiff.Name & " hat momentan " & Schiff.Energy & " Energie");}}
-
Desweiteren sind natürlich auch Aktionen über das Objekt [[CBaseShipManager]] möglich.
+
Desweiteren sind natürlich auch Aktionen über das Objekt [[API:CBaseShipManager|CBaseShipManager]] mit Hilfe der Methode Schiff.Action möglich.
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.
Genauere Informationen hierzu findest du bei der Objekt-Dokumentation.
Zeile 18: Zeile 20:
{{Code|Schiff.Action.ActivateSRS(True);}}
{{Code|Schiff.Action.ActivateSRS(True);}}
 +
== Methoden (Auszug) ==
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:
Die am häufigsten benutzten Eigenschaften oder Methoden sind die folgenden:
 +
{| cellpadding="4"
 +
! Methode !! Erklärung
 +
|-
 +
| Action || [[API:CBaseShipManager|CBaseShipManager]]
 +
|-
 +
| Energy || gibt eine Zahl zurück
 +
|-
 +
| Definition || ist ein Objekt vom Typ [[API:CMyShipDefinition|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 [[API:CStockRoom|CStockRoom]] zurück, mit denen du die aktueleln Waren im Lager etc. auslesen kannst
 +
|-
 +
| SRS || Gibt eine Instanz der Klasse [[API:CShipList|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)
-
*Action [[CBaseShipManager]]
+
== Beispiel ==
-
*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:
+
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);
   Var Schiff As CMyShip(12345);
-
   If (Schiff.WarpCore < 100) {
+
 
-
    If (Schiff.Docked = False) {  
+
   If (Schiff.Definition.HasWarpCore = True) {
-
      Schiff.Action.DockTo(54321);
+
    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);
     }
     }
-
     Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Deuterium);
+
     WriteLine("Der Wert des Warpkerns beträgt nun: " & Schiff.WarpCore & " Einheiten");
-
    Schiff.Action.TransferFromShip(54321, 10, EBeamResource.Antimatter);
+
  } Else {
-
     Schiff.Action.TransferFromShip(54321, 5, EBeamResource.Dilicium);
+
     WriteLine("Das Schiff " & Schiff.Name & " hat keinen Warpkern.");
-
    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.
+
''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.
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.''
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.''

Aktuelle Version vom 20. August 2010, 14:49 Uhr

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.