28 lines
933 B
JavaScript
28 lines
933 B
JavaScript
/** @param {import(".").NS } ns */
|
|
|
|
export async function main(ns) {
|
|
// ns.disableLog('ALL');
|
|
|
|
// TODO: add increasing threshold if no servers lower than current threshold
|
|
async function scanServer(currentServer, previousServer = currentServer) {
|
|
let availableServers = ns.scan(currentServer);
|
|
|
|
for (let i = 0; i < availableServers.length; ++i) {
|
|
let nextServer = availableServers[i];
|
|
|
|
if (nextServer != currentServer && nextServer != previousServer) {
|
|
let currentMoney = ns.getServerMoneyAvailable(nextServer);
|
|
if (ns.hasRootAccess(nextServer) && currentMoney > 0) {
|
|
await ns.grow(nextServer);
|
|
}
|
|
await scanServer(nextServer, currentServer);
|
|
}
|
|
}
|
|
}
|
|
|
|
while (true) {
|
|
ns.print(`Running scan`);
|
|
await scanServer('home');
|
|
await ns.sleep(1000);
|
|
}
|
|
} |