Un guión que hace su elección en función de las probabilidades de éxito con la cantidad de dinero ganada y el tiempo involucrado.
¿Cómo funciona?
Al utilizar una pequeña fórmula para evaluar el delito, es posible tomar mejores decisiones sobre los resultados.
La clasificación se crea tomando la cantidad de dinero que se puede ganar, luego multiplicándola por las probabilidades de éxito del crimen y finalmente dividiéndola por el tiempo que lleva.
Definitivamente hay una forma más pensada de hacer esto, ya que dará una valoración de dinero por segundo muy básica que el script usa para hacer su elección.
Requisitos
- Bitnodo4
- 17.10GB de Ram
Guión
Crear un archivo
nano crimen.js
Ponle lo siguiente
const crímenes = [ "atraco", "asesinato", "secuestro", "robo de auto", "homicidio", "robo", "asaltar a alguien", "robar tienda", "robar", ]; /** @param {import(".").NS } ns */ export async function main(ns) { // Deshabilitar el registro ns.disableLog("ALL"); ns.tail(); // Abre una ventana para ver el estado del script let timeout = 250; // En ms: un tiempo demasiado bajo resultará en un bloqueo/bloqueo while (true) { await ns.sleep(timeout); // Espere primero if (ns.isBusy()) continue; /** Calcular el valor de riesgo de todos los delitos */ let choice = crime.map((crime) => { let crimeStats = ns.getCrimeStats(crime); // Veamos las partes importantes let crimeChance = ns.getCrimeChance (crimen); // Necesitamos calcular si vale la pena /** Usar la probabilidad (probabilidades) para calcular el "riesgo" para obtener la mejor recompensa * Valor del riesgo = Dinero ganado * Probabilidades de éxito (P(A) / ~ P(A)) / Tiempo empleado * * Los valores de riesgo más grandes indican una mejor opción */ let crimeRiskValue = (crimeStats.money * Math.log10(crimeChance / (1 - crimeChance + Number.EPSILON))) / crimeStats.time; return [crimen, crimenRiskValue]; }); let bestCrime = opciones.reduce((anterior, actual) => { return anterior[1] > actual[1] ? anterior : actual; }); ns.commitCrime(mejorCrimen[0]); ns.print( `Crimen: ${bestCrime[0]} Valor de riesgo: ${bestCrime[1].toPrecision(3)} Efectivo para ganar: \$${ns .getCrimeStats(bestCrime[0]) .money.toPrecision (4)}` ); } }
Ejecutar
ejecutar crimen.js
El script intentará ir a la página del crimen si está desbloqueado.
Como nota, si tiene mangas desbloqueadas con el bitnode, es posible que deba iniciar manualmente el crimen por primera vez como si estuvieran realizando activamente una tarea.
ns.estáocupado()
informa verdadero hasta que se hace algo. Después de eso funciona correctamente.
Consideraciones Finales:
Este script seguirá su estrategia básica para ganar dinero y, a medida que el jugador gane mejores estadísticas, generará más y más dinero.
Si el jugador no aumenta sus estadísticas aparte de robar en la tienda, podría quedar atrapado en un ciclo de robo en la tienda, ya que solo está aumentando esas estadísticas, lo que lo hace mejor al hacerlo, ganar algo de defensa y fuerza le permitirá cambiar a un mejor objetivo.
Eso es todo lo que estamos compartiendo hoy para este Quemador de bits guía. Esta guía fue originalmente creada y escrita por owenz. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.