Run multiple bots from the same .exe: различия между версиями

Материал из Руководство по OpenKore
Перейти к навигации Перейти к поиску
Попытка номер раз
 
м Проставил ссылки на файлы с настройками. Выяснилось, что некоторых аргументов уже нет в текущем exe-файле. С другой стороны добавились новые.
 
(не показаны 3 промежуточные версии этого же участника)
Строка 4: Строка 4:
Если вы запускаете несколько ботов, то было бы неплохо иметь всего одну папку с OpenKore, а не отдельную копию программы для каждого персонажа. Таким образом можно будет уделить больше времени ботоводству, а не заниматься обновлениями и настройкой каждого экземпляра OpenKore.
Если вы запускаете несколько ботов, то было бы неплохо иметь всего одну папку с OpenKore, а не отдельную копию программы для каждого персонажа. Таким образом можно будет уделить больше времени ботоводству, а не заниматься обновлениями и настройкой каждого экземпляра OpenKore.


Для этого придётся запускать OpenKore с [[https://ro-fan.ru/wiki/Аргументы_командной_строки|аргументами командной строки]]. Как один из вариантов - можно насоздавать ярлыков на OpenKore, а потом зайти в их свойства и прописать там нужные аргументы, о которых мы поговорим ниже.
Для этого придётся запускать OpenKore с [[Аргументы_командной_строки|аргументами командной строки]]. Как один из вариантов - можно насоздавать ярлыков на OpenKore, а потом зайти в их свойства и прописать там нужные аргументы, о которых мы поговорим ниже.


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


==Папки==
==Папки целиком==
These are the available options which are listed when you run the bot with the --help parameter:
Давайте рассмотрим аргументы, которые занимаются перенаправлением папок. Все аргументы можно посмотреть запустив OpenKore с параметром <code>--help</code>.


*--control=path <br \>
*--control=папка
path is the path for the control folder. Example for the location of control folder D:\Kore\swordsman\control below:
путь до новой папки control. Допустим, что настройки лежат в папке D:\Kore\swordsman\control, тогда:
  D:\Kore\start.exe --control=Kore\swordsman\control
  D:\Kore\start.exe --control=swordsman\control


*--tables=path <br \>
*--tables=папка
path is the path for the tables folder. Example for folder D:\Kore\swordsman\control below:
путь до новой папки с таблицами. Допустим, что они лежат в папке D:\Kore\swordsman\tables, тогда:
  D:\Kore\start.exe --control=Kore\swordsman\tables
  D:\Kore\start.exe --control=swordsman\tables


*--logs=path
*--logs=папка
path is the path for the logs folder. Example for bot folder D:\Kore\swordsman\logs below:
путь до папки с логами. Допустим, что они лежат в папке D:\Kore\swordsman\logs, тогда:
  D:\Kore\start.exe --control=Kore\swordsman\logs
  D:\Kore\start.exe --control=swordsman\logs


*--plugins=path
*--plugins=папка
path is the path for the plugins folder. Example for bot folder D:\Kore\swordsman\plugins below:
путь до папки с плагинами. Допустим, что они лежат D:\Kore\swordsman\plugins, тогда:
  D:\Kore\start.exe --control=Kore\swordsman\plugins
  D:\Kore\start.exe --control=swordsman\plugins


*--fields=path
*--fields=папка
path is the path for the fields folder. Example for bot folder D:\Kore\swordsman\fields below:
путь до папки с локациями. Допустим, что они лежат в папке D:\Kore\swordsman\fields, тогда:
  D:\Kore\start.exe --control=Kore\swordsman\fields
  D:\Kore\start.exe --control=swordsman\fields


==Specific file options:==
==Отдельные файлы==


There are also some specific files which you can specify using the command line:
Кроме того есть аргументы для отдельных файлов:
*--config=path\file
*--config=path\file
path\file specifies which config.txt to use. Example for bot file D:\Kore\control\config_1.txt below:
путь до файла [[:Category:config.txt|config.txt]], например D:\Kore\control\config_1.txt:
  D:\Kore\start.exe --config=control\config_1.txt
  D:\Kore\start.exe --config=control\config_1.txt


*--mon_control=path\file
*--mon_control=path\file
path\file specifies which mon_control.txt to use. Example for bot folder D:\Kore\control\mon_control_2.txt below:
путь до файла [[mon_control.txt]], например D:\Kore\control\mon_control_2.txt:
  D:\Kore\start.exe --mon_control=control\mon_control_2.txt
  D:\Kore\start.exe --mon_control=control\mon_control_2.txt


*--items_control=path\file
*--items_control=path\file
path\file specifies which items_control.txt to use. Example for bot folder D:\Kore\control\items_control_0.txt below:
путь до файла [[items_control.txt]], например D:\Kore\control\items_control_0.txt:
  D:\Kore\start.exe --items_control=control\items_control_0.txt
  D:\Kore\start.exe --items_control=control\items_control_0.txt


*--pickupitems=path\file
*--shop=path\file
path\file specifies which pickupitems.txt to use. Example for bot folder D:\Kore\control\pickupitems_all.txt below:
путь до файла [[shop.txt]], например D:\Kore\control\shop_merch1.txt:
  D:\Kore\start.exe --pickupitems=control\pickupitems_all.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


*--chat=path\file
*--console-log=path\file
path\file specifies which chat.txt to use. Example for bot folder D:\Kore\control\chat_7_25.txt below:
путь до файла [[console-log.txt]], например D:\Kore\control\console-log2023.txt:
  D:\Kore\start.exe --chat=control\chat_7_25.txt
  D:\Kore\start.exe --chat=control\console-log2023.txt


*--shop=path\file
*--storage-log=path\file
path\file specifies which shop.txt to use. Example for bot folder D:\Kore\control\shop_merch1.txt below:
путь до файла [[storage-log.txt]], например D:\Kore\control\storage-log2023.txt:
  D:\Kore\start.exe --shop=control\shop_merch1.txt
  D:\Kore\start.exe --chat=control\storage-log2023.txt


*--monsters=path\file
*--sys=path\file
path\file specifies which monsters.txt to use. Example for bot folder D:\Kore\control\monsters_iz_dun.txt below:
путь до файла [[sys.txt]], например D:\Kore\control\sys2023.txt:
  D:\Kore\start.exe --monsters=control\monsters_iz_dun.txt
  D:\Kore\start.exe --chat=control\sys2023.txt


*--items=path\file
==Выбор интерфейса==
path\file specifies which items.txt to use. Example for bot folder D:\Kore\control\items_in_sphinx below:
  D:\Kore\start.exe --items=control\items_in_sphinx.txt


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


This command line allows you to specify which interface to use at startup:
*--interface=модуль
где модуль - это название модуля на языке Perl, который отвечает за интерфейс пользователя. Загляните в папку src\Interface, лежащие там подпапки - это и есть модули, название которых нужно указывать в данном аргументе.


*--interface=module
Предположим, что вы запускаете бота при помощи файла [[Wx_интерфейс|wxstart.exe]], но вам бы хотелось увидеть [[Console_интерфейс|обычную текстовую консоль]]. Тогда надо отдать следующую команду:
module is the name of the Perl module for the interface. Check your src\Interface folder for available interface modules.
wxstart.exe --interface=Console
Example: if you want to use the console interface when you run wxstart.exe, put


*--interface=Console
Обратите внимание, что если вы используете интерпретатор языка Perl как скомпилированный exe-файл (например [[Console_интерфейс|start.exe]], [[Wx_интерфейс|wxstart.exe]], [[Vx_интерфейс|vxstart.exe]] и т.п.), то надо сначала убедиться, что данное приложение может отображать выбранный интерфейс. Например [[Wx_интерфейс|wxstart.exe]] - для [[Wx_интерфейс|Wx]], [[Vx_интерфейс|vxstart.exe]] - для [[Vx_интерфейс|Vx]] и так далее. [[Console_интерфейс|Консольный интерфейс "Console"]] можно вызвать из любого интерпретатора.
Note: If you are using the compiled Perl interpreter (e.g. start.exe) you must ensure that the application supports the interface you want to use. For example, wxstart.exe is for Wx, vxstart.exe for Vx, and so on. You can use the "Console" interface using any interpreter.


Usage:
== Пример ==


So to use the options just put them into your shortcut. Example:
Итак, предположим, что у вас есть три персонажа, которые должны работать из одной единственной копии OpenKore. Путь это будут мечник, лучник и ако. Тогда вам потребуется три ярлыка или cmd-файла со следующими командами:


  D:\Kore\start.exe --control=swordsman\control --logs=swordsman\logs
  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


Just make shortcuts like these, each for a different bot settings folder, and you're done. All you really need is control and logs, so I use this with my own bots.
Таким образом у вас одна папка с OpenKore и три папки с конфигами под трёх персонажей. Не смотря на то, что мы выше разобрали множество аргументов командной строки, в реальности достаточно лишь двух: <code>--control</code> и <code>--logs</code>.
 
Original Post by hakore [http://bibian.ath.cx/openkore/viewtopic.php?t=10329]. which is based on a post by Joseph


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

Текущая версия от 22:39, 16 августа 2023

Информация на этой странице относится только к 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.