Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Bitburner script: sustained_hack.js
- /** @param {NS} ns */
- //NS-Arguments (in Order)
- let target;
- //Tweakable Constants
- const minMoney = 0.80
- const maxSecurity = 0.1
- //Server Specs
- let maxMoney;
- let minSecurity;
- //global vars
- let stop = false;
- export async function main(ns) {
- target = ns.args[0];
- await initServerSpecs(ns);
- await hackServer(ns);
- }
- async function initServerSpecs(ns) {
- maxMoney = ns.getServerMaxMoney(target);
- minSecurity = ns.getServerMinSecurityLevel(target);
- }
- async function hackServer(ns) {
- while (!ns.isRunning("kill.js", "home", "sustained_hack.js") && !ns.isRunning("kill.js", "home")) {
- if (await keepUp(ns)) {
- await ns.hack(target);
- }
- }
- }
- async function keepUp(ns) {
- let unsecure = ns.getServerSecurityLevel(target) <= minSecurity + maxSecurity;
- let rich = ns.getServerMoneyAvailable(target) >= maxMoney * minMoney;
- if (unsecure && rich) {
- return true;
- } else if (unsecure) {
- await ns.grow(target);
- } else {
- await ns.weaken(target);
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement