/lowram/Lowprep.js is now using testdistribute.js

This commit is contained in:
2024-10-14 01:25:02 +02:00
parent fc25418810
commit 151c773446
6 changed files with 54 additions and 26 deletions

View File

@@ -88,7 +88,7 @@ export function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTar
bestEntry = null;
let nMaxMoneyPerChance = 0;
let nBestMoneyPerChance = 0;
serverList.forEach((entry)=> {
serverList.forEach((entry) => {
if (entry.minSec <= maxSec && entry.minPorts <= maxPorts && entry.minHackLvl <= currentHackLevel) {
nMaxMoneyPerChance = (entry.maxMoney * ns.hackAnalyzeChance(entry.serverName)) / entry.minSec;
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
@@ -96,7 +96,7 @@ export function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTar
bestEntry = entry.serverName;
}
}
})
})
}
ns.write("bestTarget.txt", JSON.stringify(serverList.find((entry) => entry.serverName === bestEntry)), "w");
}
@@ -203,20 +203,21 @@ export async function purchaseAndUpgradeServers(ns) {
purchasedServers = listPurchasedServers(ns);
for (let currentServer of purchasedServers) {
currentMoney = ns.getServerMoneyAvailable("home");
if (ns.getServerMaxRam(currentServer) < targetRam){
if (ns.getServerMaxRam(currentServer) < targetRam) {
if (ns.getPurchasedServerUpgradeCost(currentServer, targetRam) < currentMoney) {
if (ns.upgradePurchasedServer(currentServer, targetRam)) {
ns.print(currentServer + " upgraded to " + targetRam + " GB RAM");
serverList = JSON.parse(ns.read("serverList.txt"));
let newServerList = serverList.map((entry) => { if (entry.serverName === currentServer){ entry.maxRam = targetRam} return entry});
ns.write("serverList.txt", JSON.stringify(newServerList), "w");
ns.tprint(cCyan + "Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB" + cReset);
ns.toast("Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB", "info", 10000);
if (ns.upgradePurchasedServer(currentServer, targetRam)) {
ns.print(currentServer + " upgraded to " + targetRam + " GB RAM");
serverList = JSON.parse(ns.read("serverList.txt"));
let newServerList = serverList.map((entry) => { if (entry.serverName === currentServer) { entry.maxRam = targetRam } return entry });
ns.write("serverList.txt", JSON.stringify(newServerList), "w");
ns.tprint(cCyan + "Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB" + cReset);
ns.toast("Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB", "info", 10000);
}
} else {
await ns.sleep(5000);
continue
}
} else {
await ns.sleep(5000);
continue
}};
};
}
++i;
}
@@ -291,6 +292,10 @@ export function listWorkServers(ns) {
}
export function sortJsonArrayByKey(array, primaryKey, secondaryKey) {
if (typeof (array) === "string") {
array = JSON.parse(array);
}
//ns.tprint(typeof(array));
return array.sort((a, b) => {
const xPrimary = a[primaryKey];
const yPrimary = b[primaryKey];