Run multiple bots from the same .exe

Материал из Руководство по OpenKore
Перейти к: навигация, поиск

Информация на этой странице относится только к MSWin32 платформам.

Введение

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

Для этого придётся запускать OpenKore с аргументами командной строки. Как один из вариантов - можно насоздавать ярлыков на OpenKore, а потом зайти в их свойства и прописать там нужные аргументы, о которых мы поговорим ниже.

Командная строка

Командная строка - это текстовое поле в приведённом ниже снимке. В нём записан путь к исполняемому файлу, после которого можно написать несколько аргументов. Таким образом можно на старте программы передать ей некие данные.

Command Line

В данном случае OpenKore будет загружать настроечные файлы из указанной папки или файла.

Папки целиком

Давайте рассмотрим аргументы, которые занимаются перенаправлением папок. Все аргументы можно посмотреть запустив OpenKore с параметром --help.

  • --control=папка

путь до новой папки control. Допустим, что настройки лежат в папке D:\Kore\swordsman\control, тогда:

D:\Kore\start.exe --control=swordsman\control
  • --tables=папка

путь до новой папки с таблицами. Допустим, что они лежат в папке D:\Kore\swordsman\tables, тогда:

D:\Kore\start.exe --control=swordsman\tables
  • --logs=папка

путь до папки с логами. Допустим, что они лежат в папке D:\Kore\swordsman\logs, тогда:

D:\Kore\start.exe --control=swordsman\logs
  • --plugins=папка

путь до папки с плагинами. Допустим, что они лежат D:\Kore\swordsman\plugins, тогда:

D:\Kore\start.exe --control=swordsman\plugins
  • --fields=папка

путь до папки с локациями. Допустим, что они лежат в папке D:\Kore\swordsman\fields, тогда:

D:\Kore\start.exe --control=swordsman\fields

Отдельные файлы

Кроме того есть аргументы для отдельных файлов:

  • --config=path\file

путь до файла config.txt, например D:\Kore\control\config_1.txt:

D:\Kore\start.exe --config=control\config_1.txt
  • --mon_control=path\file

путь до файла mon_control.txt, например D:\Kore\control\mon_control_2.txt:

D:\Kore\start.exe --mon_control=control\mon_control_2.txt
  • --items_control=path\file

путь до файла items_control.txt, например D:\Kore\control\items_control_0.txt:

D:\Kore\start.exe --items_control=control\items_control_0.txt
  • --shop=path\file

путь до файла shop.txt, например D:\Kore\control\shop_merch1.txt:

D:\Kore\start.exe --shop=control\shop_merch1.txt
  • --chat-log=path\file

путь до файла chat-log.txt, например D:\Kore\control\chat-log2023.txt:

D:\Kore\start.exe --chat=control\chat-log2023.txt
  • --console-log=path\file

путь до файла console-log.txt, например D:\Kore\control\console-log2023.txt:

D:\Kore\start.exe --chat=control\console-log2023.txt
  • --storage-log=path\file

путь до файла storage-log.txt, например D:\Kore\control\storage-log2023.txt:

D:\Kore\start.exe --chat=control\storage-log2023.txt
  • --sys=path\file

путь до файла sys.txt, например D:\Kore\control\sys2023.txt:

D:\Kore\start.exe --chat=control\sys2023.txt

Выбор интерфейса

Следующий аргумент позволяет выбрать желаемый интерфейс, внешний вид:

  • --interface=модуль

где модуль - это название модуля на языке Perl, который отвечает за интерфейс пользователя. Загляните в папку src\Interface, лежащие там подпапки - это и есть модули, название которых нужно указывать в данном аргументе.

Предположим, что вы запускаете бота при помощи файла wxstart.exe, но вам бы хотелось увидеть обычную текстовую консоль. Тогда надо отдать следующую команду:

wxstart.exe --interface=Console

Обратите внимание, что если вы используете интерпретатор языка Perl как скомпилированный exe-файл (например start.exe, wxstart.exe, vxstart.exe и т.п.), то надо сначала убедиться, что данное приложение может отображать выбранный интерфейс. Например wxstart.exe - для Wx, vxstart.exe - для Vx и так далее. Консольный интерфейс "Console" можно вызвать из любого интерпретатора.

Пример

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

D:\Kore\start.exe --control=swordsman\control --logs=swordsman\logs
D:\Kore\start.exe --control=archer\control --logs=archer\logs
D:\Kore\start.exe --control=aco\control --logs=aco\logs

Таким образом у вас одна папка с OpenKore и три папки с конфигами под трёх персонажей. Не смотря на то, что мы выше разобрали множество аргументов командной строки, в реальности достаточно лишь двух: --control и --logs.

Данная статья восходит к посту от hakore (нерабочая ссылка на пост: http://bibian.ath.cx/openkore/viewtopic.php?t=10329), который сам основан на посте Joseph.