46 lines
1.9 KiB
JavaScript
46 lines
1.9 KiB
JavaScript
/** @param {import(".").NS } ns */
|
|
export async function main(ns) {
|
|
// ns.disableLog('ALL');
|
|
const doc = eval('document');
|
|
|
|
function numberToUnits(number) {
|
|
let numberString = Math.floor(number);
|
|
if (Math.abs(number) / 1000 >= 1) {
|
|
numberString = Math.floor(number / 1000) + 'k';
|
|
}
|
|
if (Math.abs(number) / 1000000 >= 1) {
|
|
numberString = Math.floor(number / 1000000) + 'm';
|
|
}
|
|
if (Math.abs(number) / 1000000000 >= 1) {
|
|
numberString = Math.floor(number / 1000000000) + 'b';
|
|
}
|
|
if (Math.abs(number) / 1000000000000 >= 1) {
|
|
numberString = Math.floor(number / 1000000000000) + 't';
|
|
}
|
|
|
|
return numberString;
|
|
}
|
|
|
|
let lastMoney = ns.getServerMoneyAvailable('home');
|
|
let lastTime = Date.now();
|
|
const firstMoney = ns.getServerMoneyAvailable('home');
|
|
const firstTime = Date.now();
|
|
|
|
while (true) {
|
|
const currentMoney = ns.getServerMoneyAvailable('home');
|
|
const moneyDiff = currentMoney - lastMoney;
|
|
const currentTime = Date.now();
|
|
const timeDiff = (currentTime - lastTime) / 1000;
|
|
const moneyPerSecond = moneyDiff / timeDiff;
|
|
const moneyDiffLife = currentMoney - firstMoney;
|
|
const timeDiffLife = (currentTime - firstTime) / 1000;
|
|
const moneyPerSecondLife = moneyDiffLife / timeDiffLife;
|
|
const moneyString = `${numberToUnits(Math.floor(moneyPerSecond))} | ${numberToUnits(Math.floor(moneyPerSecondLife))} $/s`;
|
|
ns.print(`${lastMoney} ${currentMoney} ${moneyDiff} ${numberToUnits(Math.floor(moneyPerSecondLife)) }\n ${currentTime} ${currentTime} ${timeDiff}`);
|
|
doc.querySelector("#root > div.react-draggable > div.drag.MuiBox-root > div > p").innerText = moneyString;
|
|
ns.write('moneyStats.txt', moneyString+'\n', 'a');
|
|
lastMoney = currentMoney;
|
|
lastTime = currentTime;
|
|
await ns.sleep(5000);
|
|
}
|
|
} |