Scripts

Started by OhneRegierung, Nov 10, 2017, 03:02 pm

previous topic - next topic
Go Down

OhneRegierung

Hallo, kann jemand ein Script schreiben, welches:

- den Stand der Minen abfragt
- errechnet welche Mine auf welchem Plani sich am schnellsten amortisieren wird
- das als einfache Tabelle ausgibt

Ich denke das geht recht einfach, nur ich verstehe nichts von PhP oder so.

Liebe Grüße und super herzlichen Dank an Jentec

Escay

Wprde mich pberhaupt über brauchbare scripts freuen

OhneRegierung

Quote from: Escay on Nov 11, 2017, 11:46 amWprde mich pberhaupt über brauchbare scripts freuen

ein paar habe ich noch aus dem alten Forum:

Sammeln:
// Fleetsaver
printOut "Fleetsaver startet"
//Planetenname
if( sendFleetResourcesSelector("[9:99:99]", "[0:00:00] Mond", FleetMission.TRANSPORT_MISSION, 100, "DCM", [:]) ) printOut "Planetenname ist sicher"
else printOut "!!!! Planetenname NICHT SICHER !"

das kannst du natürlich beliebig oft hintereinander kopieren und dann mit einem Klick alle Res zusammenziehen

OhneRegierung

/*
Def Calc. based on http://www.ogame-wissen.de/3088-die-perfekte-verteidigungs-kombination.html#post65023
Version 1.0
by Holz

*/

//Config
//Exchange Rate/Wechselkurs
double met = 2.5
double kris = 1.5
double deut = 1

double tf = 0.7 // 70% DF = 0.7 | 50% = 0.5 | 30% = 0.3
double loot = 0.5 // normal = 0.5 | honor = 0.75 | bandit = 1
double dayprod = 0.5 // daily production -> 1 = 1day | 2 = 2 days and so on

//I recommend 75rocket:150LL:40HL:8Gaus:1Plasma
int rak = 75
int ll = 150
int sl = 40
int gaus = 8
int plasma = 1
int klschild = 1 //can only be 1
int grschild = 1 //same here.
//Config End

printOut "Invest in s.Shield -> g. Shield -> Plasma -> Gaus -> SL -> LL -> Rak"

for(planet in getPlanets()){

printOut "-----------" + planet + "------------"

Planet p = getPlanetFromName(planet)
if(p.coordinates.isMoon()){"-----------Moon-----------"}
else{
updatePlanet(planet)

//temp Variablen
int tfmet = 0
int tfkris = 0
int lootmet = 0
int lootkris = 0
int lootdeut = 0
double gesMSE = 0
double verviel = 0
int rakneed = 0
int llneed = 0
int slneed = 0
int gausneed = 0
int plasmaneed = 0
int klschildneed = 0
int grschildneed = 0
int rakakt = 0
int llakt = 0
int slakt = 0
int gausakt = 0
int plasmaakt = 0
int rakneu = 0
int llneu = 0
int slneu = 0
int gausneu = 0
int plasmaneu = 0

//TF ausrechnen.
for(ship in ships)
{

if (getNumberOf(ship,planet) == 0){}
else{
tfmet = tfmet + getPrice(ship, planet).getMetalValue()*getNumberOf(ship,planet)
tfkris = tfkris + getPrice(ship, planet).getCrystalValue()*getNumberOf(ship,planet)*(met/kris)
}
}

tfkris = tfkris + getNumberOf(SOLARSATELLITE,planet)*getPrice(SOLARSATELLITE,planet).getCrystalValue()*(met/kris)
tfmet = tfmet*tf
tfkris = tfkris*tf
//printOut "-------------TF---------------"
//printOut tfmet + " Met " + tfkris + " Kris"

//Loot berechnen.
lootmet = planet.getMetalProduction()*loot*(24*dayprod)
lootkris = planet.getCrystalProduction()*loot*(met/kris)*(24*dayprod)
lootdeut = planet.getDeuteriumProduction()*loot*met*(24*dayprod)
//printOut "-------------LOOT-------------"
//printOut lootmet + " Met " + lootkris + " Kris " + lootdeut + " Deut"

gesMSE = tfmet + tfkris + lootmet + lootkris + lootdeut
verviel = gesMSE/135000
printOut "Verviel " + verviel
printOut "-------------DEFneeded--------"
rakneu = rak*verviel
llneu = ll*verviel
slneu = sl*verviel
gausneu = gaus*verviel
plasmaneu = plasma*verviel

 rakakt = getNumberOf(ROCKETLAUNCHER,planet)
 llakt = getNumberOf(LIGHTLASER,planet)
 slakt = getNumberOf(HEAVYLASER,planet)
 gausakt = getNumberOf(GAUSSCANNON ,planet)
 plasmaakt = getNumberOf(PLASMATURRET,planet)
 rakneed = rakneu-rakakt
 llneed = llneu-llakt
 slneed = slneu-slakt
 gausneed = gausneu-gausakt
 plasmaneed = plasmaneu-plasmaakt

if(getNumberOf(SMALLSHIELDDOME,planet)==1){klschildneed = 0}
else {klschildneed = 1}
if(getNumberOf(LARGESHIELDDOME,planet)==1){grschildneed = 0}
else {grschildneed = 1}
if(rakneed<=0){rakneed=0}
if(llneed<=0){llneed=0}
if(slneed<=0){slneed=0}
if(gausneed<=0){gausneed=0}
if(plasmaneed<=0){plasmaneed=0}
printOut "Raketenwerfer: " + rakneed
printOut "Leichter Laser: " + llneed
printOut "Schwere Laser: " + slneed
printOut "Gauskanonen: " + gausneed
printOut "Plasmawerfer: " + plasmaneed
printOut "Kleine Schildkuppel: " + klschildneed
printOut "Grosse Schildkuppel: " + grschildneed

def investDef = [
SMALLSHIELDDOME: klschildneed,
LARGESHIELDDOME: grschildneed,
PLASMATURRET: plasmaneed,
GAUSSCANNON: gausneed,
HEAVYLASER: slneed,
LIGHTLASER: llneed,
ROCKETLAUNCHER: rakneed,
]

if(klschildneed == 0 && grschildneed == 0 && plasmaneed == 0 && gausneed == 0 && slneed == 0 && llneed == 0 && rakneed == 0){}
else{
investInShipsDefences(investDef, planet)
}
printOut "-----------------------------"
}
}

Jentec

was man halt so dort noch findet

http://forum.ogameautomizer.com/index.php?board=27.0

bei langerweile werd ich mich dort mal durch kämpfen und die brauchbaren scripte hier rein stellen

padawan

Forgive, but I do not understand how to add the script in OGA, can you do tutorials?


OhneRegierung

Warum funktioniert es nicht?:

Funktioniert:

Code Select
addScheduledFleet("[1:1:1]", "[1:1:2]", DEPLOYMENT_MISSION, 20, [:])
Code Select
sendFleetResourcesSelector("[1:1:1]", "[1:1:2]", FleetMission.DEPLOYMENT_MISSION, 20, "DCM", [:])

aber ich möchte alle Res als "Scheduled Fleet" mitschicken, funktioniert nicht mit [DCM]:
Code Select
addScheduledFleet("[1:1:1]", "[1:1:2]", DEPLOYMENT_MISSION, 20, "DCM", [:])


Ich bekomme die Fleet als "Scheduled Fleet" nicht mit allen Resourcen geschickt......

Go Up