This commit is contained in:
Philipp
2024-10-17 09:32:23 +02:00
parent b1926d4797
commit 8eb59c3a7e
5 changed files with 31 additions and 6 deletions

View File

@@ -208,7 +208,7 @@ export async function purchaseAndUpgradeServers(ns) {
if (ns.upgradePurchasedServer(currentServer, targetRam)) { if (ns.upgradePurchasedServer(currentServer, targetRam)) {
ns.print(currentServer + " upgraded to " + targetRam + " GB RAM"); ns.print(currentServer + " upgraded to " + targetRam + " GB RAM");
serverList = JSON.parse(ns.read("serverList.txt")); serverList = JSON.parse(ns.read("serverList.txt"));
let newServerList = serverList.map((entry) => { if (entry.serverName === currentServer) { entry.maxRam = targetRam } return entry }); let newServerList = serverList.map((entry) => { if (entry.serverName === currentServer) { entry.maxRam = targetRam } { entry.serverOrgs = "" } { entry.serverCores = 1 } { entry.serverFiles = [] } return entry });
ns.write("serverList.txt", JSON.stringify(newServerList), "w"); ns.write("serverList.txt", JSON.stringify(newServerList), "w");
ns.tprint(cCyan + "Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB" + cReset); ns.tprint(cCyan + "Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB" + cReset);
ns.toast("Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB", "info", 10000); ns.toast("Server: " + currentServer + " upgraded to: " + targetRam.toLocaleString() + " GB", "info", 10000);
@@ -357,7 +357,7 @@ export async function distributeScript(ns, sScript, nThreads, [...args]) {
aSortedList.forEach((entry) => { aSortedList.forEach((entry) => {
let sHost = entry.serverName; let sHost = entry.serverName;
ns.print("sHost = " + sHost) ns.print("sHost = " + sHost)
let nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName); let nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName);
if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nTotalSize) { if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nTotalSize) {
ns.scp(sScript, sHost); ns.scp(sScript, sHost);

View File

@@ -0,0 +1,9 @@
/** @param {NS} ns */
export async function main(ns) {
let [sDivName, sCity] = ns.args;
//ns.tprint("sDivName = " + sDivName);
//ns.tprint("sCity = " + sCity);
let bSuccess = ns.corporation.buyTea(sDivName, sCity)
//ns.tprint("bSuccess = " + bSuccess);
ns.writePort(ns.pid, bSuccess);
}

View File

@@ -0,0 +1,10 @@
/** @param {NS} ns */
export async function main(ns) {
let [sDivName, sCity, nSpend] = ns.args;
//ns.tprint("sDivName = " + sDivName);
//ns.tprint("sCity = " + sCity);
//ns.tprint("nSpend = " + nSpend);
let nMoraleMultiplier = ns.corporation.throwParty(sDivName, sCity, nSpend)
//ns.tprint("nMoraleMultiplier = " + nMoraleMultiplier);
ns.writePort(ns.pid, nMoraleMultiplier);
}

View File

@@ -34,11 +34,13 @@ export async function main(ns) {
let nMaxThreads = 0; let nMaxThreads = 0;
sortedList.forEach((entry) => { sortedList.forEach((entry) => {
if (entry.rootAccess && entry.maxRam >= 1) { if (entry.rootAccess && entry.maxRam >= 1) {
ns.scp(aFiles, "home", entry.serverName); if (entry.serverName !== "home") {
ns.scp(aFiles, entry.serverName, "home");
}
nMaxThreads += entry.maxRam / 1.75; nMaxThreads += entry.maxRam / 1.75;
} }
}) })
let nMaxThreadsINT = Math.floor(nMaxThreads); let nMaxThreadsINT = Math.floor(nMaxThreads - 64);
ns.print("nMaxThreadsINT = " + nMaxThreadsINT); ns.print("nMaxThreadsINT = " + nMaxThreadsINT);

View File

@@ -60,14 +60,18 @@ export async function main(ns) {
ns.print("sHost = " + sHost) ns.print("sHost = " + sHost)
let nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName); let nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName);
if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nTotalSize) { if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nTotalSize) {
ns.scp(sScript, sHost); if (entry.serverName !== "home") {
ns.scp(sScript, sHost, "home");
}
ns.exec(sScript, sHost, nThreads, sTarget, bRepeat, nMsecDelay); ns.exec(sScript, sHost, nThreads, sTarget, bRepeat, nMsecDelay);
nThreads = 0; nThreads = 0;
nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName); nFreeRAM = ns.getServerMaxRam(entry.serverName) - ns.getServerUsedRam(entry.serverName);
} }
else if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nScriptSize) { else if (nThreads >= 1 && entry.rootAccess && nFreeRAM >= nScriptSize) {
let nThreadsDist = Math.floor(nFreeRAM / nScriptSize); let nThreadsDist = Math.floor(nFreeRAM / nScriptSize);
ns.scp(sScript, sHost); if (entry.serverName !== "home") {
ns.scp(sScript, sHost, "home");
}
ns.print("room for : " + nThreadsDist + " scripts"); ns.print("room for : " + nThreadsDist + " scripts");
ns.exec(sScript, sHost, nThreadsDist, sTarget, bRepeat, nMsecDelay); ns.exec(sScript, sHost, nThreadsDist, sTarget, bRepeat, nMsecDelay);
nThreads -= nThreadsDist; nThreads -= nThreadsDist;