New way of Sync
This commit is contained in:
66
Ramses/home/upgrade.js
Normal file
66
Ramses/home/upgrade.js
Normal file
@@ -0,0 +1,66 @@
|
||||
import { listPurchasedServers, getSetting } from "myLibrary.js";
|
||||
|
||||
// Custom color coding.
|
||||
const cCyan = "\u001b[36m";
|
||||
const cGreen = "\u001b[32m";
|
||||
const cRed = "\u001b[31m";
|
||||
const cReset = "\u001b[0m";
|
||||
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
ns.disableLog("ALL");
|
||||
|
||||
//host and script info
|
||||
const sThisRunner = ns.getHostname();
|
||||
|
||||
//open log for this script
|
||||
ns.tail(ns.pid, sThisRunner);
|
||||
|
||||
//const npServ = ["pserv-0", "pserv-1", "pserv-2", "pserv-3", "pserv-4", "pserv-5", "pserv-6", "pserv-7", "pserv-8", "pserv-9", "pserv-10", "pserv-11", "pserv-12", "pserv-13", "pserv-14", "pserv-15", "pserv-16", "pserv-17", "pserv-18", "pserv-19", "pserv-20", "pserv-21", "pserv-22", "pserv-23", "pserv-24"];
|
||||
const npServ = listPurchasedServers(ns);
|
||||
let nCurrentRAM = 4;
|
||||
let nMyMoney = ns.getServerMoneyAvailable("home");
|
||||
let bAutoUpgrade = getSetting(ns, "autoUpgrades");
|
||||
while (bAutoUpgrade && nCurrentRAM < 2 ** 20) {
|
||||
|
||||
//for (let i = 0; i < npServ.length; i++) {
|
||||
for (let i = 0; i < npServ.length && bAutoUpgrade; i++) {
|
||||
ns.print("----------------------------------------------------------------------");
|
||||
nMyMoney = ns.getServerMoneyAvailable("home");
|
||||
|
||||
let nNextRAM = nCurrentRAM * 2;
|
||||
let nUpgradeCost = ns.getPurchasedServerUpgradeCost(npServ[i], nNextRAM);
|
||||
|
||||
ns.print("npServ = " + npServ[i]);
|
||||
ns.print("nMyMoney = " + Math.ceil(nMyMoney).toLocaleString());
|
||||
ns.print("nCurrentRAM = " + nCurrentRAM.toLocaleString());
|
||||
ns.print("nNextRAM = " + nNextRAM);
|
||||
ns.print("nUpgradeCost = " + Math.ceil(nUpgradeCost).toLocaleString());
|
||||
|
||||
while (bAutoUpgrade && nMyMoney < nUpgradeCost) {
|
||||
ns.print("Money Treshold = " + Math.ceil(nMyMoney).toLocaleString() + " / " + Math.ceil(nUpgradeCost).toLocaleString());
|
||||
await ns.sleep(1000);
|
||||
bAutoUpgrade = getSetting(ns, "autoUpgrades");
|
||||
if (bAutoUpgrade === false) {
|
||||
return;
|
||||
}
|
||||
nMyMoney = ns.getServerMoneyAvailable("home");
|
||||
}
|
||||
|
||||
if (ns.upgradePurchasedServer(npServ[i], nNextRAM)) {
|
||||
ns.print("Server: " + npServ[i] + " upgraded to: " + nNextRAM + "GB");
|
||||
ns.tprint(cCyan + "Server: " + npServ[i] + " upgraded to: " + nNextRAM.toLocaleString() + " GB" + cReset);
|
||||
ns.toast("Server: " + npServ[i] + " upgraded to: " + nNextRAM.toLocaleString() + " GB", "info", 10000);
|
||||
}
|
||||
else {
|
||||
ns.print("Server: " + npServ[i] + " could not be upgraded to : " + nNextRAM + "GB it is currently at: " + ns.getServerMaxRam(npServ[i]) + "GB");
|
||||
}
|
||||
bAutoUpgrade = getSetting(ns, "autoUpgrades");
|
||||
if (bAutoUpgrade === false) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
nCurrentRAM *= 2;
|
||||
}
|
||||
ns.print("----------------------------------------------------------------------");
|
||||
}
|
||||
Reference in New Issue
Block a user