Dieses Skript wird den Kauf aller Hacknet-Upgrades auf die schnellstmögliche Weise vollständig automatisieren. Die schnellste Methode sind exponentielle Renditen, die durch die Auswahl des jeweils günstigsten Upgrades erzielt werden, sodass Ihr Geld schneller für Sie arbeitet. Günstigstes Upgrade ermitteln, Geld abwarten, kaufen, spülen und wiederholen.
Hinweis: Die RAM-Nutzung beträgt 5.7 GB
ES5-Skript erstellen
Dieses Skript verwendet den ES5-JavaScript-Interpreter, der ansonsten als Netscript 1.0 bezeichnet wird, was bedeutet, dass eine Dateierweiterung von .script erforderlich ist.
Erstellen Sie im Bitburner-Terminal ein neues Skript, indem Sie Folgendes eingeben:
nano NameIhrerDatei.script
Beispiel: nano hacknet_infinite.script
Hinweis: Für dieses Skript sind 5.7 GB verfügbarer Arbeitsspeicher erforderlich
Skriptcode
Kopieren Sie den Inhalt des Skripts und speichern Sie ihn in der gerade erstellten neuen Skriptdatei.
// Create Function to Return Balance function myMoney() { return getServerMoneyAvailable("home"); } // Disable Logging for the Following Commands Below (We Dont Want To See Them While we Wait for Our Balance to Grow) disableLog("getServerMoneyAvailable"); disableLog("sleep"); // Create Function to Purchase Upgrade Based on 3 Flags for Node, Item, Qty // # Note Qty is not utilised but the Framework is in Place to Future Proof function purchase(node, item, qty){ var node = node, item = item, qty = qty; if (item == "New Node"){ hacknet.purchaseNode(); print("Purchasing New Node") } if (item == "LVL"){ hacknet.upgradeLevel(node , qty) print("Purchasing LVL Upgrade for Node: " + node) } if (item == "RAM"){ hacknet.upgradeRam(node , qty) print("Purchasing RAM Upgrade for Node: " + node) } if (item == "CPU"){ hacknet.upgradeCore(node , qty) print("Purchasing CPU Upgrade for Node: " + node) } } // Create Function to Find the Cheapest Upgrade and Set Flags to be Used by the Purchase Function // We will set the Default Flags to Purchase a New Node, Only to be Overwritten if a Cheaper Option is Available function check_cheapest() { var new_node_cost = hacknet.getPurchaseNodeCost(); var node = "Default"; var item = "New Node"; var qty = 1; var cheapest = new_node_cost; var node_qty = hacknet.numNodes(); // Iterate Through all Node Upgrade Options, Overwrite Flags if Cheaper Upgrade is Found for (var i = 0; i < node_qty; i++) { var node_lvl = hacknet.getLevelUpgradeCost(i, 1); var node_ram = hacknet.getRamUpgradeCost(i, 1); var node_cpu = hacknet.getCoreUpgradeCost(i, 1); if (node_lvl < cheapest) { cheapest = node_lvl; node = i; item = "LVL"; } if (node_ram < cheapest) { cheapest = node_ram; node = i; item = "RAM"; } if (node_cpu < cheapest) { cheapest = node_cpu; node = i; item = "CPU"; } } // I am not a JavaScript Programmer so I am not Adept at String Manipulation in this Language // Print a Summary Log of Cheapest Upgrade Found print("") print("Cheapest Hacknet Upgrade Available;") print("Node : " + node); print("Item : " + item); print("Qty : " + qty); print("") print("Current Balance : $" + myMoney()); print("Upgrade Cost : $" + cheapest); print("") // After Determining the Cheapest Upgrade we will wait for Balance to Increase Enough to Purchase (This is why we turned off logging) while (myMoney() < cheapest) { print("Waiting for funds to increase") sleep(3000); } // Call the Purchase Function purchase(node, item, qty); } // Run the Cheapest Upgrade Function in an Infinite Loop while(true) { check_cheapest() }
Anwendungsbereich
Nachdem Sie das Skript gespeichert haben, können Sie es ausführen, indem Sie Folgendes eingeben:
Führen Sie nameOfYourScript.script aus
Beispiel: Führen Sie hacknet_infinity.script aus
Unter der Haube
Dieses Skript durchläuft alle Upgrade-Optionen, setzt Flags für die günstigste Option und wartet, bis genügend Geld für den Kauf vorhanden ist.
Derzeit wird die Mengenfunktion nicht genutzt, da die günstigste Option immer der Kauf in einzelnen Einheiten ist, damit Ihr Geld im Rahmen der Methode des passiven Einkommens schneller für Sie arbeitet. Deshalb wird die Variable Qty auf 1 gesetzt und in der Schleife nicht überschrieben.
Wenn Sie sich die Hacknet-API auf der offiziellen Website durchlesen, gibt es ein Beispielskript, das beim Kauf von Basislevels für Nodes einen Wert von 10 verwendet. Meiner Meinung nach werden Sie durch den Kauf einzelner Einheiten auf lange Sicht mehr Geld verdienen, da die kleineren Käufe einzelner Ebenen exponentielle Renditen erzielen.
Ich bin kein JavaScript-Programmierer, ich bin in dieses Spiel eingestiegen, ohne diese Sprache zu kennen, nur mit einem Hintergrund in Python. Ich würde es begrüßen, wenn jemand im Zusammenfassungsabschnitt des Skripts einige Zeichenfolgen für mich manipulieren möchte, um es in weniger Zeilen aufzuräumen. \n\n 🙂
PS Dies ist nicht asynchron, da das Multithreading dieser Aufgabe keinen Vorteil bringt. Egal wie viele Ressourcen Sie haben, Ihr Engpass ist das Bankguthaben. Daher ist die Implementierung über .script nicht nur angemessen, sondern auch optimal, da weniger speicherintensive Befehle verwendet werden.
Das ist alles, was wir heute dafür teilen Bitbrenner führen. Dieses Handbuch wurde ursprünglich erstellt und geschrieben von Laingsta. Falls wir dieses Handbuch nicht aktualisieren, finden Sie das neueste Update, indem Sie diesen folgen Link.