diff --git a/hack-manager.js b/hack-manager.js index 2a39210..0f8be6c 100644 --- a/hack-manager.js +++ b/hack-manager.js @@ -41,9 +41,13 @@ async function little_prep(ns, hack_target, wt, gt, reserved_RAM) { let host_servers = []; for (let i = 0; i < full_list.length; i++) { const server = full_list[i]; + if (!ns.hasRootAccess(server)) { + await ns.gainRootAccess(server); + } + if (ns.hasRootAccess(server)) { - await ns.scp('targeted-grow.js', 'home', server); - await ns.scp('targeted-weaken.js', 'home', server); + await ns.scp('targeted-grow.js', server); + await ns.scp('targeted-weaken.js', server); host_servers.push(server); } } @@ -121,10 +125,13 @@ async function little_hack(ns, hack_target, weaken_threads, grow_threads, hack_t let host_servers = []; for (let i = 0; i < full_list.length; i++) { const server = full_list[i]; + if (!ns.hasRootAccess(server)) { + await ns.gainRootAccess(server); + } + if (ns.hasRootAccess(server)) { - await ns.scp('targeted-hack.js', 'home', server); - await ns.scp('targeted-grow.js', 'home', server); - await ns.scp('targeted-weaken.js', 'home', server); + await ns.scp('targeted-grow.js', server); + await ns.scp('targeted-weaken.js', server); host_servers.push(server); } } @@ -181,7 +188,7 @@ async function little_hack(ns, hack_target, weaken_threads, grow_threads, hack_t threads = weaken_threads; } if (threads >= 1) { - ns.exec('targeted-weaken.js', server, threads, threads, hack_target, n); + ns.exec('targeted-weaken.js', server, Math.floor(threads), Math.floor(threads), hack_target, n); weaken_threads -= threads; await ns.sleep(5); } @@ -197,7 +204,7 @@ async function little_hack(ns, hack_target, weaken_threads, grow_threads, hack_t threads = grow_threads; } if (threads >= 1) { - ns.exec('targeted-grow.js', server, threads, threads, ns.getWeakenTime(hack_target) - ns.getGrowTime(hack_target) - 500, hack_target, n); + ns.exec('targeted-grow.js', server, Math.floor(threads), Math.floor(threads), Math.floor(ns.getWeakenTime(hack_target) - ns.getGrowTime(hack_target) - 500), hack_target, n); grow_threads -= threads; await ns.sleep(5); } @@ -213,7 +220,7 @@ async function little_hack(ns, hack_target, weaken_threads, grow_threads, hack_t threads = hack_threads; } if (threads >= 1) { - ns.exec('targeted-hack.js', server, threads, threads, ns.getWeakenTime(hack_target) - ns.getHackTime(hack_target) + 500, hack_target, n, threads); + ns.exec('targeted-hack.js', server, Math.floor(threads), Math.floor(threads), Math.floor(ns.getWeakenTime(hack_target) - ns.getHackTime(hack_target) + 500), hack_target, n, threads); hack_threads -= threads; await ns.sleep(5); } @@ -253,7 +260,7 @@ export async function main(ns) { const hack_threads = ns.hackAnalyzeThreads(hack_target, ns.getServerMoneyAvailable(hack_target) / 2); const sec_increase = ns.hackAnalyzeSecurity(hack_threads) + ns.growthAnalyzeSecurity(grow_threads); let weaken_threads = 1; - + while (ns.weakenAnalyze(weaken_threads) < sec_increase * 1.1) { weaken_threads += 5; await ns.sleep(1); @@ -439,4 +446,4 @@ export async function main(ns) { await ns.sleep(10); } } -} +} \ No newline at end of file