/** @param {import(".").NS } ns */ export async function main(ns) { // ns.disableLog('ALL'); let server = ns.args[0]; let maxMoney = ns.getServerMaxMoney(server); let minSecurity = ns.getServerMinSecurityLevel(server); let loop = 0; while (true) { let currentMoney = ns.getServerMoneyAvailable(server); let currentSecurity = ns.getServerSecurityLevel(server); ns.print(`Money: ${currentMoney} / ${maxMoney}`); ns.print(`Security: ${currentSecurity} / ${minSecurity}`); let newMoney = 'N/A'; if (currentMoney < 0.95 * maxMoney) { newMoney = await ns.grow(server); } let newSecurity = 'N/A'; if (currentSecurity > 2 * minSecurity) { newSecurity = await ns.weaken(server); } let hackedMoney = 0; if (currentMoney > 0.4 * maxMoney) { hackedMoney = await ns.hack(server); } await ns.tryWritePort(1, `${server} = {loop: ${++loop}, hack: ${Math.floor(hackedMoney)}, money: "${Math.floor(currentMoney)} / ${Math.floor(maxMoney)} = ${((currentMoney / maxMoney) * 100).toFixed(2)}", security: "${currentSecurity.toFixed(2)} / ${Math.floor(minSecurity) } = ${((currentSecurity / minSecurity) * 100).toFixed(4)}"};\n`); await ns.sleep(10); } }