Files
The_Bitburner_Scripts/Mizzajl/home/singularity/manualalgo.js
2024-10-06 10:09:10 +02:00

71 lines
2.4 KiB
JavaScript

/** @param {NS} ns */
export async function main(ns) {
const sNode = ns.args[0]; // target server
//logs
ns.disableLog("getServerSecurityLevel");
ns.disableLog("getServerMoneyAvailable");
//server info
const nMinSec = ns.getServerMinSecurityLevel(sNode);
const nMaxCash = ns.getServerMaxMoney(sNode);
while (true) {
//timestamp
let currentDate = new Date();
let ntimeStamp = currentDate.toLocaleTimeString('sw-SV') + " -";
const nCurrSec = ns.getServerSecurityLevel(sNode);
const nCurrCash = ns.getServerMoneyAvailable(sNode);
ns.print(ntimeStamp + "---------------------------------------------------------------");
ns.print("Cash: " + (Math.floor(nCurrCash * 1000) / 1000) + " / " + nMaxCash);
ns.print("Security: " + (Math.floor(nCurrSec * 1000) / 1000) + " / " + nMinSec);
if (nCurrSec > (nMinSec + 1)) {
//Calculate estimate time of completion
let nOffset = ns.getWeakenTime(sNode);
let nWeakTime = new Date(currentDate.getTime() + nOffset);
let sWeakTime = nWeakTime.toLocaleTimeString('sw-SV');
//Print estimated time of completion
ns.print("Weakening " + sNode + " Estimated complete at " + sWeakTime);
//run weaken
await ns.weaken(sNode);
ns.print("-------------------------------------------------------------------------");
}
else if (nCurrCash < (nMaxCash * 0.9)) {
//Calculate estimate time of completion
let nOffset = ns.getGrowTime(sNode);
let nGrowTime = new Date(currentDate.getTime() + nOffset);
let sGrowTime = nGrowTime.toLocaleTimeString('sw-SV');
//Print estimated time of completion
ns.print("Growing " + sNode + " Estimated complete at " + sGrowTime);
//run grow
await ns.grow(sNode);
ns.print("-------------------------------------------------------------------------");
}
else {
//Calculate estimate time of completion
let nOffset = ns.getHackTime(sNode);
let nHackTime = new Date(currentDate.getTime() + nOffset);
let sHackTime = nHackTime.toLocaleTimeString('sw-SV');
//Print estimated time of completion
ns.print("Hacking " + sNode + " Estimated complete at " + sHackTime);
//run hack
//await ns.hack(sNode);
await ns.singularity.manualHack();
ns.print("-------------------------------------------------------------------------");
}
}
}