API:CBaseShipManager
Aus STNE-Wiki
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | API-Übersicht | Hilfen zum Arbeiten im Wiki |
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.
Hier ein kleines 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.
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() | - | Speißt 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 | Entlädt die Reservebatterie um "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 | 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(FromShipID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Transportiert Waren von einem Schiff mit der NCC-Nr "FromShipID" |
TransferToColony(ToColonieID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Warentransport zur Kolonieei |
TransferToShip(ToShipID, Anzahl, Ressource) | Integer, Integer, EBeamResource | Warentransport zu einem Schiff |
Undock() | - | Das Schiff abdocken |
** Nur mit Feature-Pack möglich