summaryrefslogtreecommitdiff
path: root/bitburnerFiles1026/hack.js
diff options
context:
space:
mode:
authorAlmightyMiau <almightymeow612@gmail.com>2024-10-26 13:06:14 -0700
committerAlmightyMiau <almightymeow612@gmail.com>2024-10-26 13:06:14 -0700
commit1ca00b3b73a9699e41f81e154cea32934c16de03 (patch)
treed8ff8fe937b06cf40458aac232953b19665bcc6e /bitburnerFiles1026/hack.js
First commit
Diffstat (limited to 'bitburnerFiles1026/hack.js')
-rw-r--r--bitburnerFiles1026/hack.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/bitburnerFiles1026/hack.js b/bitburnerFiles1026/hack.js
new file mode 100644
index 0000000..1a01041
--- /dev/null
+++ b/bitburnerFiles1026/hack.js
@@ -0,0 +1,51 @@
+/** @param {NS} ns */
+export async function main(ns) {
+ // What server will be targeted?
+ let target = ns.args[0];
+ if (target === undefined) {
+ target = "iron-gym";
+ } else if (target == "help") {
+ ns.tprint("\n1st arg is target server to hack.\n2nd arg is boolean to enable debug Logs.\n");
+ ns.exit();
+ }
+
+ let debug = ns.args[1];
+ if (debug == true) {
+ ns.enableLog("weaken");
+ ns.enableLog("grow");
+ ns.enableLog("hack");
+ ns.enableLog("getServerSecurityLevel");
+ ns.enableLog("getServerMoneyAvailable");
+ ns.enableLog("getServerMaxMoney");
+ ns.enableLog("getServerMinSecurityLevel");
+ } else {
+ ns.disableLog("weaken");
+ ns.disableLog("grow");
+ ns.disableLog("hack");
+ ns.disableLog("getServerSecurityLevel");
+ ns.disableLog("getServerMoneyAvailable");
+ ns.disableLog("getServerMaxMoney");
+ ns.disableLog("getServerMinSecurityLevel");
+ }
+
+
+ //How much money does target have?
+ const moneyThresh = ns.getServerMaxMoney(target);
+
+ // When do we start hacking?
+ const securityThresh = ns.getServerMinSecurityLevel(target);
+
+ // Infinite loop that continously hacks/grows/weakens the target server
+ while (true) {
+ if (ns.getServerSecurityLevel(target) > (securityThresh + 2)) {
+ // If the server's security level is above our threshold, weaken it
+ await ns.weaken(target);
+ } else if (ns.getServerMoneyAvailable(target) < moneyThresh) {
+ // If the server's money is less than our threshold, grow it
+ await ns.grow(target);
+ } else {
+ // Otherwise, hack it
+ await ns.hack(target);
+ }
+ }
+} \ No newline at end of file