Este es un script automatizado para midgame (o juegos SF1+) que compra y recompra servidores. Tiene variables editables para una personalización adicional.
Acerca de este robot
Este es un bot que:
- Compre los servidores de RAM que especifique (el valor predeterminado es la mitad de la RAM de su hogar, mínimo de 32 GB)
- Cargue y ejecute un script de su elección
- Plantilla para cargar secuencias de comandos adicionales de su elección (es decir, si su secuencia de comandos principal llama secuencias de comandos 3x como la mía)
- Si tiene un máximo de servidores (25) y son débiles (<25% de la RAM de su hogar) y tiene suficiente dinero para actualizar, aparecerá un cuadro de sí/no para actualizarlos. Esto elimina y vuelve a comprar.
Debido a la lógica interna, es bastante pesado con 13.3 GB de RAM requeridos, por lo que no es realmente adecuado para un juego muy temprano.
Se requieren algunos conocimientos técnicos básicos para cambiar algunas líneas de código para adaptarse a su configuración. Lea el instructivo detenidamente.
Puede forzar la recompra de un servidor ejecutándolo con el argumento 'f' (es decir, "ejecutar servidores.js f")
La secuencia de comandos
// Script de compra del servidor para Bitburner: https://danielyxie.github.io/bitburner/, escrito por steamid/Meng // Se ejecuta hasta que esté satisfecho, volverá a comprar servidores, el dinero es suficiente y el servidor es peor que el 25% de RAM. Ejecutar con el argumento 'f' para forzar la recompra // Versión 1.22 // Se agregaron comentarios adicionales y la variable MAIN_SCRIPT para que el código pueda usarse para que otros exporten la función asíncrona main(ns) { // ~~~~~~~~~Editable variables~~~~~~~~~~~ const SVRNAME = "plex"; // Qué nombre de host tendrán sus servidores comprados const MIN_RAM = 32; // RAM mínima que desea comprar para un servidor const SVR_RAM_RATIO = 2; // La RAM de destino para el servidor es RAM "Home", dividida por SVR_RAM_RATIO, debe = potencia de 2 (0.5, 1, 2, 4...). p.ej. '2' es el 50 % de la memoria RAM doméstica const MAIN_SCRIPT = "breaker.js" // Nombre del script principal que desea cargar // ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ let currentServers = ns.getPurchasedServers(); let ram = calcularRam(); // Calcula cuánta RAM comprar para el servidor let i = currentServers.length; const serverMax = 25; // servidores máximos codificados a partir de Bitburner v1.3 // Verifique y asegúrese de que los servidores estén ejecutando scripts (recupérese después de un reinicio forzado) // si el servidor no está ejecutando scripts, sobrescriba el interruptor existente y ejecútelo. ns.print('Iniciando scripts en servidores existentes...') for(let x = 0; x < currentServers.length; x++){ if (!ns.isRunning(MAIN_SCRIPT, currentServers[x])){ await ns. scp(MAIN_SCRIPT, servidoresactuales[x]); ns.exec(MAIN_SCRIPT, servidoresactuales[x], 1); } }; // Información de compra del servidor const serverPriceInfoText = (ns.getPurchasedServerCost(ram) / 1000000).toFixed(2); ns.toast(`El precio del servidor es ${serverPriceInfoText} M`, "info"); ns.print(`a punto de comenzar a comprar servidores @ ${ram}gb por ${serverPriceInfoText}`); await ns.sleep(15000) // luego Intentamos comprar servidores continuamente hasta que alcancemos el máximo while (i < serverMax) { // Comprobamos si tenemos suficiente dinero para comprar un servidor if (ns.getServerMoneyAvailable("home" ) > ns.getPurchasedServerCost(ram)) { // si hay suficiente dinero, compre el servidor, asígnele un nombre, cargue scripts y exec MAIN_SCRIPT let hostname = ns.purchaseServer(SVRNAME + i, ram); esperar ns.scp(MAIN_SCRIPT, nombre de host); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Agregue cualquier script adicional que desee cargar aquí, o elimine las líneas // ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ await ns.scp("hackscript.js", nombre de host); esperar ns.scp("growscript.js", nombre de host); esperar ns.scp("weakscript.js", nombre de host); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ns.exec(MAIN_SCRIPT, nombre de host, 1); ns.toast(`Se compró el servidor ${hostname}`, "éxito") ++i; } else { ns.print(`no se puede comprar todavía - el precio es `+ ns.getPurchasedServerCost(ram)) await ns.sleep(20000) } } // fin de while (ns.getPurchasedServerCost(ram) * 13) ){ / / si el dinero es suficiente para la actualización.. let areYouSure = await ns.prompt(`¿quieres volver a comprar servidores?
Instrucciones de uso
Así es como puede usar este script
- terminal > nano “servidores.js”
- pegue el siguiente código en
- EDITAR EL CÓDIGO – Línea 13 + Líneas 45-50
- Línea 13: cambie "breaker.js" por el nombre de archivo de script principal que desee ejecutar en el servidor remoto.
- Líneas 45-50: si desea cargar más secuencias de comandos, modifique estas líneas también, si no las necesita, elimínelas entre líneas. Tenga en cuenta que estos no se ejecutarán automáticamente, asumen que su script principal los llama. Si necesita ejecutarlos también, agregue líneas adicionales de
ns.exec("yourScriptNameHere.js", nombre de host, 1);
- ahorrar
- terminal > ejecutar servidores.js
Nota: Si no nombra el archivo servers.js, modifique la línea 70 con el nombre que le dé al archivo, o la función de recompra no funcionará.
Eso es todo lo que estamos compartiendo hoy para este Quemador de bits guía. Esta guía fue originalmente creada y escrita por Meng. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.
Acabo de pasar varios minutos corrigiendo los errores de sintaxis antes de poder entender al menos algunas partes. No sé si el sitio web lo arruinó o fue un error del usuario, pero así nadie puede ejecutarlo. casi todos los ifs están comentados, por ejemplo. los saltos de línea son un desastre, si los hay. múltiple; están perdidos. Al principio pensé que intentabas escribir mientras más (resultó ser otro si comentado). ¿Por qué no usas let scriptArray = [“script1.js”, “script2.js”,…”scriptn.js”]; para ser utilizado en ns.scp(scriptArray, hostname);? Necesita un scp en lugar de 3 al cargar cada cantidad de scripts a la vez. ¿Y qué diablos estás tratando de hacer en el ciclo final? la condición (un valor multiplicado por 13) siempre sería verdadera si no estuviera comentada. Este script enviaría spam constantemente "¿quieres volver a comprar servidores?", probablemente gastando instantáneamente todo el dinero de los jugadores. Tal vez debería apegarse a reddit con sus scripts, allí obtendrá comentarios instantáneos y sugerencias de mejora...