Dies ist ein automatisiertes Skript für die Spielmitte (oder SF1+-Spiele) das Server kauft und wieder kauft. Es verfügt über bearbeitbare Variablen für zusätzliche Anpassungen.
Über diesen Bot
Dies ist ein Bot, der das tut:
- Kaufen Sie Server mit RAM, die Sie angeben (Der Standardwert ist die Hälfte Ihres Heim-RAM, mindestens 32 GB)
- Laden Sie ein Skript Ihrer Wahl hoch und führen Sie es aus
- Vorlage zum Hochladen zusätzlicher Skripte Ihrer Wahl (dh. wenn Ihr Hauptskript 3x-Skripte aufruft, wie es bei mir der Fall ist)
- Wenn Sie maximal Server haben (25) und sie sind schwach (<25% Ihres Heim-RAMs) und genug Geld für ein Upgrade haben, Es wird ein Ja/Nein-Feld angezeigt, um sie zu aktualisieren. Dadurch wird gelöscht und neu gekauft.
Aufgrund der Logik im Inneren, Mit 13,3 GB benötigtem RAM ist es recht üppig, Daher ist es nicht wirklich für ein sehr frühes Spiel geeignet.
Es sind einige grundlegende technische Kenntnisse erforderlich, um einige Codezeilen an Ihr Setup anzupassen. Lesen Sie die Anleitung sorgfältig durch.
Sie können einen Server-Neukauf erzwingen, indem Sie ihn mit ausführen ‚F‘ Argument (dh. „Führen Sie server.js f aus“)
Das Drehbuch
// Serverkaufskript für Bitburner - https://danielyxie.github.io/bitburner/ , geschrieben von Steamid/Meng // Läuft bis zur Zufriedenheit, Ich werde Server neu kaufen, das Geld reicht aus und der Server ist schlechter als 25% von Widder. Mit dem Argument „f“ ausführen, um einen erneuten Kauf zu erzwingen // Version 1.22 // Added additional comments and MAIN_SCRIPT variable so that the code will be usable for others export async function main(ns) { // ~~~~~~~~~Editable variables~~~~~~~~~~~ const SVRNAME = "plex"; // What hostname your purchased servers will have const MIN_RAM = 32; // Minimum RAM you want to buy for a server const SVR_RAM_RATIO = 2; // Ziel-RAM für den Server ist "Heim" RAM, geteilt durch SVR_RAM_RATIO, muss = Macht von 2 (0.5, 1, 2, 4...). z.B. '2' ist 50% of home RAM const MAIN_SCRIPT = "breaker.js" // Name Ihres Hauptskripts, das Sie hochladen möchten // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ let currentServers = ns.getPurchasedServers(); lass ram = berechneRam(); // Calculates how much RAM to buy for the server let i = currentServers.length; const serverMax = 25; // fest codierte maximale Serverzahl ab Bitburner v1.3 // Überprüfen Sie, ob auf den Servern Skripts ausgeführt werden (Wiederherstellung nach einem erzwungenen Neustart) // wenn der Server keine Skripte ausführt, Überschreiben Sie den vorhandenen Leistungsschalter und führen Sie ihn aus. ns.print('Skripte auf bestehenden Servern starten...') für(sei x = 0; X < currentServers.length; x++){ Wenn (!ns.isRunning(MAIN_SCRIPT, aktuelleServer[X])){ warte auf ns.scp(MAIN_SCRIPT, aktuelleServer[X]); ns.exec(MAIN_SCRIPT, aktuelleServer[X], 1); } }; // Server purchase info const serverPriceInfoText = (ns.getPurchasedServerCost(RAM) / 1000000).toFixed(2); ns.toast(„Serverpreis ist ${serverPriceInfoText} M`, "Info"); ns.print(`bin gerade dabei, Server zu kaufen @ ${RAM}GB für ${serverPriceInfoText}`); warte auf ns.sleep(15000) // then Continuously try to purchase servers until we've reached the maximum while (ich < serverMax) { // Prüfen Sie, ob wir genug Geld haben, um einen Server zu kaufen (ns.getServerMoneyAvailable("heim") > ns.getPurchasedServerCost(RAM)) { // wenn genügend Geld vorhanden ist, Server kaufen, Nennen Sie es, upload scripts and exec MAIN_SCRIPT let hostname = ns.purchaseServer(SVRNAME + ich, RAM); warte auf ns.scp(MAIN_SCRIPT, Hostname); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ // Fügen Sie hier alle zusätzlichen Skripte hinzu, die Sie hochladen möchten, oder löschen Sie die Zeilen // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ await ns.scp("hackscript.js", Hostname); warte auf ns.scp("wachsenscript.js", Hostname); warte auf ns.scp("schwachscript.js", Hostname); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ns.exec(MAIN_SCRIPT, Hostname, 1); ns.toast(„Server ${Hostname} gekauft wurde‘, "Erfolg") ++ich; } anders { ns.print(„Kann noch nicht gekauft werden.“ - Preis ist `+ ns.getPurchasedServerCost(RAM)) warte auf ns.sleep(20000) } } // Ende einer Weile (ns.getPurchasedServerCost(RAM) * 13) ){ // wenn das Geld für ein Upgrade ausreicht.. let areYouSure = waiting ns.prompt(„Möchten Sie Server neu kaufen?“? Ist Kosten: $ ${((ns.getPurchasedServerCost(RAM) * 25)/1000000000).toFixed(2)} B`); Wenn (bist du sicher){ für (lass ich = 0; ich < currentServers.length; i++){ // Löschen Sie alle vorhandenen Server ns.killall(aktuelleServer); ns.deleteServer(aktuelleServer); } ns.spawn("server.js", 1); // Tötet dieses Skript und startet es neu, um den Kaufvorgang zu starten } } warte auf ns.sleep (900000); } Funktion berechneRam() { // Berechnen Sie, wie viel RAM Sie für den Server kaufen müssen (auf SVR_RAM_RATIO gesetzt) const myRam = ns.getServerMaxRam("heim"); const maxPossRam = 1048576; // Hartcodierter Wert für den maximal käuflichen Server-RAM @ Bitburner v1.3, wenn (meinRam > maxPossRam){gib maxPossRam zurück} sonst wenn (meinRam <= MIN_RAM){MIN_RAM zurückgeben} anders {zurückkehren (meinRam / SVR_RAM_RATIO)}; } } // Ende des Drehbuchs
Verwendung
So können Sie dieses Skript verwenden
- Terminal > Nano „server.js“
- Fügen Sie den folgenden Code ein
- BEARBEITEN SIE DEN CODE – Linie 13 + Linien 45-50
- Linie 13: Ändern „breaker.js“ auf den Dateinamen Ihres Hauptskripts, das Sie auf dem Remote-Server ausführen möchten.
- Linien 45-50: Wenn Sie weitere Skripte hochladen möchten, Dann ändern Sie auch diese Zeilen, wenn Sie sie nicht benötigen, dann löschen Sie sie zwischen den Zeilen. Beachten Sie, dass diese nicht automatisch ausgeführt werden, Sie gehen davon aus, dass Ihr Hauptskript sie aufruft. Wenn Sie sie auch ausführen müssen, Fügen Sie dann zusätzliche Zeilen hinzu
ns.exec("yourScriptNameHere.js", Hostname, 1);
- speichern
- Terminal > Führen Sie server.js aus
Notiz: Wenn Sie die Datei nicht „servers.js“ nennen, dann ändern Sie die Zeile 70 zu wie auch immer Sie die Datei nennen, oder die Rebuy-Funktion funktioniert nicht.
Das ist alles, was wir heute dafür teilen Bitburner Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von Meng. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.
Ich habe nur mehrere Minuten damit verbracht, die Syntaxfehler zu beheben, bevor ich zumindest Teile davon verstehen konnte. Ich weiß nicht, ob die Website einen Fehler gemacht hat oder ob es ein Benutzerfehler war, aber so kann es niemand ausführen. Fast alle Wenns sind auskommentiert, Zum Beispiel. Die Zeilenumbrüche sind ein Chaos, falls es welche gibt. Mehrere ; fehlen. Zuerst dachte ich, du hättest währenddessen versucht zu schreiben (Es stellte sich heraus, dass es sich um einen weiteren Kommentar handelte). Warum verwenden Sie nicht einfach let scriptArray =? [„script1.js“, „script2.js“,…,“scriptn.js“]; zur Verwendung in ns.scp(scriptArray, Hostname);? Benötigt stattdessen einen SCP 3 während Sie jede Menge Skripte gleichzeitig hochladen. Und was zum Teufel versuchst du in der letzten Schleife zu machen?? der Zustand (ein Wert multipliziert mit 13) wäre immer wahr, wenn es nicht auskommentiert wäre. Dieses Skript würde ständig Spam versenden „Möchten Sie Server neu kaufen??“, wahrscheinlich sofort das gesamte Geld des Spielers ausgeben. Vielleicht sollten Sie bei Ihren Skripten bei Reddit bleiben, Dort erhalten Sie sofortiges Feedback und Verbesserungsvorschläge…