37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
/** @param {import(".").NS } ns */
|
|
|
|
export async function main(ns) {
|
|
// ns.disableLog('ALL');
|
|
|
|
let excludeServers = ['home'];
|
|
for (let index = 0; index < 25; index++) {
|
|
excludeServers.push(`home-${index}`);
|
|
}
|
|
excludeServers.push('CSEC');
|
|
excludeServers.push('avmnite-02h');
|
|
|
|
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) {
|
|
if (excludeServers.indexOf(nextServer) == -1 && ns.scriptRunning('simple-hack.js', nextServer)) {
|
|
let maxMoney = ns.getServerMaxMoney(nextServer);
|
|
let currentMoney = ns.getServerMoneyAvailable(nextServer);
|
|
|
|
if (currentMoney < 0.2 * maxMoney) {
|
|
await ns.grow(nextServer);
|
|
}
|
|
}
|
|
await scanServer(nextServer, maxDepth, depth + 1, currentServer);
|
|
}
|
|
}
|
|
}
|
|
|
|
while (true) {
|
|
ns.print(`Running scan`);
|
|
await scanServer('home');
|
|
}
|
|
} |