more work on the lowram scripts
This commit is contained in:
@@ -49,7 +49,7 @@ export async function main(ns) {
|
|||||||
|
|
||||||
//nScriptsRAM = ns.getScriptRam(sScript, "home") + Math.max(nWeakenScriptRAM, nGrowScriptRAM, nHackScriptRAM);
|
//nScriptsRAM = ns.getScriptRam(sScript, "home") + Math.max(nWeakenScriptRAM, nGrowScriptRAM, nHackScriptRAM);
|
||||||
//ns.tprint("nScriptsRAM = " + nScriptsRAM);
|
//ns.tprint("nScriptsRAM = " + nScriptsRAM);
|
||||||
if (entry.maxRam >= 20 && serverList[name].rootAccess === true) {
|
if (entry.maxRam >= 64 && serverList[name].rootAccess === true) {
|
||||||
|
|
||||||
if (sOverrideTarget !== undefined) {
|
if (sOverrideTarget !== undefined) {
|
||||||
sTarget = sOverrideTarget;
|
sTarget = sOverrideTarget;
|
||||||
@@ -73,7 +73,7 @@ export async function main(ns) {
|
|||||||
ns.exec(sScript, entry.serverName, 1, sTarget, nFrequency, true, false);
|
ns.exec(sScript, entry.serverName, 1, sTarget, nFrequency, true, false);
|
||||||
await ns.sleep(1);
|
await ns.sleep(1);
|
||||||
}
|
}
|
||||||
else if (entry.maxRam < 20 && entry.maxRam > 0 && serverList[name].rootAccess === true) {
|
else if (entry.maxRam < 64 && entry.maxRam > 0 && serverList[name].rootAccess === true) {
|
||||||
ns.scriptKill(sScript, entry.serverName);
|
ns.scriptKill(sScript, entry.serverName);
|
||||||
ns.scriptKill(sShareScript, entry.serverName);
|
ns.scriptKill(sShareScript, entry.serverName);
|
||||||
ns.scriptKill(sWeakenScript, entry.serverName);
|
ns.scriptKill(sWeakenScript, entry.serverName);
|
||||||
|
|||||||
@@ -83,14 +83,14 @@ export function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTar
|
|||||||
if (!ns.fileExists("serverList.txt", "home")) scanServerList();
|
if (!ns.fileExists("serverList.txt", "home")) scanServerList();
|
||||||
let serverList = JSON.parse(ns.read("serverList.txt"));
|
let serverList = JSON.parse(ns.read("serverList.txt"));
|
||||||
let bestEntry = "";
|
let bestEntry = "";
|
||||||
if (manualTargetOverride.length > 0) {
|
if (manualTargetOverride && manualTargetOverride.length > 0) {
|
||||||
bestEntry = manualTargetOverride;
|
bestEntry = manualTargetOverride;
|
||||||
} else {
|
} else {
|
||||||
bestEntry = null;
|
bestEntry = null;
|
||||||
let nMaxMoneyPerChance = 0;
|
let nMaxMoneyPerChance = 0;
|
||||||
let nBestMoneyPerChance = 0;
|
let nBestMoneyPerChance = 0;
|
||||||
for (const [name, entry] of Object.entries(serverList)) {
|
for (const [name, entry] of Object.entries(serverList)) {
|
||||||
if (entry.minSec <= maxSec && entry.minPorts <= maxPorts && entry.minHackLvl < currentHackLevel) {
|
if (entry.minSec <= maxSec && entry.minPorts <= maxPorts && entry.minHackLvl <= currentHackLevel) {
|
||||||
nMaxMoneyPerChance = (entry.maxMoney * ns.hackAnalyzeChance(name)) / entry.minSec;
|
nMaxMoneyPerChance = (entry.maxMoney * ns.hackAnalyzeChance(name)) / entry.minSec;
|
||||||
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
|
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
|
||||||
nBestMoneyPerChance = nMaxMoneyPerChance;
|
nBestMoneyPerChance = nMaxMoneyPerChance;
|
||||||
@@ -241,3 +241,15 @@ export function getGrowThreads(ns, sTarget, nHackThreads, nCores) {
|
|||||||
let nGrowthThreads = ns.growthAnalyze(sTarget, 1 + nHackAmountPercent, nCores);
|
let nGrowthThreads = ns.growthAnalyze(sTarget, 1 + nHackAmountPercent, nCores);
|
||||||
return nGrowthThreads;
|
return nGrowthThreads;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @param {NS} ns */
|
||||||
|
export async function ExecuteAndWait(ns, sScript, ...args) {
|
||||||
|
if (!ns.isRunning(sScript, ...args)) { ns.exec(sScript, ...args); }
|
||||||
|
while (ns.isRunning(sScript, ...args)) { await ns.sleep(100); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @param {NS} ns */
|
||||||
|
export async function RunAndWait(ns, sScript, ...args) {
|
||||||
|
if (!ns.isRunning(sScript, ...args)) { ns.run(sScript, ...args); }
|
||||||
|
while (ns.isRunning(sScript, ...args)) { await ns.sleep(100); }
|
||||||
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"home":{"n00dles":{"CSEC":{}},"foodnstuff":{"zer0":{"phantasy":{"crush-fitness":{"rothman-uni":{"aevum-police":{"global-pharm":{"omnia":{"icarus":{"taiyang-digital":{}},"solaris":{"zb-def":{"titan-labs":{"stormtech":{"4sigma":{"blade":{"ecorp":{}},"nwo":{"fulcrumassets":{}}},".":{"powerhouse-fitness":{"The-Cave":{}}}},"vitalife":{"omnitek":{"b-and-a":{"megacorp":{}}}}},"applied-energetics":{},"run4theh111z":{"fulcrumtech":{"kuai-gong":{"clarkinc":{}}},"helios":{}}}}},"deltaone":{"defcomm":{},"univ-energy":{"infocomm":{"microdyne":{}},"nova-med":{}}}}}},"catalyst":{"millenium-fitness":{"galactic-cyber":{"unitalife":{"zeus-med":{}}},"aerocorp":{}}}}}},"nectar-net":{"neo-net":{"computek":{"syscore":{"rho-construction":{"snap-fitness":{}}}}},"silver-helix":{"johnson-ortho":{"summit-uni":{},"I.I.I.I":{"lexo-corp":{}}}},"omega-net":{"the-hub":{"zb-institute":{"alpha-ent":{}}},"netlink":{},"avmnite-02h":{}}}},"sigma-cosmetics":{},"joesguns":{"max-hardware":{}},"hong-fang-tea":{},"harakiri-sushi":{},"iron-gym":{},"pserv-00":{},"pserv-01":{},"pserv-02":{},"pserv-03":{},"pserv-04":{},"pserv-05":{},"pserv-06":{},"pserv-07":{},"pserv-08":{},"pserv-09":{},"pserv-10":{},"pserv-11":{},"pserv-12":{},"pserv-13":{},"pserv-14":{},"pserv-15":{},"pserv-16":{},"pserv-17":{},"pserv-18":{},"pserv-19":{},"pserv-20":{},"pserv-21":{},"pserv-22":{},"pserv-23":{},"pserv-24":{},"darkweb":{}}}
|
{"home":{"n00dles":{},"foodnstuff":{"zer0":{"silver-helix":{}}},"sigma-cosmetics":{"CSEC":{"neo-net":{"johnson-ortho":{}},"phantasy":{}}},"joesguns":{},"hong-fang-tea":{},"harakiri-sushi":{"max-hardware":{}},"iron-gym":{"nectar-net":{"omega-net":{"the-hub":{"rothman-uni":{"millenium-fitness":{"aerocorp":{"deltaone":{"defcomm":{},"univ-energy":{}}}}}},"computek":{"catalyst":{},"I.I.I.I":{}},"netlink":{"zb-institute":{"lexo-corp":{"global-pharm":{}}},"summit-uni":{"rho-construction":{"snap-fitness":{"omnia":{"icarus":{"zb-def":{"titan-labs":{"fulcrumtech":{"4sigma":{"powerhouse-fitness":{}},"kuai-gong":{"nwo":{"ecorp":{}}}},"helios":{".":{"blade":{"fulcrumassets":{}},"clarkinc":{}}}}}}},"unitalife":{"solaris":{},"zeus-med":{"infocomm":{},"taiyang-digital":{"run4theh111z":{"vitalife":{}}},"nova-med":{"microdyne":{"stormtech":{"omnitek":{"b-and-a":{"megacorp":{},"The-Cave":{}}}}},"applied-energetics":{}}}}}},"alpha-ent":{}},"syscore":{"aevum-police":{"galactic-cyber":{}}}},"crush-fitness":{},"avmnite-02h":{}}}},"darkweb":{},"pserv-00":{},"pserv-01":{},"pserv-02":{},"pserv-03":{},"pserv-04":{},"pserv-05":{},"pserv-06":{},"pserv-07":{},"pserv-08":{},"pserv-09":{},"pserv-10":{},"pserv-11":{},"pserv-12":{},"pserv-13":{},"pserv-14":{},"pserv-15":{},"pserv-16":{},"pserv-17":{},"pserv-18":{},"pserv-19":{},"pserv-20":{},"pserv-21":{},"pserv-22":{},"pserv-23":{},"pserv-24":{}}}
|
||||||
@@ -7,7 +7,7 @@ export async function main(ns) {
|
|||||||
let maxPorts = Object.keys(cracks).length;
|
let maxPorts = Object.keys(cracks).length;
|
||||||
scanServerList(ns);
|
scanServerList(ns);
|
||||||
let manualTargetOverride = "";
|
let manualTargetOverride = "";
|
||||||
if (ns.getHackingLevel() < 200) {
|
if (ns.getHackingLevel() < 50) {
|
||||||
manualTargetOverride = "n00dles";
|
manualTargetOverride = "n00dles";
|
||||||
};
|
};
|
||||||
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(), manualTargetOverride);
|
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(), manualTargetOverride);
|
||||||
|
|||||||
@@ -1,37 +1,31 @@
|
|||||||
|
import { RunAndWait } from "./Library";
|
||||||
/** @param {NS} ns */
|
/** @param {NS} ns */
|
||||||
export async function main(ns) {
|
export async function main(ns) {
|
||||||
ns.tail();
|
ns.tail();
|
||||||
|
|
||||||
const sServerListScript = "Serverlist.js";
|
const sServerListScript = "Serverlist.js";
|
||||||
const sGangScript = "gang/auto-gang2.js";
|
const sGangScript = "gang/auto-gang2.js";
|
||||||
const sPServScript = "purchaseServers.js";
|
const sPServScript = "purchaseServers.js";
|
||||||
const sBatchController = "EveryServerRun.js";
|
const sBatchController = "EveryServerRun.js";
|
||||||
const sBackdoorScript = "backdoor.js";
|
const sBackdoorScript = "backdoor.js";
|
||||||
const sUpdateTarget = "Updatebesttarget.js"
|
const sUpdateTarget = "Updatebesttarget.js"
|
||||||
const sMonitorScript = "autoexec.js"
|
const sMonitorScript = "autoexec.js";
|
||||||
|
|
||||||
|
|
||||||
const sServerListFile = "serverList.txt";
|
const sServerListFile = "serverList.txt";
|
||||||
const sBestServerFile = "bestTarget.txt";
|
const sBestServerFile = "bestTarget.txt";
|
||||||
|
|
||||||
|
await RunAndWait(ns, sServerListScript);
|
||||||
|
|
||||||
|
const oServerList = JSON.parse(ns.read(sServerListFile));
|
||||||
|
const oHome = oServerList["home"];
|
||||||
|
|
||||||
if (!ns.isRunning(sServerListScript)){ns.run(sServerListScript);}
|
const nHomeMaxRAM = oHome.maxRam;
|
||||||
while(ns.isRunning(sServerListScript)){await ns.sleep(100);}
|
ns.print("nHomeMaxRAM = " + nHomeMaxRAM);
|
||||||
|
|
||||||
if (!ns.isRunning(sGangScript)){ns.run(sGangScript);}
|
|
||||||
|
|
||||||
if (!ns.isRunning(sPServScript)){ns.run(sPServScript);}
|
|
||||||
|
|
||||||
if (!ns.isRunning(sBackdoorScript)){ns.run(sBackdoorScript);}
|
|
||||||
while(ns.isRunning(sBackdoorScript)){await ns.sleep(100);}
|
|
||||||
|
|
||||||
if (!ns.isRunning(sUpdateTarget)){ns.run(sUpdateTarget);}
|
|
||||||
while(ns.isRunning(sUpdateTarget)){await ns.sleep(100);}
|
|
||||||
|
|
||||||
if (!ns.isRunning(sBatchController)){ns.run(sBatchController, 1, "n00dles");}
|
|
||||||
while(ns.isRunning(sBatchController)){await ns.sleep(100);}
|
|
||||||
|
|
||||||
if (!ns.isRunning(sMonitorScript)){ns.run(sMonitorScript);}
|
|
||||||
|
|
||||||
|
if (!ns.isRunning(sGangScript)) { ns.run(sGangScript); }
|
||||||
|
if (!ns.isRunning(sPServScript)) { ns.run(sPServScript); }
|
||||||
|
await RunAndWait(ns, sBackdoorScript);
|
||||||
|
await RunAndWait(ns, sUpdateTarget);
|
||||||
|
await RunAndWait(ns, sBatchController);
|
||||||
|
|
||||||
|
if (nHomeMaxRAM >= 256) { if (!ns.isRunning(sMonitorScript)) { ns.run(sMonitorScript); } }
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,11 @@ export async function main(ns) {
|
|||||||
let cracks = {};
|
let cracks = {};
|
||||||
cracks = getCracks(ns);
|
cracks = getCracks(ns);
|
||||||
let maxPorts = Object.keys(cracks).length;
|
let maxPorts = Object.keys(cracks).length;
|
||||||
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(),"");
|
let manualTargetOverride = "";
|
||||||
|
if (ns.getHackingLevel() < 50) {
|
||||||
|
manualTargetOverride = "n00dles";
|
||||||
|
};
|
||||||
|
findBestTarget(ns, 999, maxPorts, ns.getHackingLevel(), manualTargetOverride);
|
||||||
let bestTarget = ns.read("bestTarget.txt")
|
let bestTarget = ns.read("bestTarget.txt")
|
||||||
ns.tprint("Best Target: " + bestTarget);
|
ns.tprint("Best Target: " + bestTarget);
|
||||||
ns.tprint(Object.keys(JSON.parse(ns.read("serverList.txt"))).length);
|
ns.tprint(Object.keys(JSON.parse(ns.read("serverList.txt"))).length);
|
||||||
|
|||||||
@@ -50,18 +50,18 @@ export async function main(ns) {
|
|||||||
let nBonusWeaken = 0;
|
let nBonusWeaken = 0;
|
||||||
let nBonusGrow = 0;
|
let nBonusGrow = 0;
|
||||||
|
|
||||||
/*if (nCurrentSecurity > nMinSecurity + 3) {
|
if (nCurrentSecurity > nMinSecurity + 2) {
|
||||||
nBonusWeaken = 4;
|
nBonusWeaken = 10;
|
||||||
}
|
}
|
||||||
if (nCurrentMoney <= nMaxMoney * 0.8) {
|
if (nCurrentMoney <= nMaxMoney * 0.8) {
|
||||||
nBonusGrow = 9;
|
nBonusGrow = 10;
|
||||||
}*/
|
}
|
||||||
|
|
||||||
let nGrowThreads = Math.max(12 + nBonusGrow, getGrowThreads(ns, sTarget, nHackThreads));
|
let nGrowThreads = Math.max(2 + nBonusGrow, getGrowThreads(ns, sTarget, nHackThreads));
|
||||||
let nGrowThreadsINT = Math.ceil(nGrowThreads);
|
let nGrowThreadsINT = Math.ceil(nGrowThreads);
|
||||||
|
|
||||||
//25 hacks or 12.5 grows
|
//25 hacks or 12.5 grows
|
||||||
let nWeakenThreads = Math.max(1 + nBonusWeaken, (nHackThreads / 25) + (nGrowThreads / 12.5));
|
let nWeakenThreads = Math.max(2 + nBonusWeaken, (nHackThreads / 25) + (nGrowThreads / 12.5));
|
||||||
let nWeakenThreadsINT = Math.ceil(nWeakenThreads);
|
let nWeakenThreadsINT = Math.ceil(nWeakenThreads);
|
||||||
|
|
||||||
//main variables
|
//main variables
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"serverName":"omega-net","maxRam":32,"maxMoney":62276075,"minSec":9,"minPorts":2,"minHackLvl":180,"rootAccess":true,"openPorts":1,"serverOrgs":"Omega Software","serverCores":3,"serverFiles":["Library.js","RMgrow.js","RMhack.js","RMweaken.js","batch.js","contract-105224.cct","contract-263536.cct","settings.txt","the-new-god.lit"]}
|
{"serverName":"omega-net","maxRam":32,"maxMoney":62700899,"minSec":9,"minPorts":2,"minHackLvl":186,"rootAccess":true,"openPorts":1,"serverOrgs":"Omega Software","serverCores":2,"serverFiles":["Library.js","RMgrow.js","RMhack.js","RMweaken.js","batch.js","factionboost.js","settings.txt","the-new-god.lit"]}
|
||||||
@@ -14,7 +14,7 @@ const STATS_TRESHOLD = 0.7;
|
|||||||
const STATS_MIN = 4000;
|
const STATS_MIN = 4000;
|
||||||
const STATS_HARD_MIN = 200;
|
const STATS_HARD_MIN = 200;
|
||||||
const TRAIN_CHANCE = 0.2;
|
const TRAIN_CHANCE = 0.2;
|
||||||
const RESPECT_MIN = 2e+7;
|
const RESPECT_MIN = 2e+6;
|
||||||
|
|
||||||
const WANTED_PENALTY_TRESHOLD = 0.99;
|
const WANTED_PENALTY_TRESHOLD = 0.99;
|
||||||
const WARFARE_TRESHOLD = 2;
|
const WARFARE_TRESHOLD = 2;
|
||||||
|
|||||||
61
Mizzajl/home/lowram/Lowgrow.js
Normal file
61
Mizzajl/home/lowram/Lowgrow.js
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/** @param {NS} ns */
|
||||||
|
export async function main(ns) {
|
||||||
|
ns.tail();
|
||||||
|
const sTarget = ns.args[0]; // target server
|
||||||
|
|
||||||
|
// Lowram settings
|
||||||
|
const sBatchScript = "lowram/Lowhgw.js";
|
||||||
|
const sPrepScript = "lowram/Lowprep.js";
|
||||||
|
const sRunScript = "lowram/Lowrun.js";
|
||||||
|
const sLowGrowScript = "lowram/Lowgrow.js";
|
||||||
|
|
||||||
|
const sGrowScript = "RMgrow.js";
|
||||||
|
|
||||||
|
const nThisScriptRAM = ns.getScriptRam(sLowGrowScript, "home");
|
||||||
|
|
||||||
|
|
||||||
|
let nMoney = ns.getServerMoneyAvailable(sTarget);
|
||||||
|
const nMaxMoney = ns.getServerMaxMoney(sTarget);
|
||||||
|
|
||||||
|
|
||||||
|
const startValue = nMoney; // First argument: starting value
|
||||||
|
const target = nMaxMoney; // Second argument: target value
|
||||||
|
let result = startValue; // Initialize result with the starting value
|
||||||
|
let n = 1;
|
||||||
|
// For loop that continues until the result exceeds or matches the target
|
||||||
|
for (; result < target; n++) {
|
||||||
|
result += 1; // Add 1 before multiplication
|
||||||
|
result *= n; // Multiply by the current step value
|
||||||
|
}
|
||||||
|
let nGrowThreadsNeeded = n * ns.growthAnalyze(sTarget, n, 1);
|
||||||
|
ns.print("nGrowThreadsNeeded = " + nGrowThreadsNeeded);
|
||||||
|
|
||||||
|
//while (nMoney < nMaxMoney) {
|
||||||
|
|
||||||
|
let nFreeRam = ns.getServerMaxRam("home") - ns.getServerUsedRam("home");
|
||||||
|
ns.print("nFreeRam = " + nFreeRam);
|
||||||
|
ns.print("needed ram = " + Math.ceil(nFreeRam / ns.getScriptRam(sGrowScript, "home")));
|
||||||
|
ns.print("needed ram? = " + ns.getScriptRam(sGrowScript, "home"));
|
||||||
|
if (nFreeRam >= (ns.getScriptRam(sGrowScript, "home") * nGrowThreadsNeeded)) {
|
||||||
|
|
||||||
|
|
||||||
|
let nGrowPID = ns.run(sGrowScript, Math.ceil(nGrowThreadsNeeded), sTarget);
|
||||||
|
await ns.nextPortWrite(nGrowPID);
|
||||||
|
await ns.sleep(1000);
|
||||||
|
nMoney = ns.getServerMoneyAvailable(sTarget);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ns.print("Too smol");
|
||||||
|
let nGrowPID = ns.run(sGrowScript, Math.ceil((nFreeRam - nThisScriptRAM) / ns.getScriptRam(sGrowScript, "home")), sTarget);
|
||||||
|
await ns.nextPortWrite(nGrowPID);
|
||||||
|
await ns.sleep(1000);
|
||||||
|
nMoney = ns.getServerMoneyAvailable(sTarget);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//back to Lowrun
|
||||||
|
ns.spawn(sRunScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -9,12 +9,6 @@ export async function main(ns) {
|
|||||||
const sWeakenScript = "RMweaken.js";
|
const sWeakenScript = "RMweaken.js";
|
||||||
const sServerListFile = "serverList.txt";
|
const sServerListFile = "serverList.txt";
|
||||||
|
|
||||||
// Lowram settings
|
|
||||||
const sBatchScript = "lowram/Lowhgw.js";
|
|
||||||
const sPrepScript = "lowram/Lowprep.js";
|
|
||||||
const sRunScript = "lowram/Lowrun.js";
|
|
||||||
|
|
||||||
|
|
||||||
const nHackScriptRAM = 1.75;
|
const nHackScriptRAM = 1.75;
|
||||||
const nGrowScriptRAM = 1.7;
|
const nGrowScriptRAM = 1.7;
|
||||||
const nWeakenScriptRAM = 1.75;
|
const nWeakenScriptRAM = 1.75;
|
||||||
@@ -78,7 +72,7 @@ export async function main(ns) {
|
|||||||
|
|
||||||
nCheckRAM = nThisScriptRAM + (nTempHackThreads * nHackScriptRAM) + (nTempGrowThreadsINT * nGrowScriptRAM) + (nTempWeakenThreadsINT * nWeakenScriptRAM);
|
nCheckRAM = nThisScriptRAM + (nTempHackThreads * nHackScriptRAM) + (nTempGrowThreadsINT * nGrowScriptRAM) + (nTempWeakenThreadsINT * nWeakenScriptRAM);
|
||||||
ns.print("nCheckRAM = " + nCheckRAM);
|
ns.print("nCheckRAM = " + nCheckRAM);
|
||||||
|
|
||||||
if (nCheckRAM < nMaxRAM) {
|
if (nCheckRAM < nMaxRAM) {
|
||||||
nUsedRAM = nCheckRAM;
|
nUsedRAM = nCheckRAM;
|
||||||
nHackThreads = nTempHackThreads;
|
nHackThreads = nTempHackThreads;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ export async function main(ns) {
|
|||||||
const sBatchScript = "lowram/Lowhgw.js";
|
const sBatchScript = "lowram/Lowhgw.js";
|
||||||
const sPrepScript = "lowram/Lowprep.js";
|
const sPrepScript = "lowram/Lowprep.js";
|
||||||
const sRunScript = "lowram/Lowrun.js";
|
const sRunScript = "lowram/Lowrun.js";
|
||||||
|
const sGrowScript = "lowram/Lowgrow.js";
|
||||||
|
|
||||||
//declare variables
|
//declare variables
|
||||||
const sWeakenScript = "RMweaken.js";
|
const sWeakenScript = "RMweaken.js";
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export async function main(ns) {
|
|||||||
const sBatchScript = "lowram/Lowhgw.js";
|
const sBatchScript = "lowram/Lowhgw.js";
|
||||||
const sPrepScript = "lowram/Lowprep.js";
|
const sPrepScript = "lowram/Lowprep.js";
|
||||||
const sRunScript = "lowram/Lowrun.js";
|
const sRunScript = "lowram/Lowrun.js";
|
||||||
|
const sGrowScript = "lowram/Lowgrow.js";
|
||||||
|
|
||||||
const nTargetMoney = ns.getServerMoneyAvailable(sTarget);
|
const nTargetMoney = ns.getServerMoneyAvailable(sTarget);
|
||||||
const nTargetMaxMoney = ns.getServerMaxMoney(sTarget);
|
const nTargetMaxMoney = ns.getServerMaxMoney(sTarget);
|
||||||
@@ -16,17 +17,14 @@ export async function main(ns) {
|
|||||||
ns.print(sTarget + " Money = " + nTargetMoney.toLocaleString() + " / " + nTargetMaxMoney.toLocaleString());
|
ns.print(sTarget + " Money = " + nTargetMoney.toLocaleString() + " / " + nTargetMaxMoney.toLocaleString());
|
||||||
ns.print(sTarget + " Security = " + nTargetSecurity.toLocaleString() + " / " + nTargetMinSecurity.toLocaleString());
|
ns.print(sTarget + " Security = " + nTargetSecurity.toLocaleString() + " / " + nTargetMinSecurity.toLocaleString());
|
||||||
|
|
||||||
if ( nTargetSecurity > nTargetMinSecurity) {
|
if (nTargetSecurity > nTargetMinSecurity + 1) {
|
||||||
ns.killall();
|
|
||||||
ns.spawn(sPrepScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
ns.spawn(sPrepScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
||||||
}
|
}
|
||||||
else if (nTargetMoney < nTargetMaxMoney){
|
else if (nTargetMoney < nTargetMaxMoney) {
|
||||||
ns.print("need to prep MONEY, running "+sRunScript);
|
ns.print("need to prep MONEY, running " + sGrowScript);
|
||||||
ns.killall();
|
ns.spawn(sGrowScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
||||||
ns.spawn(sBatchScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ns.killall();
|
|
||||||
ns.spawn(sBatchScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
ns.spawn(sBatchScript, { threads: 1, spawnDelay: 0 }, sTarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{"setting":{
|
{"setting":{
|
||||||
"autoUpgrades":true,
|
"autoUpgrades":true,
|
||||||
"autoPurchaseServers":true,
|
"autoPurchaseServers":true,
|
||||||
"batchHacks":3,
|
"batchHacks":1,
|
||||||
"batchFrequency":100
|
"batchFrequency":100
|
||||||
}}
|
}}
|
||||||
Reference in New Issue
Block a user