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

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


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


*--control=папка
*--control=папка
Строка 41: Строка 41:
Кроме того есть аргументы для отдельных файлов:
Кроме того есть аргументы для отдельных файлов:
*--config=path\file
*--config=path\file
путь до файла config.txt, например D:\Kore\control\config_1.txt:
путь до файла [[: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
путь до файла mon_control.txt, например D:\Kore\control\mon_control_2.txt:
путь до файла [[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
путь до файла items_control.txt, например D:\Kore\control\items_control_0.txt:
путь до файла [[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
путь до файла pickupitems.txt, например D:\Kore\control\pickupitems_all.txt:
путь до файла [[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=path\file
*--chat-log=path\file
путь до файла chat.txt, например D:\Kore\control\chat_7_25.txt:
путь до файла [[chat-log.txt]], например D:\Kore\control\chat-log2023.txt:
  D:\Kore\start.exe --chat=control\chat_7_25.txt
  D:\Kore\start.exe --chat=control\chat-log2023.txt


*--shop=path\file
*--console-log=path\file
путь до файла shop.txt, например D:\Kore\control\shop_merch1.txt:
путь до файла [[console-log.txt]], например D:\Kore\control\console-log2023.txt:
  D:\Kore\start.exe --shop=control\shop_merch1.txt
  D:\Kore\start.exe --chat=control\console-log2023.txt


*--monsters=path\file
*--storage-log=path\file
путь до файла monsters.txt, например D:\Kore\control\monsters_iz_dun.txt:
путь до файла [[storage-log.txt]], например D:\Kore\control\storage-log2023.txt:
  D:\Kore\start.exe --monsters=control\monsters_iz_dun.txt
  D:\Kore\start.exe --chat=control\storage-log2023.txt


*--items=path\file
*--sys=path\file
путь до файла items.txt, например D:\Kore\control\items_in_sphinx.txt:
путь до файла [[sys.txt]], например D:\Kore\control\sys2023.txt:
  D:\Kore\start.exe --items=control\items_in_sphinx.txt
D:\Kore\start.exe --chat=control\sys2023.txt


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


This command line allows you to specify which interface to use at startup:
Следующий аргумент позволяет выбрать желаемый интерфейс, внешний вид:


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


*--interface=Console
Предположим, что вы запускаете бота при помощи файла [[Wx_интерфейс|wxstart.exe]], но вам бы хотелось увидеть [[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.
wxstart.exe --interface=Console


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


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.