Перейти к содержимому
Бунтовые биты

Бунтовые биты

  • Дом
  • Новости
  • Путеводители
  • Видео-гиды
  • Примечания к патчу
  • Сообщить о нарушении
  • Переключить форму поиска
Битбернер

Битбернер – Расширенный сценарий автофермы

Опубликовано 12/19/202112/19/2021 К Nekotorep 1 Комментарий на Битбернер – Расширенный сценарий автофермы
  • Заголовок: Битбернер
  • Дата выпуска:
  • Разработчик:
  • Издатель:
Информация о Bitburner пока неполная. Пожалуйста, помогите нам заполнить детали игры, используя это контактная форма.

Вдохновлен этой основной авто, фермой, Автоматизируйте все серверы с улучшенными выступлениями.

Уведомление

Примечание: Требуется не менее 8,1 г в своем доме’ сервер.

Создайте ‘runner.js’ Файл на домашнем сервере, Вставьте контент ниже на нем, затем запустите его.

Nano Runner.js

По умолчанию, Этот скрипт не убьет все другие службы, работающие на каждом сервере. Вы можете применить его, работая

Run runner.js -Kill

Этот скрипт будет использовать все ваши личные серверы. Чем больше у вас есть, Чем больше это будет эффективно.

Скрипт

/** @парам {НС} нс **/
экспортировать асинхронную функцию main(нс) {
  ns.disableLog('ВСЕ');
  ns.enablelog('Печать');
  var options = ns.flags([
    ['убийство', ЛОЖЬ],
    ['взломать', ЛОЖЬ],
    ['расти', ЛОЖЬ],
    ['ослабить', ЛОЖЬ],
    ['wallime', 10],
    ['помощь', ЛОЖЬ]
  ]);

  если (параметры['помощь']) {
    нс.хвост();
    нс.принт(`Авторация, параметры:
    * --убийство: Сила убить каждый другой процесс на каждом сервере
    * --взломать some-script.js: Заменить сценарий взлома на some-script.js One
    * --выращивать some-script.js: Заменить скрипт Grow на nefcipt.js One
    * --Ослабьте некоторые скидки.js: Заменить Slease Script на Some-script.js One
    * --Поживание 10: Время ожидания между двумя серверами в MS, должен быть выше, чем 1
    * --помощь: show this message
    `);
    возвращаться;
  }

  // Creating scripts
  var hack = options['взломать'] || '/temp/hack.js',
    выращивать = варианты['расти'] || '/temp/grow.js',
    Ослабьте = варианты['ослабить'] || '/temp/weaken.js';

  если (!параметры['взломать']) {
    жду ns.write(взломать, `
      /** @парам {НС} нс **/
      экспортировать асинхронную функцию main(нс) {
          жду ns.hack(ns.args[0]);
      }
    `, 'w');
  }
  если (!параметры['расти']) {
    жду ns.write(расти, `
      /** @парам {НС} нс **/
      экспортировать асинхронную функцию main(нс) {
          ждать ns.grow(ns.args[0]);
      }
    `, 'w');
  }
  если (!параметры['ослабить']) {
    жду ns.write(ослабить, `
      /** @парам {НС} нс **/
      экспортировать асинхронную функцию main(нс) {
          жду ns.weaken(ns.args[0]);
      }
    `, 'w');
  }

  // Divs variables declarations
  var serverList = ns.scan('дом'),
    ServerCount = [Serverlist.length, 0],
    Softwares = [0, 0, 0, 0, 0, 0],
    Softwarescount = 0,
    Scanlevel = 2,
    index = 0,
    notproxylist = [],
    Proxylist = ['дом'],
    Hackables = [],
    выращиваемые = [],
    Ослабление = [],
    связанный,
    цель,
    Прокситард,
    глубина = 0,
    проверено = 0,
    Хактип;

  // Checking softwares
  if (NS.FileExists('Brutessh.exe')) {
    Softwares[0] = 1;
    Softwarescount ++;
  };
  если (NS.FileExists('Ftpcrack.exe')) {
    Softwares[1] = 1;
    Softwarescount ++;
  };
  если (NS.FileExists('relaysmtp.exe')) {
    Softwares[2] = 1;
    Softwarescount ++;
  };
  если (NS.FileExists('Httpworm.exe')) {
    Softwares[3] = 1;
    Softwarescount ++;
  };
  если (NS.FileExists('Sqlinject.exe')) {
    Softwares[4] = 1;
    Softwarescount ++;
  };
  если (NS.FileExists('DeepScanv1.exe')) {
    Scanlevel += 2;
  };
  если (NS.FileExists('DeepScanv2.exe')) {
    Scanlevel += 5;
  };

  нс.принт('/---/ SEARCHING \\---\\\n-- Default --\n > ' + Serverlist.join('\n > ') + '\n>- Предел сканирования: L ' + [сканирование + 1] + ' -<');
  пока (индекс <= ServerCount[глубина] - 1 && глубина < сканирование) {
    Linked = ns.scan(сервер[проверено]);
    проверен ++;
    для (Пусть индекс = 0; индекс <= linked.length - 1; Индекс ++) { Target = Linked[индекс]; если (цель != 'Home' && !Serverlist.includes(цель)) { Serverlist.push(цель); нс.принт(L ' + [глубина + 2] + ' > ' + цель);
        ServerCount[глубина + 1]++;
      }
    }
    если (index == ServerCount[глубина] - 1) {
      index = 0;
      глубина ++;
      servercount.push(0);
    } еще {
      Индекс ++;
    };
  }

  нс.принт('/-------/ CHECKING \\-------\\');
  для (Пусть индекс = 0; индекс <= serverlist.length - 1; Индекс ++) { target = serverlist[индекс]; если (ns.getpurchedservers().Включает(цель)) { ожидайте ns.scp([взломать, расти, ослабить], 'дом', цель); если (параметры['убийство']) { ns.killall(цель); } Proxylist.push(цель); нс.принт(' >>>  Прокси ' + цель);
    } еще если (ns.getservernumportsrequired(цель) > Softwarescount) {
      нс.принт(' >Х<  ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ' + цель);
    } еще если (ns.getservermaxram(цель) < 2) { нс.принт(' >Х<  Нет барана ' + цель);
    } еще если (ns.gethackingel() < ns.getserverrequiredhackinglel(цель)) { нс.принт(' >Х< НАВЫК ' + цель); } еще { если (Softwares[0]) { ns.brutessh(цель); }; если (Softwares[1]) { ns.ftpcrack(цель); }; если (Softwares[2]) { ns.reelaysmtp(цель); }; если (Softwares[3]) { ns.httpworm(цель); }; если (Softwares[4]) { ns.sqlinject(цель); }; Ns.wull(цель); ожидайте ns.scp([взломать, расти, ослабить], 'дом', цель); если (параметры['убийство']) { ns.killall(цель); } если (ns.getServerMoneyAvailable(цель) == 0) { нс.принт(' >Х< Нет денег ' + цель); Proxylist.push(цель); нс.принт(' >>>  Прокси ' + цель);
      } еще {
        notproxylist.push(цель);
        нс.принт(' >>>  ДЕЙСТВИТЕЛЬНЫЙ ' + цель);
      }
    }
  }

  если (notproxylist.length > 0) {
    нс.принт('/------------/ HACKING \\------------\\');
    пока (истинный) {
      Hackables = [];
      выращиваемые = [];
      Ослабление = [];
      для (цель нотапроксилиста) {
        // Приоритет для целей: ослабить, тогда выращивать, then hack
        if (ns.getserversecuritylevel(цель) > ns.getserverminsecuritylevel(цель) + 5) {
          Hacktype = ослаблен;
          Освобождаемые. Пуш(цель);
        } еще если (ns.getServerMoneyAvailable(цель) < ns.getservermaxmoney(цель) * 0.80) { Hacktype = выращивать; растущие. Пуш(цель); } еще { Hacktype = Hack; Hackables.push(цель); } если ((ns.getservermaxram(цель) - ns.getserverusedram(цель)) > ns.getscriptram(Хактип)) {
          ns.exec(Хактип, цель, Math.floor((ns.getservermaxram(цель) - ns.getserverusedram(цель)) / ns.getscriptram(Хактип)), цель);
          нс.принт('|||||||||| ' + Хактип + ' -> ' + цель + ' ||||||||||');
        }
      }
      для (цель проксилиста) {
        // Приоритет для прокси: взломать, тогда выращивать, then weaken
        if (Hackables.length > 0) {
          ProxyTarget = Hackables[Math.floor(Math.random() * Hackables.length)];
          Hacktype = Hack;
        } еще если (растущие > 0) {
          ProxyTarget = Growables[Math.floor(Math.random() * растущие)];
          Hacktype = выращивать;
        } еще если (Освобождаемые. Длина > 0) {
          ProxyTarget = ослабление[Math.floor(Math.random() * Освобождаемые. Длина)];
          Hacktype = ослаблен;
        }
        если ((ns.getservermaxram(цель) - ns.getserverusedram(цель)) > ns.getscriptram(Хактип)) {
          ns.exec(Хактип, цель, Math.floor((ns.getservermaxram(цель) - ns.getserverusedram(цель)) / ns.getscriptram(Хактип)), Прокситард);
          нс.принт('|||||||||| прокси -> ' + цель + ' -> ' + Хактип + ' -> ' + Прокситард + ' ||||||||||');
        }
      }
      // Await n ms between each servers to avoid issue with the infinite loop
      await ns.sleep(параметры['wallime']);
    }
  } еще {
    нс.принт('Ошибка, нет сервера.);
  }
}

Расширенное использование

Вы можете увидеть все варианты в игре с

Run Runner.js -Help

Вам разрешено использовать свой собственный взлом, расти, Ослабьте сценарий. Вы также можете настроить время ожидания между каждым сервером. Предупреждение. Всегда используйте больше этого 1 мс, или вы замочите свою игру.

Это все, чем мы делимся сегодня для этого. Битбернер гид. Это руководство было первоначально создано и написано Nekotorep. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.

Если вы считаете, что какой-либо контент на этом сайте нарушает ваши права, включая ваши права интеллектуальной собственности, пожалуйста, свяжитесь с нами немедленно, используя нашу контактную форму.
Путеводители Теги:Битбернер

Навигация по публикациям

Предыдущий пост: Пять ночей с Фредди: Нарушение безопасности – Как победить загадку дневного ухода
Следующий пост: Готовы или нет – Тактический справочник операторов

Комментарий (1) on “Bitburner – Расширенный сценарий автофермы”

  1. Леофев говорит:
    08/20/2022 в 8:24 ЯВЛЯЮСЬ

    На расстоянии 2.0.1, Последние два аргумента функции SCP должны быть перевернуты. Это не бросит ошибки, Но вы обнаружите, что он будет использовать только домашний компьютер для запуска цикла выращивания/ослабления/взлома.

    Отвечать

Оставить ответ Отменить ответ

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *

  • Заголовок: Битбернер
  • Дата выпуска:
  • Разработчик:
  • Издатель:
Информация о Bitburner пока неполная. Пожалуйста, помогите нам заполнить детали игры, используя это контактная форма.

Отказ от ответственности

Весь цитируемый контент взят из соответствующих источников.. Если вы считаете, что мы использовали ваш контент без разрешения, обязательно свяжитесь с нами, и мы отнесемся к этому серьезно.
  • О нас
  • Связаться с нами
  • политика конфиденциальности
  • Условия использования

Авторское право © 2025 Бунтовые биты.

Питаться от Пресс-книга новостей Тема WordPress