Это автоматизированный скрипт для мидгейма. (или игры SF1+) который покупает и перекупает серверы. Он имеет редактируемые переменные для дополнительной настройки..
Об этом боте
Это бот, который будет:
- Купить серверы с указанной вами оперативной памятью (по умолчанию — половина вашей домашней оперативной памяти, минимум 32 ГБ)
- Загрузите и выполните сценарий по вашему выбору
- Шаблон для загрузки дополнительных скриптов по вашему выбору (т.е.. если ваш основной скрипт вызывает 3x скрипты, как мой)
- Если у вас максимальное количество серверов (25) и они слабые (<25% вашей домашней оперативной памяти) и иметь достаточно денег для обновления, появится поле «да/нет» для их обновления.. Это удаляет и повторно покупает.
Из-за внутренней логики, это довольно много, требуется 13,3 ГБ ОЗУ, как таковой он не совсем подходит для очень ранней игры.
Чтобы изменить несколько строк кода в соответствии с вашими настройками, необходимы некоторые базовые технические знания.. Внимательно прочтите инструкцию.
Вы можете принудительно выполнить повторную покупку сервера, запустив его с помощью команды ‘f’ аргумент (т.е.. “запустить server.js f”)
Сценарий
// Скрипт покупки сервера для Bitburner - https://danielyxie.github.io/bitburner/ , автор: Steamid/Мэн // Работает до тех пор, пока не будет удовлетворен, перекуплю серверы, денег достаточно, а сервер хуже 25% барана. Запустите с аргументом 'f', чтобы принудительно выполнить повторную покупку // Версия 1.22 // Added additional comments and MAIN_SCRIPT variable so that the code will be usable for others export async function main(нс) { // ~~~~~~~~~Editable variables~~~~~~~~~~~ const SVRNAME = "сплетение"; // What hostname your purchased servers will have const MIN_RAM = 32; // Minimum RAM you want to buy for a server const SVR_RAM_RATIO = 2; // Целевая оперативная память для сервера "Дом" БАРАН, разделить на SVR_RAM_RATIO, должен = сила 2 (0.5, 1, 2, 4...). например. '2' это 50% of home RAM const MAIN_SCRIPT = "прерыватель.js" // Имя вашего основного скрипта, который вы хотите загрузить. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ let currentServers = ns.getPurchasedServers(); пусть баран = вычислитьРам(); // Calculates how much RAM to buy for the server let i = currentServers.length; константный серверМакс = 25; // жестко закодированное максимальное количество серверов начиная с Bitburner v1.3 // Проверьте и убедитесь, что на серверах выполняются сценарии (восстановиться после принудительной перезагрузки) // если на сервере не выполняются скрипты, перезаписать существующий прерыватель и запустить. нс.принт("Запуск скриптов на существующих серверах...") для(пусть х = 0; х < currentServers.length; х++){ если (!ns.isRunning(MAIN_SCRIPT, текущиесерверы[х])){ ожидайте ns.scp(MAIN_SCRIPT, текущиесерверы[х]); ns.exec(MAIN_SCRIPT, текущиесерверы[х], 1); } }; // Server purchase info const serverPriceInfoText = (ns.getPurchasedServerCost(баран) / 1000000).toFixed(2); нс.тост(`Цена сервера ${серверЦенаИнформацияТекст} М`, "информация"); нс.принт(`собираюсь начать покупать серверы @ ${баран}ГБ за ${серверЦенаИнформацияТекст}`); жду нс.сон(15000) // then Continuously try to purchase servers until we've reached the maximum while (я < серверМакс) { // Проверьте, хватит ли у нас денег на покупку сервера, если (ns.getServerMoneyAvailable("дом") > ns.getPurchasedServerCost(баран)) { // если достаточно денег, купить сервер, назови это, upload scripts and exec MAIN_SCRIPT let hostname = ns.purchaseServer(SVRNAME + я, баран); ожидайте ns.scp(MAIN_SCRIPT, имя хоста); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ // Добавьте сюда любые дополнительные скрипты, которые хотите загрузить., или удалите строки // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ await ns.scp("hackscript.js", имя хоста); ожидайте ns.scp("ростскрипт.js", имя хоста); ожидайте ns.scp("слабый скрипт.js", имя хоста); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ns.exec(MAIN_SCRIPT, имя хоста, 1); нс.тост(`Сервер ${имя хоста} был куплен`, "успех") ++я; } еще { нс.принт(`пока не могу купить - цена `+ ns.getPurchasedServerCost(баран)) жду нс.сон(20000) } } // конец времени (ns.getPurchasedServerCost(баран) * 13) ){ // если денег хватит на апгрейд.. let areYouSure = ожидайте ns.prompt(`вы хотите перекупить серверы? Стоимость: $ ${((ns.getPurchasedServerCost(баран) * 25)/1000000000).toFixed(2)} Б`); если (вы уверены){ для (пусть я = 0; я < currentServers.length; я++){ // Удалить все существующие серверы ns.killall(текущиесерверы); ns.deleteServer(текущиесерверы); } нс.spawn("серверы.js", 1); // Убивает и перезапускает этот скрипт, чтобы начать процесс покупки. } } жду нс.сон (900000); } функция расчетаRam() { // Посчитать, сколько оперативной памяти купить для сервера (установлено значение SVR_RAM_RATIO) const myRam = ns.getServerMaxRam("дом"); константа maxPossRam = 1048576; // Жестко закодированное значение максимального объема приобретаемой оперативной памяти сервера @ Bitburner v1.3, если (мойРам > МаксПоссРам){вернуть maxPossRam} еще если (мойРам <= МИН_ОЗУ){вернуть MIN_RAM} еще {возвращаться (мойРам / SVR_RAM_RATIO)}; } } // конец сценария
Как использовать
Вот как вы можете использовать этот скрипт
- Терминал > нано “серверы.js”
- вставьте приведенный ниже код в
- ИЗМЕНИТЬ КОД – Линия 13 + Линии 45-50
- Линия 13: Изменять “прерыватель.js” к любому имени вашего основного файла сценария, который вы хотели бы выполнить на удаленном сервере.
- Линии 45-50: Если вы хотите загрузить больше скриптов, затем измените и эти строки, если они тебе не нужны, затем удалите их между строк. Обратите внимание, что они не будут выполняться автоматически., они предполагают, что ваш основной скрипт вызывает их. Если вам нужно выполнить их также, затем добавьте дополнительные строки
ns.exec("вашеимяскриптаздесь.js", имя хоста, 1);
- сохранять
- Терминал > запустить server.js
Примечание: Если вы не назовете файл server.js, тогда ты исправляешь строку 70 как бы вы ни назвали файл, или функция ребай не будет работать.
Это все, чем мы делимся сегодня для этого. Битбернер гид. Это руководство было первоначально создано и написано Мэн. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.
Я просто потратил несколько минут, чтобы исправить синтаксические ошибки, прежде чем смог понять хотя бы часть текста.. Я не знаю, напортачил ли сайт или это ошибка пользователя, но в таком случае никто не сможет это выполнить.. почти все if закомментированы, например. переносы строк - это беспорядок, если есть какие-либо. Несколько ; отсутствуют. Сначала я подумал, что ты пытаешься писать, пока еще (оказался другой прокомментированный, если). Почему бы вам просто не использовать let scriptArray = [“скрипт1.js”, “скрипт2.js”,…,”скриптn.js”]; для использования в ns.scp(scriptArray, имя хоста);? Нужен ли один scp вместо 3 при одновременной загрузке любого количества скриптов. И какого черта ты пытаешься сделать в последнем цикле?? состояние (одно значение, умноженное на 13) всегда было бы правдой, если бы это не было закомментировано. Этот скрипт постоянно спамит “ты хочешь перекупить серверы?”, вероятно, мгновенно потратит все деньги игроков. Возможно, вам стоит придерживаться Reddit со своими сценариями., там вы получите мгновенную обратную связь и предложения по улучшению.…