diff --git a/hacknet-bot.js b/hacknet-bot.js index 700f108..7ac20f5 100644 --- a/hacknet-bot.js +++ b/hacknet-bot.js @@ -3,9 +3,10 @@ export async function main(ns) { ns.disableLog('ALL'); - let costThreshold = ns.args.length > 0 ? ns.args[0] : 1; - let upgradeCount = ns.args.length > 1 ? ns.args[1] : 1; - ns.tprint(`Bot started {costThreshold: ${costThreshold}, upgradeCount: ${upgradeCount}}`); + let nodeCostThreshold = ns.args.length > 0 ? ns.args[0] : 0.1; + let upgradeCostThreshold = ns.args.length > 1 ? ns.args[1] : 0.03; + let upgradeCount = ns.args.length > 2 ? ns.args[2] : 1; + ns.tprint(`Bot started {nodeCostThreshold: ${nodeCostThreshold}, upgradeCostThreshold: ${upgradeCostThreshold}, upgradeCount: ${upgradeCount}}`); await ns.sleep(10000); @@ -14,27 +15,30 @@ export async function main(ns) { let nodePurchaseCost = ns.hacknet.getPurchaseNodeCost(); let nodeCount = ns.hacknet.numNodes(); - if (nodePurchaseCost / Math.abs(currentMoney) < costThreshold) { + if (nodePurchaseCost / Math.abs(currentMoney) < nodeCostThreshold) { ns.hacknet.purchaseNode(); currentMoney = ns.getServerMoneyAvailable("home"); ++nodeCount; } for (let index = 0; index < nodeCount; ++index) { - if (ns.hacknet.getLevelUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < costThreshold) { + if (ns.hacknet.getLevelUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < upgradeCostThreshold) { ns.hacknet.upgradeLevel(index, upgradeCount); currentMoney = ns.getServerMoneyAvailable("home"); } - if (ns.hacknet.getRamUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < costThreshold) { + if (ns.hacknet.getRamUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < upgradeCostThreshold) { ns.hacknet.upgradeRam(index, upgradeCount); currentMoney = ns.getServerMoneyAvailable("home"); } - if (ns.hacknet.getCoreUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < costThreshold) { + if (ns.hacknet.getCoreUpgradeCost(index, upgradeCount) / Math.abs(currentMoney) < upgradeCostThreshold) { ns.hacknet.upgradeCore(index, upgradeCount); currentMoney = ns.getServerMoneyAvailable("home"); } } + let portData = ns.readPort(1); + if (portData != 'NULL PORT DATA') ns.write('hack-log.js', portData, 'a'); + await ns.sleep(10); } } \ No newline at end of file diff --git a/simple-hack.js b/simple-hack.js index 35518b8..b483877 100644 --- a/simple-hack.js +++ b/simple-hack.js @@ -29,7 +29,7 @@ export async function main(ns) { hackedMoney = await ns.hack(server); } - ns.tprint(`{${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)}}}`); + 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); } } \ No newline at end of file