API:CMyShip
Aus STNE-Wiki
Phips (Diskussion | Beiträge) |
K (→Methoden (Auszug)) |
||
(Der Versionsvergleich bezieht 15 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. | ||
+ | {{Code|Var Schiff As New CMyShip(123456);}} | ||
- | + | 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: | ||
+ | {{Code|WriteLine(Schiff.Name & " hat momentan " & Schiff.Energy & " Energie");}} | ||
- | + | 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. | |
+ | Beispiel: | ||
- | + | {{Code|Schiff.Action.ActivateSRS(True);}} | |
+ | == Methoden (Auszug) == | ||
- | + | 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) | ||
+ | == Beispiel == | ||
- | 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. | + | ''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 dir | + | 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.