API:CBaseShipManager
Aus STNE-Wiki
Phips (Diskussion | Beiträge) |
Phips (Diskussion | Beiträge) K |
||
Zeile 107: | Zeile 107: | ||
** Nur mit Feature-Pack möglich | ** Nur mit Feature-Pack möglich | ||
+ | |||
+ | http://game.stne.net/ObjectExplorer.aspx?p=CBaseShipManager |
Aktuelle Version vom 20. August 2010, 18:21 Uhr
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | API-Übersicht | Hilfen zum Arbeiten im Wiki |
Allgemein
Die Klasse CBaseShipManger wird benötigt um Aktionen mit einem Schiff durchzuführen.
Hierzu ist es erstmal notwendig, eine Instanz von CMyShip zu erzeugen:
Var Schiff As New CMyShip(123456);
Auf das Schiff mit der NCC 123456 kann man nun sämtliche Methoden des Objektes CBaseShipManger anwenden, da die Eigenschaft Action von CMyShip der Klasse CBaseShipManager entspricht.
Beispiel
Var Schiff As New CMyShip(123456); Var Station As New CMyShip(54321);
Schiff.Action.CollectOre(20); Schiff.Action.FlyTo("150|250"); Schiff.Action.EnterOrbit(); Schiff.Action.DockTo(Station.ShipID); Schiff.Action.TransferToShip(Station.ShipID, 100, EBeamResource.IridiumOre); Schiff.Action.TransferFromShip(Station.ShipID, 50, EBeamResource.Deuterium); Schiff.Action.TransferFromShip(54321, 50, EBeamRessource.Food); Schiff.Action.Undock(); Schiff.Action.LeaveOrbit(); Schiff.Action.FlyTo("152|251");
In dem Beispiel würde das eigene Schiff die vorgegeben Aktionen ausführen, in dem Fall: Erz sammeln, zu einer Station in einem tiefen Orbit fliegen, Andocken, Erz rüberbeamen, Schiff mit Nahrung sowie Deuterium versorgen und anschließend zurück fliegen.
Methoden
Hier eine Liste der gebräuchlichen Methoden von CBaseShipManager:
Bitte beachte: Die Aktionen unterliegen den selben Einschränkungen wie im Spiel, d.h. du kannst nur mit anderen Schiffen interagieren, wenn sie im selben Sektor sind oder zum Beispiel auch nur die Schilde laden, wenn sie auch abgekühlt sind.
WICHTIG: Bevor du Aktionen ausführst, prüfe erst ob diese Möglich ist, z.B. beim Beamen oder SRS aktivieren - sonst wird unnötiger Code ausgeführt und ggf. ein Kampftick berechnet (auch wenn keine feindlichen Schiffe vorhanden sind. Bitte bedenke dass dein Skript maximal 100 Aktionen pro Durchlauf ausführen kann, also achte nicht nur dem Server zu Liebe auf Performance!
Methode | Parameter | Erklärung |
---|---|---|
ActivateLRS(Status) | Boolean | Bei Schiff.Action.ActivateLRS(True) wird das LRS aktiviert, bei False deaktiviert |
ActivateReplicators(Status) | Boolean | Aktiviert/Deaktiviert den Replikator an Bord |
ActivateShields(Status) | Boolean | Schilde aktivieren |
ActivateSRS(Status) | Boolean | SRS aktivieren |
ActivateTractorBeam(ShipID) | Integer | Erfasst das Schiff mit der NCC-Nr ShipID im Traktorstrahl |
ActivateWarpCore(Status) | Boolean | Warpkern aktivieren |
ApplyGoodsToConstruction() | - | Speist beim Umbau von Tugs / Stationen die Waren ein |
ChargeEmergencyBattery(ShipID, Menge) | Integer, Integer | Lädt die Reservebatterie von dem Schiff mit der NCC-Nr ShipID um Menge Energieeinheiten |
ChargeShields(Menge) | Integer | Lädt die eigenen Schilde um Menge auf. |
CollectDeuterium(Energie) ** | Integer | Sammelt mit Energie Einheiten Deuterium |
CollectOre(Energie) ** | Integer | Extrahiert mit Energie Einheiten Erz |
DeactivateTractorBeam() | - | Deaktiviert den Traktorstrahl, in dem ein andere Schiff gehalten wird. |
DischargeEmergencyBattery(Menge) | Integer | Menge} |
DockTo(ShipID) | Integer | Dockt an das Schiff/Station mit der NCC-Nr ShipID an |
EnterOrbit | - | Betritt den Orbit der Kolonie, über der das Schiff gerade steht |
ExtractFromWreck(Menge) | Integer | Extrahiert Duranium aus dem erfassten Wrack mit Energiemenge Menge |
Fly(AnzahlFelder, Richtung) | Integer, EShipDirection | Fliegt AnzahlFelder in die vorgegebene Richtung |
FlyTo(Position) ** | String | Fliegt zu der angegeben Positon im Format "x|y" |
Hide(Versteckt) | Boolean | Versteckt das Schiff (wenn es sich in einem dichten Nebel/Asteroiden befindet) |
JettisonGoods(Menge, WarenTyp) | Integer, EGoodsType | Waren über Board werfen |
LeaveAllFleets() | - | Verlässt alle Flotten, in denen das Schiff zugeteilt wurde |
LeaveOrbit() | - | Verlässt den aktuellen Orbit |
RefillWarpCore(Menge) | Integer | Lädt Menge Warpkernfüllungen auf |
Repair(ShipID, Hüllenpunkte) | Integer, Integer | Repariert das Schiff mit der NCC-Nr ShipID um Hüllenpunkte Punkte |
SetAlertLevel(Stufe) | EAlertLevel | Setzt die Alarmstufe auf den gegeben Wert vom Typ EAlertLevel |
SetName(Name) | String | Benennt das Schiff um |
TransferFromColony(KolonieID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Transportiert von Kolonie mit der ID KolonieID genau Anzahl Ressourcem vom Typ Ressource (EBeamResource) |
TransferFromShip(ShipID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Transportiert Waren von einem Schiff mit der NCC-Nr FromShipID |
TransferToColony(KolonieID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Warentransport zur Kolonie |
TransferToShip(ShipID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Warentransport zu einem Schiff |
Undock() | - | Das Schiff abdocken |
** Nur mit Feature-Pack möglich