diff --git a/servers/home/hackallservers.ts b/servers/home/hackallservers.ts index a1cb37f..c24f504 100644 --- a/servers/home/hackallservers.ts +++ b/servers/home/hackallservers.ts @@ -9,6 +9,7 @@ export async function main(ns: NS) { let moneyThresh = ns.getServerMaxMoney(server) * 0.75; let securityThresh = ns.getServerMinSecurityLevel(server) + 5; let numThreads = ns.getServerMaxRam(server) / ns.getScriptRam("hack.js") + numThreads = Math.floor(numThreads); executeScriptOnServerFromAnother(ns, server, "hack.js", numThreads, [server, moneyThresh, securityThresh]) } } \ No newline at end of file diff --git a/servers/home/killall.ts b/servers/home/killall.ts new file mode 100644 index 0000000..a2bfae8 --- /dev/null +++ b/servers/home/killall.ts @@ -0,0 +1,9 @@ +import {NS} from "NetscriptDefinitions"; +import {recursiveScan} from "./utils"; + +export async function main(ns: NS) { + let servers: string[] = recursiveScan(ns) + for (const server of servers) { + ns.killall(server) + } +} \ No newline at end of file diff --git a/servers/home/watcher.ts b/servers/home/watcher.ts new file mode 100644 index 0000000..4fe1ba7 --- /dev/null +++ b/servers/home/watcher.ts @@ -0,0 +1,18 @@ +import {NS} from "NetscriptDefinitions"; +export async function main(ns: NS) { + let hackingLevel = ns.getHackingLevel(); + while (hackingLevel < 9999) { + ns.run("hackallservers.js"); + let seconds = 60 * 1000; // 1 minute + await ns.sleep(seconds) + + let oldHackingLevel = hackingLevel; + hackingLevel = ns.getHackingLevel(); + if(oldHackingLevel !== hackingLevel) { + ns.tprint(`Hacking level increased from ${oldHackingLevel} to ${hackingLevel}`); + ns.run("killall.js"); + await ns.sleep(1000) // 1 second + ns.run("hackallservers.js"); + } + } +} \ No newline at end of file