Philipp
2024-10-06 13:05:35 +02:00
5 changed files with 10 additions and 25 deletions

View File

@@ -20,6 +20,8 @@ export async function main(ns) {
const sWeakenScript = "RMweaken.js";
const sGrowScript = "RMgrow.js";
const sHackScript = "RMhack.js";
const sLibraryScript = "myLibrary.js"
const sSettingsFile = "settings.txt"
const nWeakenThreads = 1; //5
const nHackThreads = 1; //1
@@ -32,7 +34,7 @@ export async function main(ns) {
//ns.tprint("nGrowScriptRAM = " + nGrowScriptRAM);
//const nFrequency = 50;
const nFrequency = getSetting("batchFrequency");
const nFrequency = getSetting(ns, "batchFrequency");
let nScriptsRAM;
let nMaxRam;
let nScripts;
@@ -66,6 +68,8 @@ export async function main(ns) {
ns.scp(sWeakenScript, entry.serverName, "home");
ns.scp(sGrowScript, 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);
await ns.sleep(1);
}
@@ -75,7 +79,6 @@ export async function main(ns) {
ns.scriptKill(sWeakenScript, entry.serverName);
ns.scriptKill(sGrowScript, entry.serverName);
ns.scriptKill(sHackScript, entry.serverName);
ns.scp(sShareScript, entry.serverName);
let nShare = Math.floor(((ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName)) / ns.getScriptRam(sShareScript)));

View File

@@ -31,7 +31,7 @@ export async function main(ns) {
//settings
const nRefreshFrequency = 1000; //time in ms
ns.exec(sServerLister, sThisRunner, 1, false, true);
//ns.exec(sServerLister, sThisRunner, 1, false, true);
await ns.sleep(100);
let oBestTarget = JSON.parse(ns.read("bestTarget.txt"));

View 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}

File diff suppressed because one or more lines are too long

View File

@@ -301,29 +301,17 @@ function scanServerList(ns, bSilent) {
/** @param {NS} ns */
function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTargetOverride) {
//ns.tprint("start of findBestTarget ");
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 bestEntry = null;
let compareTime = 0;
let nMaxMoneyPerChance = 0;
let nBestMoneyPerChance = 0;
//ns.tprint("before for loop ");
for (const [name, entry] of Object.entries(serverList)) {
if (entry.minSec <= maxSec && entry.minPorts <= maxPorts && entry.minHackLvl < currentHackLevel) {
nMaxMoneyPerChance = (entry.maxMoney * entry.hackingChance) / entry.minSec;
//ns.tprint("nMaxMoneyPerChance " + nMaxMoneyPerChance);
/*
if (entry.factorMoneyPerTime > compareTime) {
compareTime = entry.factorMoneyPerTime;
bestEntry = name;
}
*/
if (nMaxMoneyPerChance > nBestMoneyPerChance) {
nBestMoneyPerChance = nMaxMoneyPerChance;
bestEntry = name;
@@ -333,17 +321,9 @@ function findBestTarget(ns, maxSec, maxPorts, currentHackLevel, manualTargetOver
}
}
}
if (manualTargetOverride.length > 0) {
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");
}