Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { getWeakenThreads, getGrowThreads, getHackThreads } from "Utilities/lib.js";
- /** @param {NS} ns */
- export async function main(ns) {
- const logActions = ns.args[1] == "-r";
- if (logActions) { ns.tail(); ns.disableLog("ALL"); }
- //Server Variables
- const target = ns.args[0];
- const minimumCashReservesForHackConst = 0.8; //50%
- const mininumSecurityForHackConst = 1 // Lowest value
- const minimumCashReserves = minimumCashReservesForHackConst * ns.getServerMaxMoney(target); // Minimum Money Availabe in Server
- const minimumSecurity = mininumSecurityForHackConst * ns.getServerMinSecurityLevel(target); // Minimum Security Level of Server
- //Paths
- const weakenPath = "Hacking/Phase_2/weaken.js";
- const growPath = "Hacking/Phase_2/grow.js";
- const hackPath = "Hacking/Phase_2/hack.js";
- //Loop
- while (true) {
- let cashReserves = ns.getServerMoneyAvailable(target);
- let securityLevel = ns.getServerSecurityLevel(target);
- //Weaken
- if (securityLevel > minimumSecurity) {
- ns.exec(weakenPath, ns.getHostname(), getWeakenThreads(ns, target, 0), target);
- if (logActions) { ns.print(`Started weaken on ${target}`) }
- await ns.sleep(ns.getWeakenTime(target) + 500);
- if (logActions) { ns.print(`Weakened ${target} from ${securityLevel} to ${ns.getServerSecurityLevel(target)}`) }
- }
- //Grow
- else if (cashReserves < minimumCashReserves * 1.2) {
- ns.exec(growPath, ns.getHostname(), getGrowThreads(ns, target, minimumCashReserves * 1.2), target);
- if (logActions) { ns.print(`Started grow on ${target}`) }
- await ns.sleep(ns.getGrowTime(target) + 500);
- if (logActions) { ns.print(`Grew ${target} from ${cashReserves} to ${ns.getServerMoneyAvailable(target)}`) }
- }
- else {
- ns.exec(hackPath, ns.getHostname(), getHackThreads(ns, target, minimumCashReserves * 0.7), target);
- if (logActions) { ns.print(`Started hack on ${target}`) }
- await ns.sleep(ns.getHackTime(target) + 500);
- if (logActions) { ns.print(`Hacked ${target} for ${cashReserves - ns.getServerMoneyAvailable(target)}`) }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement