Compare commits
2 Commits
c70d328e61
...
9d020e473e
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d020e473e | |||
| 276996b1e1 |
@@ -20,6 +20,8 @@ export async function main(ns) {
|
|||||||
const sWeakenScript = "RMweaken.js";
|
const sWeakenScript = "RMweaken.js";
|
||||||
const sGrowScript = "RMgrow.js";
|
const sGrowScript = "RMgrow.js";
|
||||||
const sHackScript = "RMhack.js";
|
const sHackScript = "RMhack.js";
|
||||||
|
const sLibraryScript = "myLibrary.js"
|
||||||
|
const sSettingsFile = "settings.txt"
|
||||||
|
|
||||||
const nWeakenThreads = 1; //5
|
const nWeakenThreads = 1; //5
|
||||||
const nHackThreads = 1; //1
|
const nHackThreads = 1; //1
|
||||||
@@ -32,7 +34,7 @@ export async function main(ns) {
|
|||||||
//ns.tprint("nGrowScriptRAM = " + nGrowScriptRAM);
|
//ns.tprint("nGrowScriptRAM = " + nGrowScriptRAM);
|
||||||
|
|
||||||
//const nFrequency = 50;
|
//const nFrequency = 50;
|
||||||
const nFrequency = getSetting("batchFrequency");
|
const nFrequency = getSetting(ns, "batchFrequency");
|
||||||
let nScriptsRAM;
|
let nScriptsRAM;
|
||||||
let nMaxRam;
|
let nMaxRam;
|
||||||
let nScripts;
|
let nScripts;
|
||||||
@@ -66,6 +68,8 @@ export async function main(ns) {
|
|||||||
ns.scp(sWeakenScript, entry.serverName, "home");
|
ns.scp(sWeakenScript, entry.serverName, "home");
|
||||||
ns.scp(sGrowScript, entry.serverName, "home");
|
ns.scp(sGrowScript, entry.serverName, "home");
|
||||||
ns.scp(sHackScript, entry.serverName, "home");
|
ns.scp(sHackScript, entry.serverName, "home");
|
||||||
|
ns.scp(sLibraryScript, entry.serverName, "home");
|
||||||
|
ns.scp(sSettingsFile, entry.serverName, "home");
|
||||||
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);
|
||||||
}
|
}
|
||||||
@@ -75,7 +79,6 @@ export async function main(ns) {
|
|||||||
ns.scriptKill(sWeakenScript, entry.serverName);
|
ns.scriptKill(sWeakenScript, entry.serverName);
|
||||||
ns.scriptKill(sGrowScript, entry.serverName);
|
ns.scriptKill(sGrowScript, entry.serverName);
|
||||||
ns.scriptKill(sHackScript, entry.serverName);
|
ns.scriptKill(sHackScript, entry.serverName);
|
||||||
|
|
||||||
ns.scp(sShareScript, entry.serverName);
|
ns.scp(sShareScript, entry.serverName);
|
||||||
|
|
||||||
let nShare = Math.floor(((ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName)) / ns.getScriptRam(sShareScript)));
|
let nShare = Math.floor(((ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName)) / ns.getScriptRam(sShareScript)));
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export async function main(ns) {
|
|||||||
//settings
|
//settings
|
||||||
const nRefreshFrequency = 1000; //time in ms
|
const nRefreshFrequency = 1000; //time in ms
|
||||||
|
|
||||||
ns.exec(sServerLister, sThisRunner, 1, false, true);
|
//ns.exec(sServerLister, sThisRunner, 1, false, true);
|
||||||
|
|
||||||
await ns.sleep(100);
|
await ns.sleep(100);
|
||||||
let oBestTarget = JSON.parse(ns.read("bestTarget.txt"));
|
let oBestTarget = JSON.parse(ns.read("bestTarget.txt"));
|
||||||
|
|||||||
1
Mizzajl/home/bestTarget.txt
Normal file
1
Mizzajl/home/bestTarget.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"serverName":"rho-construction","maxRam":32,"maxMoney":1749766941.5625,"minSec":13,"minPorts":3,"minHackLvl":516,"rootAccess":true,"factorMoneyPerTime":0.6585689125741893,"openPorts":0,"serverFiles":["factionboost.js"],"hackingChance":0.5840500979124218}
|
||||||
1
Mizzajl/home/serverList.txt
Normal file
1
Mizzajl/home/serverList.txt
Normal file
File diff suppressed because one or more lines are too long
@@ -301,29 +301,17 @@ function scanServerList(ns, bSilent) {
|
|||||||
|
|
||||||
/** @param {NS} ns */
|
/** @param {NS} ns */
|
||||||
function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTargetOverride) {
|
function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTargetOverride) {
|
||||||
//ns.tprint("start of findBestTarget ");
|
|
||||||
const bSilent = ns.args[1] === true ? true : false; // if true supress feedback
|
const bSilent = ns.args[1] === true ? true : false; // if true supress feedback
|
||||||
//ns.tprint("bSilent = " +bSilent);
|
|
||||||
let sCurrentBestTarget = JSON.parse(ns.read("bestTarget.txt"));
|
|
||||||
//let sCurrentBestTarget = "n00dles";
|
|
||||||
//ns.tprint("sCurrentBestTarget = " +JSON.stringify(sCurrentBestTarget));
|
|
||||||
//if (!bSilent) ns.tprint("sCurrentBestTarget = " + sCurrentBestTarget.serverName);
|
|
||||||
let serverList = JSON.parse(ns.read("serverList.txt"));
|
let serverList = JSON.parse(ns.read("serverList.txt"));
|
||||||
let bestEntry = null;
|
let bestEntry = null;
|
||||||
let compareTime = 0;
|
|
||||||
let nMaxMoneyPerChance = 0;
|
let nMaxMoneyPerChance = 0;
|
||||||
let nBestMoneyPerChance = 0;
|
let nBestMoneyPerChance = 0;
|
||||||
//ns.tprint("before for loop ");
|
//ns.tprint("before for loop ");
|
||||||
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 * entry.hackingChance) / entry.minSec;
|
nMaxMoneyPerChance = (entry.maxMoney * entry.hackingChance) / entry.minSec;
|
||||||
//ns.tprint("nMaxMoneyPerChance " + nMaxMoneyPerChance);
|
|
||||||
/*
|
|
||||||
if (entry.factorMoneyPerTime > compareTime) {
|
|
||||||
compareTime = entry.factorMoneyPerTime;
|
|
||||||
bestEntry = name;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
|
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
|
||||||
nBestMoneyPerChance = nMaxMoneyPerChance;
|
nBestMoneyPerChance = nMaxMoneyPerChance;
|
||||||
bestEntry = name;
|
bestEntry = name;
|
||||||
@@ -333,17 +321,9 @@ function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTargetOver
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (manualTargetOverride.length > 0) {
|
if (manualTargetOverride.length > 0) {
|
||||||
bestEntry = manualTargetOverride;
|
bestEntry = manualTargetOverride;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sCurrentBestTarget.serverName === bestEntry) {
|
|
||||||
if (!bSilent) ns.tprint("Same target = " + bestEntry);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
ns.tprint("New best target = " + cCyan + bestEntry + cReset);
|
|
||||||
}
|
|
||||||
ns.write("bestTarget.txt", JSON.stringify(serverList[bestEntry]), "w");
|
ns.write("bestTarget.txt", JSON.stringify(serverList[bestEntry]), "w");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user