Kategorie:Scripte

Aus STNE-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
-
{{Scriptingmenue}}
+
Duranium Extraktion per Flotte =
 +
==Das Skript==
 +
// Script zur Extraktion von Duranium aus größeren Trümmerfeldansammlungen bei Unterstützung durch eine energieliefernde Flotte.
 +
//Waren in den Trümmerfeldern werden angezeigt.
 +
// In den Trümmerfeldern vorhandene Rettungskapseln werden auf das Schiff Basis gebeamt, bei dem es sich nicht unbedingt um eine Basis handeln muss.
 +
//In Zeile 5 ist die EPS-Größe des Extraktorschiffes anzugeben, also 30 bei einer Ortygia.
 +
//Das Script bricht ab, wenn der Laderaum des Schiffes voll, keine Energie mehr vorhanden oder kein Duranium mehr zu extrahieren ist.
 +
Var Extraktorschiff As CMyShip = New CMyShip(123456);
 +
Var Energieflotte As CMyFlotte = New CMyFlotte(123456);
 +
Var Basis As CMyShip = New CMyShip(123122);
 +
Var Trümmerfeld As CShip;
 +
Var EPS As Integer = 30; //EPS-Größe des Extraktorschiffes
 +
Var index As Integer;
-
[[Kategorie:Scripting]]
+
Energieflotte.Aktion.TransferiereZuSchiff(Extraktorschiff.ShipID, Math.Floor(EPS / Energieflotte.Ships.Count), EBeamRessource.Energie)
 +
For (Each Trümmerfeld In Extraktorschiff.SRS){
 +
  If (Trümmerfeld.UserID = 3 and Trümmerfeld.Hülle > 5 and Extraktorschiff.Energie > 0 and Extraktorschiff.Lager.FreieKapazität > 0){
 +
    For (index = 2 To 31){
 +
      If (Trümmerfeld.Lager.Menge(index) > 0) {
 +
        WriteLine(Trümmerfeld.Name & '(' & Trümmerfeld.ShipID & ') enthält ' & Trümmerfeld.Lager.Menge(index) & ' ' & CWarenInfo.GetName(index));
 +
      }
 +
    }
 +
    If (Trümmerfeld.Lager.Menge(EWarenTyp.Rettungskapseln) > 0){
 +
      Basis.Aktion.TransferiereVonSchiff(Trümmerfeld.ShipID, Trümmerfeld.Lager.Menge(EWarenTyp.Rettungskapseln), EBeamRessource.Rettungskapseln)
 +
    }
 +
    Extraktorschiff.Aktion.TraktorStrahlEinschalten(Trümmerfeld.ShipID);
 +
    extrahieren();
 +
  }
 +
}
 +
 
 +
Function extrahieren(){
 +
  While (Trümmerfeld.Hülle > 5 and Extraktorschiff.Energie > 0 and Extraktorschiff.Lager.FreieKapazität > 0){
 +
    Extraktorschiff.Aktion.WrackExtraktoren(EPS);
 +
    Energieflotte.Aktion.TransferiereZuSchiff(Extraktorschiff.ShipID, Math.Floor(EPS / Energieflotte.Ships.Count), EBeamRessource.Energie)
 +
  }
 +
}
 +
Extraktorschiff.Aktion.TraktorStrahlAbschalten();
 +
 
 +
==Kommentar==
 +
Das ganze Skript sollte so Funktionieren dasist auf Sammeln mit 6 [[Indus]] in einem [[Deuterium-Nebel|dichten Deuteriumnebel]] und das Lagern auf einer [[Antares B]] zugeschnitten,außerdem sollte eine Basisvorhanden sein, über welche die Waren transferiert werden könnnen.<br/>
 +
Wenn z.B. mit [[Sunhawk]]s gesammelt wird musst du
 +
IF(Energi=30)
 +
durch
 +
IF(Energi=40)
 +
ersetzten, außerdem musst du den Wert beim Beamen erhöhen.<br/>
 +
Auch musst du den Beam-Wert senken wenn du nur in einem [[Deuterium-Nebel|dünnen Deuteriumnebel]] sammelst.
 +
 
 +
 
 +
[[Kategorie:Scripte| Duranium Extraktion]]

Version vom 25. April 2008, 10:14 Uhr

Duranium Extraktion per Flotte =

Das Skript

// Script zur Extraktion von Duranium aus größeren Trümmerfeldansammlungen bei Unterstützung durch eine energieliefernde Flotte. //Waren in den Trümmerfeldern werden angezeigt. // In den Trümmerfeldern vorhandene Rettungskapseln werden auf das Schiff Basis gebeamt, bei dem es sich nicht unbedingt um eine Basis handeln muss. //In Zeile 5 ist die EPS-Größe des Extraktorschiffes anzugeben, also 30 bei einer Ortygia. //Das Script bricht ab, wenn der Laderaum des Schiffes voll, keine Energie mehr vorhanden oder kein Duranium mehr zu extrahieren ist.

Var Extraktorschiff As CMyShip = New CMyShip(123456); Var Energieflotte As CMyFlotte = New CMyFlotte(123456); Var Basis As CMyShip = New CMyShip(123122); Var Trümmerfeld As CShip; Var EPS As Integer = 30; //EPS-Größe des Extraktorschiffes Var index As Integer;

Energieflotte.Aktion.TransferiereZuSchiff(Extraktorschiff.ShipID, Math.Floor(EPS / Energieflotte.Ships.Count), EBeamRessource.Energie) For (Each Trümmerfeld In Extraktorschiff.SRS){

 If (Trümmerfeld.UserID = 3 and Trümmerfeld.Hülle > 5 and Extraktorschiff.Energie > 0 and Extraktorschiff.Lager.FreieKapazität > 0){
   For (index = 2 To 31){
     If (Trümmerfeld.Lager.Menge(index) > 0) {
       WriteLine(Trümmerfeld.Name & '(' & Trümmerfeld.ShipID & ') enthält ' & Trümmerfeld.Lager.Menge(index) & ' ' & CWarenInfo.GetName(index));
     }
   }
   If (Trümmerfeld.Lager.Menge(EWarenTyp.Rettungskapseln) > 0){
     Basis.Aktion.TransferiereVonSchiff(Trümmerfeld.ShipID, Trümmerfeld.Lager.Menge(EWarenTyp.Rettungskapseln), EBeamRessource.Rettungskapseln)
   }
   Extraktorschiff.Aktion.TraktorStrahlEinschalten(Trümmerfeld.ShipID);
   extrahieren();
 }

}

Function extrahieren(){

 While (Trümmerfeld.Hülle > 5 and Extraktorschiff.Energie > 0 and Extraktorschiff.Lager.FreieKapazität > 0){
   Extraktorschiff.Aktion.WrackExtraktoren(EPS);
   Energieflotte.Aktion.TransferiereZuSchiff(Extraktorschiff.ShipID, Math.Floor(EPS / Energieflotte.Ships.Count), EBeamRessource.Energie)
 }

} Extraktorschiff.Aktion.TraktorStrahlAbschalten();

Kommentar

Das ganze Skript sollte so Funktionieren dasist auf Sammeln mit 6 Indus in einem dichten Deuteriumnebel und das Lagern auf einer Antares B zugeschnitten,außerdem sollte eine Basisvorhanden sein, über welche die Waren transferiert werden könnnen.
Wenn z.B. mit Sunhawks gesammelt wird musst du

IF(Energi=30)

durch

IF(Energi=40)

ersetzten, außerdem musst du den Wert beim Beamen erhöhen.
Auch musst du den Beam-Wert senken wenn du nur in einem dünnen Deuteriumnebel sammelst.

Persönliche Werkzeuge