frazzlerunning
Commander
- Registriert
- März 2017
- Beiträge
- 2.587
Hey Leute, bitte um Hilfe bei einem Script, dass ich für das Spiel Bitburner geschrieben habe:
Beim ausführen des Scripts erhalte ich die Fehlermeldung:
Die letzten Ausgaben im Script sind:
Ich schließe daraus, dass in der function searchMinServerRam() noch alles in Ordnung ist, das aber die 8 (return minRam) nicht in oramSize gespeichert wird.
Javascript:
/** @param {NS} ns */
export async function main(ns) {
var maxPServers = ns.getPurchasedServerLimit();
var purchServers = ns.getPurchasedServers();
var maxServerRam = ns.getPurchasedServerMaxRam();
var moneyAvail = 0;
var newServerCost = 0;
if (purchServers.length != maxPServers) {
await ns.exec('buyServers.js', 'home');
}
purchServers = ns.getPurchasedServers();
function searchMinServerRam() {
var minRam = maxServerRam;
for (var s1 of purchServers) {
if (minRam > ns.getServerMaxRam(s1)) {
minRam = ns.getServerMaxRam(s1);
}
}
ns.print(minRam);
return minRam;
}
var oramSize = searchMinServerRam();
var nramSize = oramSize * 2;
function replaceServer(ramSize) {
var repServName = '';
for (var s2 of purchServers) {
if (ns.getServerMaxRam(s2) == oramSize) {
repServName = s2;
}
}
ns.killall(repServName);
ns.deleteServer(repServName);
ns.purchaseServer(repServName, ramSize);
ns.exec('newsetup.js', 'home');
}
while (oramSize != maxServerRam) {
oramSize = searchMinServerRam();
ns.print(oramSize);
nramSize = oramSize * 2;
ns.print(nramSize);
moneyAvail = ns.getServerMoneyAvailable('home');
newServerCost = ns.getPurchasedServerCost(nramSize);
if (nramSize > maxServerRam) {
nramSize = maxServerRam;
}
if (moneyAvail > newServerCost) {
replaceServer(nramSize);
}
await ns.sleep(60000);
}
}
Beim ausführen des Scripts erhalte ich die Fehlermeldung:
getPurchasedServerCost: ram is NaN.
Die letzten Ausgaben im Script sind:
getServerMaxRam: returned 32.00GB
32
8
{}
NaN
getServerMoneyAvailable: returned player's money: $173.352m
getPurchasedServerCost: ram is NaN.
Script crashed with runtime error
Ich schließe daraus, dass in der function searchMinServerRam() noch alles in Ordnung ist, das aber die 8 (return minRam) nicht in oramSize gespeichert wird.