43 lines
1.6 KiB
JavaScript
43 lines
1.6 KiB
JavaScript
import { getCracks, scanServerList, findBestTarget, crackingAndRooting, copyAndRunScript, purchaseAndUpgradeServers } from "/RamsesUtils.js";
|
|
|
|
/** @param {NS} ns */
|
|
export async function main(ns) {
|
|
const funnyScript = ["batch.js", "Ramses-grow.js", "Ramses-weaken.js", "Ramses-hack.js"];
|
|
//write function to purchase scripts from tor network and rerun getCracks() then recrack and reroot
|
|
let cracks = {};
|
|
cracks = getCracks(ns);
|
|
let maxPorts = Object.keys(cracks).length;
|
|
scanServerList(ns);
|
|
let manualTargetOverride = "";
|
|
if (ns.getHackingLevel() < 200) {
|
|
manualTargetOverride = "n00dles";
|
|
};
|
|
|
|
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(), manualTargetOverride);
|
|
let bestTarget = ns.read("bestTarget.txt")
|
|
|
|
ns.tprint("Best Target: " + bestTarget);
|
|
ns.tprint(Object.keys(JSON.parse(ns.read("serverList.txt"))).length);
|
|
crackingAndRooting(ns, cracks, funnyScript, true);
|
|
ns.exec(funnyScript[0], "home", 1, JSON.parse(bestTarget).serverName, 500, true);
|
|
let reset = ns.args[0];
|
|
ns.print(reset);
|
|
if (reset === true) {
|
|
ns.tprint("reset === true")
|
|
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(), manualTargetOverride);
|
|
let serverList = JSON.parse(ns.read("serverList.txt"));
|
|
for (const [name, entry] of Object.entries(serverList)) {
|
|
|
|
copyAndRunScript(ns, funnyScript, name);
|
|
}
|
|
}
|
|
/*let serverListForFiles = JSON.parse(ns.read("serverList.txt"));
|
|
for (const [name2, entry2] of Object.entries(serverListForFiles)) {
|
|
ns.tprint(name2 + " Files: " + entry2.serverFiles)
|
|
}*/
|
|
//await ns.sleep(500000);
|
|
await purchaseAndUpgradeServers(ns);
|
|
|
|
}
|
|
|