Elite Dangerous

Elite Dangerous

Not enough ratings
ED AUTO | Автопилот для корабля-носителя
By PULSAR
Обновлено до версии V25.10.01 | В этом руководстве описана одна из функции EDAuto – FCA (Автопилот для корабля-носителя), а также инструкция по его настройке и запуску
   
Award
Favorite
Favorited
Unfavorite
Перед тем как начнем
АКТУАЛЬНАЯ ВЕРСИЯ: V25.10.01

EDAuto – Модуль автопилота для корабля-носителя, а также просто сборник моих скриптов для автоматизации некоторых игровых действий.

ВНИМАНИЕ (ДЛЯ ВЕРСИИ V25.10.01 И ВЫШЕ):

“Обнаружены угрозы” – так как скрипт теперь скомпилирован, то скорее всего, Вы получите это сообщение сразу после того, как скачаете архив. Это распространённая проблема скомпилированных AHK скриптов (особенно, если используется компилятор AHK_H), AHK имеет возможности потенциально нежелательных программ (таких как: полная блокировка управления, выключение системы и т.п. Эти команды могут использоваться как во благо, так и во вред), а сам AHK помещается во внутрь .exe файла при компиляции (т.е. .exe файл будет в любом случае содержать внутри себя этот "зловредный" код).

VirusTotal показал 9/72 срабатываний на скомпилированный скрипт и 2/72 на не скомпилированном (о чём я и говорил выше). Всеми хвалёные антивирусы Kaspersky и Malwarebytes (и большинство других хорошо знакомых) не показали наличие вируса. Вы также можете перепроверить это сами, загрузив .exe файл на проверку и нажать "Reanalyze" вверху.

Самое страшное, что может сделать EDAuto – заблокировать управление мышью (тем более, эта опция выключена по умолчанию), ну и клавиши нажимать.


Если боитесь качать скомпилированную версию – я оставил прошлую (не скомпилированную) версию, скачивать по этой ссылке[drive.google.com] (версия V25.03.15 Fix-4, будет исправление только критических ошибок). Инструкция внутри файла скрипта, открыть его можно через обычный блокнот.




ВСЯ ИНФОРМАЦИЯ НИЖЕ ПРЕДНАЗНАЧЕНА ДЛЯ ВЕРСИИ V25.10.01 И ВЫШЕ (которая "вирус")



Использование подобных скриптов запрещено правилами игры! Использовать на свой страх и риск!

“Не разрешается использовать читы, программы автоматизации, взломы, моды или любое другое несанкционированное программное обеспечение, предназначенное для изменения или нарушения цели или опыта игры*" - п. 3.C (ED EULA)

* Избавить себя от безумия (повторение одного и того же действия) – это “нарушение цели или опыта игры”. Так и запишем.



ВАЖНО:
  • На данный момент скрипт не умеет читать журналы полёта, поэтому некоторые действия будут фиксированы (например: время зарядки FSD – если время прыжка будет 45 мин, а в настройках указано 21, то скрипт через 21 мин. попытается сделать следующий запрос на прыжок)

  • Скрипт работает вслепую (это похоже на то, как если бы у Вас была клавиатура и инструкция, где указано, какие клавиши нажимать и с каким перерывом, но Вы не знаете, что происходит в это время на экране)

  • После нажатия горячей клавиши выключения, скрипт выключится только после завершения текущего действия (обычно это 1-3 сек. – скрипт работает в одном потоке, поэтому невозможно прервать выполнения другого потока т.к. это этот же поток).

  • Если скрипт не работает "из коробки" – используйте "Режим настройки", чтобы получить координаты пикселя для настройки распознавания (к каждой позиции есть описание, куда должен кликнуть курсор и/или что будет проверяться)
Установка и управление
Инструкция по установке:
  • Скачать архив[drive.google.com]
  • Распаковать в любом удобном месте
  • Установить AutoHotKey v2 (больше не требуется: скрипт теперь скомпилирован)
  • Запустить .exe файл

Управление (можно изменить в настройках):
  • [PAUSE] – Пауза
  • [NUMPAD 0] – Выключить работающий скрипт (выключается с задержкой в 1-3 сек)
  • [NUMPAD 1] – FC Автопилот
  • [NUMPAD 2] – Автофарм данных (мегашип)
  • [NUMPAD 3] – Автопродажа исследовательских данных.
Полная(?) инструкция по настройке и запуску FCA
Описание настроек



* Чёрные “квадратики” – это не ошибка, это база

1 — Указывает действие при невозможном (в этом случае, сперва идёт проверка) или неудачном запросе на прыжок (например: нет свободных ячеек).

2 — (Если разрешён повторный запрос) Устанавливает задержку перед повторным запросом (при желании, это можно превратить в спамер запросов =) ).

3 — (Если разрешён повторный запрос) Устанавливает максимальное количество попыток повторных запросов, после которых скрипт завершит работу (где 0 – нет ограничения).

4 — Устанавливает предполагаемое время зарядки и перезарядки FSD (по умолчанию 21 мин), в данный момент скрипт не умеет читать файлы журнала полётов, поэтому скрипт будет ориентироваться на это значение.

5 — Список загруженных маршрутов, выберите из списка нужный маршрут.

6 — Сохраняет пройденные системы, сохраняя её номер в файле маршрута (также можно отредактировать файл, поставив нужный номер, чтобы начать с системы под этим номером).

7 — Начинает маршрут с номера системы, записанного в файле маршрута.

8 — Подаст звуковой сигнал в случае неудачного/невозможного запроса на прыжок.

9 — Показывает в какую систему будет совершён следующий прыжок после включения автопилота (нажмите на название системы, чтобы скопировать её в буфер обмена).

10 — Включает/отключает скрипт автодозаправки.

11 — (Если автодозаправка включена) Устанавливает интервал автодозаправки (1 – каждый прыжок (включая “нулевой” прыжок), 2 – через один прыжок и т.д.).

12 — Устанавливает время удержания клавиши/кнопки мыши при нажатии на «+» во время покупки товара, значение подбирается индивидуально для каждого размера трюма (по умолчанию установлено для ≈790т).

13 — Указывает “позицию” товара в списке рынка, где число – сколько раз нужно нажать “Вверх” (<0) или ”Вниз” (>0) (ВАЖНО: эта настройка игнорируется, если способ взаимодействия с игрой установлен через мышь, в этом случае товар должен быть сразу виден в списке!).

14 — Принудительно запускает скрипт автодозаправки для проверки, в этом случае скрипт купит 1-5т трития и передаст её в хранилище трития (обратите внимание, что если бак уже полон, то проверка провалится); перед запуском, убедитесь, что кнопка «Universal Cartographics» выделена.


Дополнительно
  • Если способ взаимодействия с игрой установлен через клавиатуру, то рекомендуется включить блокировку мыши, чтобы избежать случайного вмешательства.

  • Рекомендуется включить проверку активного окна (активно ли окно игры?) – скрипт будет проверять фокус окна игры каждые 50 мс и поставит скрипт на паузу если фокус будет потерян, чтобы возобновить работу, сделайте окно игры снова активным, а затем используйте горячую клавишу паузы. Скрипт работает в одном потоке, он не сможет самовозобновить свою работу, ведь этот самый поток стоит на паузе.

  • Все нажимаемые клавиши и горячие клавиши можно изменить в настройках.

  • Перед запуском идёт ожидание (по умолчанию 1 сек., можно изменить в настройках).

  • Все нажатия клавиш проверены, если скрипт перескакивает (или наоборот), то уменьшайте/увеличивайте время удержания клавиши (это настройка относится и к кликам мыши).


Инструкция по запуску
  1. Пристыкуйтесь к кораблю-носителю и спуститесь в ангар.

  2. Убедитесь, что топливный бак корабля-носителя полностью заправлен.

  3. Запустите EDAuto, если тот ещё не запущен.

  4. Перейдите во вкладку “FC Автопилот”.

  5. (Если автодозаправка включена) Убедитесь, что тритий выставлен на продажу.

  6. Убедитесь, что следующая система в маршруте находиться в радиусе прыжка (Bubble = Jackson's Lighthouse – для предустановленных маршрутов).

  7. Убедитесь, что кнопка «Услуги корабля-носителя» выделена.

  8. Нажмите кнопку «Запуск» или [NUMPAD 1] для запуска скрипта и кнопку «Стоп» или [NUMPAD 0] для принудительного выключения.

ВАЖНО: Взаимодействие с картой галактики происходит только через мышь, вне зависимости от установленного способа взаимодействия с игрой (при нажатии клавиш начинает перемещаться камера).
Настройка распознавания цвета пикселя
ВНИМАНИЕ:
  • Координаты отсчитываются от левого верхнего угла активного окна, а не экрана.

  • Все значения для распознавания по умолчанию введены для разрешения экрана 2560x1440, значения для 1920x1080 находятся в файле “Значения для FHD.txt”, в ином случае используйте “Режим настройки”, чтобы получить координаты пикселя.

  • Чтобы повысить шансы распознавания, установите сглаживание на SMAA и множитель сглаживания минимум на x1.0 (Или FSR на качество).

Чтобы получить координаты пикселя и его цвет, перейдите во вкладку настройки и включите “Режим настройки” (перед включением этой настройки, выключите работающие скрипты, если таковые имеются). Далее, нажмите [F2], наведя курсор на нужную точку.

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

После получения координат, выберите нужную позицию из списка и впишите значения X1 и Y1, а также, при необходимости, значения X2 и Y2. Скрипт будет перемещать курсор мыши только по координатам X1 и Y1.

Если поле для ввода цвета активно, то впишите нужный цвет проверяемого элемента интерфейса (в формате RRGGBB, “0x” вписывать не нужно).

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

В случае возникновения ошибки распознавания, в статусе будет указана текущая позиция распознавания и текущее действие скрипта (список действий скрипта представлен ниже). При настройке распознавания, позиции, которые не отмечены [П], могут быть проигнорированы в случае, если способ взаимодействия с игрой установлен через клавиатуру. Все позиции идут в том порядке, в котором они расположены в списке (во вкладке «настройки»).

Список “действий” скрипта FCA (скрипт начинает с действия 1):

0 — ВЫКЛ (Маршрут завершён)

1 — Обновление информации о маршруте: текущая система последняя? Если истина: ВЫКЛ, иначе перейти к действию 2

2 — Нажать кнопку «Услуги корабля-носителя»

3 — Ожидание 4 сек, далее проверка открытия меню услуг FC каждую секунду (по умолчанию проверяется наличие иконки баланса ARX)

4 — Проверка необходимости автодозаправки (если она включена): количество прыжков с последней дозаправки ≥ интервал автодозаправки? Если истина, то перейти к действию 17, иначе – к действию 5

5 — Нажать кнопку «Управление кораблём-носителем» (вниз-вниз-вправо-вправо-пробел ИЛИ вправо-вправо-пробел, если автодозаправка была активна)

6 — Ожидание 3 сек., далее проверка открытия интерфейса управления кораблём-носителем каждую секунду (по умолчанию проверяется кнопка «Сводка»)

7 — Нажать кнопку «Навигация», затем кнопку «Открыть карту галактики» (вниз-пробел-пробел)

8 — Ожидание 3 сек., далее проверка открытия карты галактики каждую секунду (по умолчанию проверяется кнопка «Закладки»)

9 — Нажать на поле ввода и ввести название следующей системы

10 — Нажать кнопку «Перейти»

11 — Перемещение курсора на кнопку «Задать пункт назначения носителя», проверка: кнопка активна? Если истина, то нажать и перейти к действию 12, иначе: количество проверок > максимальное количество попыток распознавания? Если истина перейти к действию 13, иначе повторная проверка через 1 сек

12 — Проверка наличия уведомления после запроса на прыжок: если удачно, то перейти к действию 13, иначе – к действию 14

13 — Если запрос неудачный и разрешён повторный запрос, то следующий запрос произойдёт через X секунд (если был неудачный запрос, то переход к действию 7, иначе к действию 11)

14 — Начало отсчёта до прыжка, переход к действию 15

15 — Ожидание запуска FSD (если осталось <180 сек, то переход к действию 16)

16 — Ожидание перезарядки FSD (после завершения ожидания, переход к действию 1)

17 — Запуск скрипта автодозаправки

18 — Нажать кнопку «Потребительский рынок» (вправо-вправо-пробел)

19 — Проверка открытия интерфейса рынка (по умолчанию проверяется наличие иконки редкого товара

20 — Выбрать первый товар в списке (вправо), если установленная позиция товара на рынке равна 0, то переход к действию 21, иначе выбор нужной позиции товара (вверх/вниз)

21 — Нажать на нужный товар, выбрать необходимое количество, купить товар, выйти из интерфейса рынка (вправо-пробел-вправо(удержание)-вниз-пробел-назад)

22 — Нажать кнопку «Хранилище трития» (вниз-вниз-пробел)

23 — Проверка открытия интерфейса хранилища трития (проверяется, активна ли кнопка «Пожертвовать тритий», если нет, то переход к действию 25)

24 — Передать тритий в бак, выйти обратно (пробел-вверх-пробел-назад-назад)

25 — Выключение скрипта автодозаправки и переход к действию 5
Создание своего маршрута
Маршруты должны находиться в папке “Routes”, а файл маршрута должен быть в формате .ini. Пример структуры файла маршрута находится в файле example.txt.

Самый простой способ создать свой маршрут – скопировать уже существующий и заменить системы и название на свои. Для того, чтобы MAXсимально эффективно проложить маршрут, используйте сайт spansh[www.spansh.co.uk] (вверху выберите: “Планировщик маршрута корабля-носителя”).

Стартовая система не должна указываться, иначе первый прыжок будет в эту же систему. Нумерация систем в файле должна начинаться с 1 (т.к. 0 – это, можно сказать, и есть стартовая).

Количество маршрутов не ограничено(?)
Заключение
Под конец хочу отметить, что Windows 11 может блокировать нажатия клавиш скриптом. Если запуск от имени администратора не помогает, то тут мои полномочия всё.

В будущем также попробую научить скрипт читать файлы журнала полётов (но это не точно), что позволит избавиться от лишних настроек.

У меня еще мало опыта в таких вещах, поэтому прошу не бить тапками, возможно есть аналоги лучше.

Буду рад, если кому-то упростил жизнь =)




Всё. Конечная.
5 Comments
Весна 21 Sep @ 12:23am 
Круто, ждем всей галактикой :steamthumbsup:
PULSAR  [author] 19 Sep @ 10:48pm 
Весна, я к концу (или в начале следующего) месяца выпущу новую версию: сделал более менее нормальный графический интерфейс, должно стать проще настраивать (я надеюсь)
Весна 18 Sep @ 6:51am 
Программа рабочая, но долго мучался с настройками .Гайд по установке не полный
Весна 17 Sep @ 2:32pm 
Спасибо:steamthumbsup:
Ice9 2 Sep @ 1:33am 
Интересно, интересно