Een script dat zijn keuze maakt op basis van de kans op succes met het verdiende geld en de tijd die ermee gemoeid is.
Hoe het werkt
Door een kleine formule te gebruiken om de misdaad te evalueren, is het mogelijk om betere keuzes te maken over de uitkomsten.
De rangorde wordt gemaakt door de hoeveelheid geld die kan worden verdiend te nemen, dit te vermenigvuldigen met de kans op succes van het misdrijf en dat uiteindelijk te delen door de tijd die nodig is.
Er is zeker een meer doordachte manier om dit te doen, waarbij het een zeer basale waardering per seconde geeft die het script gebruikt om zijn keuze te maken.
Voorwaarden
- Bitnode4
- 17.10GB of Ram
Script
Maak een bestand
nano crime.js
Gooi het volgende erin
const crimes = [ "overval", "moord", "ontvoering", "grand theft auto", "moord", "diefstal", "iemand overvallen", "overval", "winkeldiefstal", ]; /** @param {import(".").NS } ns */ export async function main(ns) { // Schakel de log uit ns.disableLog ("ALL"); ns.staart(); // Open een venster om de status van het script te bekijken let timeout = 250; // In ms - een te korte tijd zal resulteren in een lockout/hang while (true) { wait ns.sleep (timeout); // Wacht eerst af als (ns.isBusy()) doorgaat; /** Bereken de risicowaarde van alle misdaden */ let choice = crimes.map((crime) => { let crimeStats = ns.getCrimeStats(crime); // Laten we eens kijken naar de belangrijke onderdelen let crimeChance = ns.getCrimeChance (misdaad); // We moeten berekenen of het het waard is /** Probabilty(odds) gebruiken om het "risico" te berekenen om de beste beloning te krijgen * Risicowaarde = verdiend geld * Kans op succes (P(A) / ~ P(A)) / Tijd nodig * * Grotere risicowaarden geven een betere keuze aan */ let crimeRiskValue = (crimeStats.money * Math.log10(crimeChance / (1 - crimeChance + Number.EPSILON))) / crimeStats.time; return [misdaad, misdaadRiskValue]; }); laat bestCrime = choice.reduce((prev, current) => { return prev[1] > current[1] ? prev: current; }); ns.commitCrime(bestCrime[0]); ns.print( `Crime: ${bestCrime[0]} Risicowaarde: ${bestCrime[1].toPrecision(3)} Te verdienen geld: \$${ns .getCrimeStats(bestCrime[0]) .money.toPrecision (4)}` ); } }
lopen
voer crime.js uit
Het script zal proberen naar de misdaadpagina te gaan als het ontgrendeld is.
Als een opmerking als je Sleeves hebt ontgrendeld met de bitnode, kan het nodig zijn om de misdaad voor de eerste keer handmatig te starten alsof ze actief een taak uitvoeren die de
ns.isbezet()
rapporteert waar totdat er iets is gedaan. Daarna werkt het correct.
Conclusie
Dit script volgt zijn basisstrategie om geld te verdienen en naarmate de speler betere statistieken krijgt, zal het meer en meer geld genereren.
Als de speler zijn statistieken niet verhoogt, behalve winkeldiefstal, kan hij vast komen te zitten in een lus van winkeldiefstal, omdat hij alleen die statistieken laat groeien, waardoor hij beter in staat is om dit te doen, wat verdediging en kracht zal het mogelijk maken om te veranderen in een beter doelwit.
Dat is alles wat we hiervoor vandaag delen Bitbrander gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door ohenz. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.