first try?
This commit is contained in:
@@ -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)));
|
||||
|
||||
@@ -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"));
|
||||
|
||||
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 */
|
||||
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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user