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

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

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

Битбернер – Оптимизированный хакнет-бот

Опубликовано 01/15/2022 К Syw1 Без комментариев на Битбернер – Оптимизированный хакнет-бот
  • Заголовок: Битбернер
  • Дата выпуска:
  • Разработчик:
  • Издатель:
Информация о Bitburner пока неполная. Пожалуйста, помогите нам заполнить детали игры, используя это контактная форма.

Простой бот, который использует математику для выбора наиболее прибыльного обновления.

Как это работает

Бот предпринимает следующие шаги.

  1. Проверяет стоимость и рост производства всех возможных обновлений
  2. Вычисляет прибыльное соотношение каждого обновления
  3. Сортирует элементы по отношению к спускам
  4. Выбирает первый элемент
  5. Проверяет, если вы можете приобрести обновление сейчас, если не, он ждет, чтобы собрать деньги
  6. Проверяет, можете ли вы купить новый узел меньше, чем 30 секунды (Вы можете настроить на этот раз), если так, это покупает его
  7. Повторить…

Прибыльное соотношение = Рост производства / стоимость обновления
Рост производства = Производство после обновления / Текущее производство

Это руководство основано на моем предыдущем “Автоматизация для узлов хакнет”.

Как использовать

Сделать следующие шаги.

  1. Запустить терминал
  2. Введите ‘nano chacknet-bot.js’
  3. Скопируйте и вставьте код ниже в этот файл
  4. Сохраните файл (Ctrl + с)
  5. Вернуться к терминалу
  6. Введите ‘Запустить chacknet-bot.js’

/** @парам {НС} нс **/
экспортировать асинхронную функцию main(нс) {
	// helpers
	const getMoney = () => ns.getPlayer().деньги;
	const getProd = (уровень, баран, ядра) => (уровень * 1.5) * Math.pow(1.035, баран - 1) * ((ядра + 5) / 6);
	// your production multiplier
	const PROD_MULTIPLIER = ns.getHacknetMultipliers().производство;
	// Максимальное время ожидания для сбора денег для нового узла (по умолчанию 30 -е годы)
	const wating_time = ns.args[0] || 30;

	пока (истинный) {
		Const Catios = [];
		Пусть HacknetProduction = 0;
		// loop through all nodes
		for (Пусть индекс = 0; индекс < ns.hacknet.numnodes(); Индекс ++) { // Получить текущую статистику узла const { уровень, баран, ядра, производство } = ns.hacknet.getNoDestats(индекс); HacknetProduction += Производство; // Получить обновления стоимость const levelupgradecost = ns.hacknet.getlevelupgradecost(индекс); const ramupgradecost = ns.hacknet.getramupgradecost(индекс); const coreupgradecost = ns.hacknet.getcoreupgradecost(индекс); // Получить продурку. рост / Коэффициенты стоимости const levelupgraderatio = ((GetProd(уровень + 1, баран, ядра) * Prod_multiplier) - производство) / levelupgradecost; const ramupgraderatio = ((GetProd(уровень, баран * 2, ядра) * Prod_multiplier) - производство) / Ramupgradecost; const coreupgraderatio = ((GetProd(уровень, баран, ядра + 1) * Prod_multiplier) - производство) / CoreupGradecost; // Возможные обновления текущего узла const urdynodeupgrades = [ {соотношение: levelupgraderatio, расходы: levelupgradecost, Узел индекс: индекс, обновление: "уровень"}, {соотношение: Рамуппрарода, расходы: Ramupgradecost, Узел индекс: индекс, обновление: "баран"}, {соотношение: CoreUpgraderatio, расходы: CoreupGradecost, Узел индекс: индекс, обновление: "основной"} ]; // Протолкнуть обновления узлов тока ко всем соотношениям обновлений.push(...currentNodeupGrades); } // Получите наиболее прибыльное обновление { расходы, Узел индекс, обновление } = catios.sort((а, б) => B.Ratio - A.Ratio)[0];
		// wait until you have the money for upgrade
		while (getmoney() < расходы) { жду нс.сон(1); } // Выполните переключатель обновления (обновление) { случай "уровень": wait ns.hacknet.upgradelevel(Узел индекс); перерыв; случай "баран": wait ns.hacknet.upgraderam(Узел индекс); перерыв; случай "основной": ждать ns.hacknet.upgradecore(Узел индекс); перерыв; по умолчанию: продолжать; } // Проверьте, сможете ли вы приобрести новый Node const booksenodecost = ns.hacknet.getpurchasenodecost(); Const MissingMoneyFornewNode = BookASENODECOST - getmoney(); если (MissingMoneyFornewNode > 0 && MissingMoneyFornewNode < HacknetProduction * Wating_time) {
			// Если вам нужно ждать узла покупки меньше, чем wating_time (в секундах) program waits to collect money
			while (getmoney() < Покупка) {
				жду нс.сон(1);
			}
			ns.hacknet.purchasenode();
		}

		// sleep 1ms to prevent crash because of infinite loop
		await ns.sleep(1);
	}
}

Вы можете настроить время ожидания узла покупки (по умолчанию 30 -е годы) передавая дополнительный аргумент сценария. Например:

Запустите chacknet-bot.js 120

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

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

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

Предыдущий пост: Тея 2: Разрушивание – Весь список местности теопедии
Следующий пост: Симулятор побега – Уоллес в Йондерленде: прохождение

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

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

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

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

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

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

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