Ein Skript, das seine Wahl basierend auf den Erfolgsaussichten mit dem verdienten Geldbetrag und der damit verbundenen Zeit trifft.
So funktioniert es
Durch die Verwendung einer kleinen Formel zur Bewertung des Verbrechens ist es möglich, bessere Entscheidungen über die Ergebnisse zu treffen.
Das Ranking wird erstellt, indem der Geldbetrag, der verdient werden kann, dann mit den Erfolgschancen des Verbrechens multipliziert und schließlich durch die benötigte Zeit dividiert wird.
Es gibt definitiv einen durchdachteren Weg, dies zu tun, indem er eine sehr einfache Geld-pro-Sek.-Bewertung ergibt, die das Skript verwendet, um seine Wahl zu treffen.
Voraussetzungen:
- Bitnode4
- 17.10GB von Ram
Skript
Erstellen Sie eine Datei
Nanokriminalität.js
Werfen Sie Folgendes hinein
const crimes = [ "Heist", "Attentat", "Kidnap", "Grand Theft Auto", "Mord", "Diebstahl", "Überfall auf jemanden", "Raubladen", "Ladendiebstahl", ]; /** @param {import(".").NS } ns */ export async function main(ns) { // Protokoll deaktivieren ns.disableLog("ALL"); ns.tail(); // Öffnen Sie ein Fenster, um den Status des Skripts anzuzeigen let timeout = 250; // In ms - eine zu niedrige Zeit führt zu einem Lockout/Hängen while (true) { await ns.sleep(timeout); // Erst abwarten if (ns.isBusy()) Continue; /** Berechne den Risikowert aller Verbrechen */ let choice = crimes.map((crime) => { let crimeStats = ns.getCrimeStats(crime); // Sehen wir uns die wichtigen Bits an let crimeChance = ns.getCrimeChance (Kriminalität); // Wir müssen berechnen, ob es sich lohnt /** Verwenden von Wahrscheinlichkeiten (Quoten), um das "Risiko" zu berechnen, um die beste Belohnung zu erhalten * Risikowert = Verdientes Geld * Erfolgschancen (P(A) / ~ P(A)) / Zeitaufwand * * Größere Risikowerte weisen auf eine bessere Wahl hin */ let crimeRiskValue = (crimeStats.money * Math.log10(crimeChance / (1 - crimeChance + Number.EPSILON))) / crimeStats.time; return [kriminalität, kriminalitätRisikowert]; }); let bestCrime = choice.reduce((prev, current) => { return prev[1] > current[1] ? prev : current; }); ns.commitCrime(bestCrime[0]); ns.print( `Verbrechen: ${bestCrime[0]} Risikowert: ${bestCrime[1].toPrecision(3)} Zu verdienendes Geld: \$${ns .getCrimeStats(bestCrime[0]) .money.toPrecision (4)}` ); } }
Führen Sie
laufen Crime.js
Das Skript versucht, auf die Verbrechensseite zu gehen, wenn es entsperrt ist.
Als Hinweis, wenn Sie Sleeves mit dem Bitnode entsperrt haben, kann es erforderlich sein, das Verbrechen zum ersten Mal manuell zu starten, als ob sie aktiv eine Aufgabe erledigen würden
ns.isbusy()
meldet wahr zurück, bis etwas getan wird. Danach funktioniert es korrekt.
Abschließende Überlegungen
Dieses Skript wird seiner grundlegenden Strategie zum Geldverdienen folgen und je besser die Statistiken des Spielers werden, desto mehr Geld wird es generieren.
Wenn der Spieler seine Statistiken außer dem Ladendiebstahl nicht verbessert, kann er in einer Ladendiebstahlschleife stecken bleiben, da er nur diese Statistiken erhöht, wodurch er besser darin wird, etwas Verteidigung und Stärke zu gewinnen, wird es ihm ermöglichen, zu einem besseren Ziel zu wechseln.
Das ist alles, was wir heute dafür teilen Bitbrenner führen. Dieses Handbuch wurde ursprünglich erstellt und geschrieben von owz. Falls wir dieses Handbuch nicht aktualisieren, finden Sie das neueste Update, indem Sie diesen folgen Link.