New Folder Structure test
This commit is contained in:
120
Ramses/home/backup/batch2.js
Normal file
120
Ramses/home/backup/batch2.js
Normal file
@@ -0,0 +1,120 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
//Arguments
|
||||
const sTarget = ns.args[0]; // target server
|
||||
|
||||
const oRunner = ns.getServer();
|
||||
const sRunner = oRunner.hostname;
|
||||
|
||||
ns.tail("batch2.js", sRunner, sTarget);
|
||||
|
||||
//Settings
|
||||
//const oHome = ns.getServer("home");
|
||||
//const nCores = oHome.cpuCores;
|
||||
|
||||
const sScript = ns.getScriptName();
|
||||
const sWeaken = "RMweaken.js";
|
||||
const sGrow = "RMgrow.js";
|
||||
const sHack = "RMhack.js";
|
||||
const nScriptRAM = ns.getScriptRam(sScript, sRunner);
|
||||
const nWeakenRAM = ns.getScriptRam(sWeaken, sRunner);
|
||||
const nGrowRAM = ns.getScriptRam(sGrow, sRunner);
|
||||
const nHackRAM = ns.getScriptRam(sHack, sRunner);
|
||||
const nHomeUsedRAM = ns.getServerUsedRam(sRunner);
|
||||
const nHomeMaxRAM = ns.getServerMaxRam(sRunner);
|
||||
let nHomeFreeRAM = nHomeMaxRAM - nHomeUsedRAM;
|
||||
|
||||
const nDelays = [0, 20, 40, 60];
|
||||
|
||||
|
||||
//abort script if sTarget is undefined
|
||||
if (sTarget === undefined) {
|
||||
ns.tprint("1st arg sTarget is undefined");
|
||||
return false;
|
||||
}
|
||||
|
||||
//target server info
|
||||
const nMinSecurity = ns.getServerMinSecurityLevel(sTarget);
|
||||
const nMaxMoney = ns.getServerMaxMoney(sTarget);
|
||||
|
||||
let nWeakenTime1 = ns.getWeakenTime(sTarget);
|
||||
let nWeakenTime2 = nWeakenTime1;
|
||||
let nGrowTime = nWeakenTime1 * 0.8;
|
||||
let nHackTime = nWeakenTime1 / 4;
|
||||
|
||||
//let nHackSecurityGain = ns.hackAnalyzeSecurity(1, sTarget);
|
||||
let nHackSecurityGain = 0.002;
|
||||
//let nHackThreadsEstimate = Math.floor(1 / nHackSecurityGain);
|
||||
let nHackThreadsEstimate = 10;
|
||||
ns.tprint("nHackSecurityGain = " + nHackSecurityGain);
|
||||
ns.tprint("nHackThreadsEstimate = " + nHackThreadsEstimate);
|
||||
const nHackTotalRAM = nHackRAM * nHackThreadsEstimate;
|
||||
|
||||
//let nGrowSecurityGain = ns.growthAnalyzeSecurity(1, sTarget, nCores);
|
||||
let nGrowSecurityGain = 0.004;
|
||||
let nGrowThreadsEstimate = Math.floor(1 / nGrowSecurityGain);
|
||||
ns.tprint("nGrowSecurityGain = " + nGrowSecurityGain);
|
||||
ns.tprint("nGrowThreadsEstimate = " + nGrowThreadsEstimate);
|
||||
const nGrowTotalRAM = nGrowRAM * nGrowThreadsEstimate;
|
||||
|
||||
//let nWeakenSecurity = ns.weakenAnalyze(1, nCores);
|
||||
let nWeakenSecurity = 0.05;
|
||||
let nWeakenThreadsEstimate = Math.ceil(1 / nWeakenSecurity);
|
||||
ns.tprint("nWeakenSecurity = " + nWeakenSecurity);
|
||||
ns.tprint("nWeakenThreadsEstimate = " + nWeakenThreadsEstimate);
|
||||
const nWeakenTotalRAM = nWeakenRAM * nWeakenThreadsEstimate;
|
||||
|
||||
const nTotalRAM = nHackTotalRAM + nGrowTotalRAM + (nWeakenTotalRAM * 2)
|
||||
const nTotalBatches = Math.floor(nHomeFreeRAM / (nTotalRAM - nScriptRAM));
|
||||
ns.tprint("RAM per Cycle = " + nTotalRAM);
|
||||
ns.tprint("how many batches can i run at the same time? = " + nTotalBatches);
|
||||
|
||||
let nGrowDelay = nWeakenTime1 - nGrowTime;
|
||||
let nHackDelay = nWeakenTime1 - nHackTime;
|
||||
|
||||
const nCycleDuration = nWeakenTime2 + nDelays[3];
|
||||
ns.tprint("nCycleDuration = " + nCycleDuration);
|
||||
|
||||
const nBatchFrequency = Math.ceil(nCycleDuration / nTotalBatches);
|
||||
ns.tprint("nBatchFrequency = " + nBatchFrequency);
|
||||
|
||||
while (true) {
|
||||
|
||||
//server stats
|
||||
let nCurrentSecurity = ns.getServerSecurityLevel(sTarget);
|
||||
let nCurrentMoney = ns.getServerMoneyAvailable(sTarget);
|
||||
|
||||
//timestamp
|
||||
let currentDate = new Date();
|
||||
let nOffset;
|
||||
|
||||
ns.print("Cash: " + (Math.floor(nCurrentMoney * 1000) / 1000) + " / " + nMaxMoney);
|
||||
ns.print("Security: " + (Math.floor(nCurrentSecurity * 1000) / 1000) + " / " + nMinSecurity);
|
||||
|
||||
//Calculate estimate time of completion
|
||||
nOffset = ns.getWeakenTime(sTarget);
|
||||
let nWeakTime = new Date(currentDate.getTime() + nOffset);
|
||||
let sWeakTime = nWeakTime.toLocaleTimeString('sw-SV'); //swedish time
|
||||
|
||||
//Print estimated time of completion
|
||||
ns.print("Weakening " + sTarget + " Estimated complete at " + sWeakTime);
|
||||
|
||||
//hack
|
||||
const nHackPID = ns.exec(sHack, sRunner, 10, sTarget, false, nHackDelay + nDelays[0]);
|
||||
//ns.tail(nHackPID, "home", "home", nHackThreadsEstimate, sTarget, 0, nHackDelay + nDelays[0]);
|
||||
|
||||
//weaken 1
|
||||
const nWeakenPID = ns.exec(sWeaken, sRunner, nWeakenThreadsEstimate, sTarget, false, nDelays[1]);
|
||||
//ns.tail(nWeakenPID, "home", "home", nWeakenThreadsEstimate, sTarget, 0, nDelays[1]);
|
||||
|
||||
//grow
|
||||
const nGrowPID = ns.exec(sGrow, sRunner, nGrowThreadsEstimate, sTarget, false, nGrowDelay + nDelays[2]);
|
||||
//ns.tail(nGrowPID, "home", "home", nGrowThreadsEstimate, sTarget, 0, nGrowDelay + nDelays[2]);
|
||||
|
||||
//weaken 2
|
||||
const nWeakenPID2 = ns.exec(sWeaken, sRunner, nWeakenThreadsEstimate, sTarget, false, nDelays[3]);
|
||||
//ns.tail(nWeakenPID2, "home", "home", nWeakenThreadsEstimate, sTarget, 0, nDelays[3]);
|
||||
|
||||
await ns.sleep(nBatchFrequency);
|
||||
}
|
||||
}
|
||||
18
Ramses/home/backup/bitnodeStart.js
Normal file
18
Ramses/home/backup/bitnodeStart.js
Normal file
@@ -0,0 +1,18 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
|
||||
/*
|
||||
goals
|
||||
get money
|
||||
upgrade home ram
|
||||
/*
|
||||
|
||||
let nPID = ns.run("serverlister.js");
|
||||
while (ns.getRunningScript(nPID)){
|
||||
ns.tprint("waiting for script to finish");
|
||||
await ns.sleep(100);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
5
Ramses/home/backup/growrepeater.js
Normal file
5
Ramses/home/backup/growrepeater.js
Normal file
@@ -0,0 +1,5 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
const sTarget = ns.args[0]; // target server
|
||||
while (true) { await ns.grow(sTarget); }
|
||||
}
|
||||
28
Ramses/home/backup/maxGrow.js
Normal file
28
Ramses/home/backup/maxGrow.js
Normal file
@@ -0,0 +1,28 @@
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
//args
|
||||
const sTarget = ns.args[0]; // target server
|
||||
|
||||
ns.tail(ns.pid,"home",ns.args);
|
||||
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
|
||||
ns.print("result = "+result.toLocaleString() + " / "+ nMaxMoney.toLocaleString());
|
||||
ns.print("n = "+n);
|
||||
}
|
||||
let nGrowThreadsNeeded = n;
|
||||
// * ns.growthAnalyze(sTarget, n, 1);
|
||||
ns.print("nGrowThreadsNeeded = " + nGrowThreadsNeeded);
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user