Run multiple bots from the same .exe: различия между версиями
Manticora (обсуждение | вклад) мНет описания правки |
Manticora (обсуждение | вклад) м Проставил ссылки на файлы с настройками. Выяснилось, что некоторых аргументов уже нет в текущем exe-файле. С другой стороны добавились новые. |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 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 | ||
*-- | *--shop=path\file | ||
путь до файла | путь до файла [[shop.txt]], например D:\Kore\control\shop_merch1.txt: | ||
D:\Kore\start.exe -- | D:\Kore\start.exe --shop=control\shop_merch1.txt | ||
*--chat=path\file | *--chat-log=path\file | ||
путь до файла chat.txt, например D:\Kore\control\ | путь до файла [[chat-log.txt]], например D:\Kore\control\chat-log2023.txt: | ||
D:\Kore\start.exe --chat=control\ | 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 -- | 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 -- | 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 | |||
==Выбор интерфейса== | ==Выбор интерфейса== | ||
Строка 79: | Строка 79: | ||
где модуль - это название модуля на языке Perl, который отвечает за интерфейс пользователя. Загляните в папку src\Interface, лежащие там подпапки - это и есть модули, название которых нужно указывать в данном аргументе. | где модуль - это название модуля на языке Perl, который отвечает за интерфейс пользователя. Загляните в папку src\Interface, лежащие там подпапки - это и есть модули, название которых нужно указывать в данном аргументе. | ||
Предположим, что вы запускаете бота при помощи файла wxstart.exe, но вам бы хотелось увидеть обычную текстовую консоль. Тогда надо отдать следующую команду: | Предположим, что вы запускаете бота при помощи файла [[Wx_интерфейс|wxstart.exe]], но вам бы хотелось увидеть [[Console_интерфейс|обычную текстовую консоль]]. Тогда надо отдать следующую команду: | ||
wxstart.exe --interface=Console | wxstart.exe --interface=Console | ||
Обратите внимание, что если вы используете интерпретатор языка Perl как скомпилированный exe-файл (например start.exe, wxstart.exe vxstart.exe и т.п.), то надо сначала убедиться, что данное приложение может отображать выбранный интерфейс. Например wxstart.exe - для Wx, vxstart.exe - для Vx и так далее. Консольный интерфейс "Console" можно вызвать из любого интерпретатора. | Обратите внимание, что если вы используете интерпретатор языка Perl как скомпилированный exe-файл (например [[Console_интерфейс|start.exe]], [[Wx_интерфейс|wxstart.exe]], [[Vx_интерфейс|vxstart.exe]] и т.п.), то надо сначала убедиться, что данное приложение может отображать выбранный интерфейс. Например [[Wx_интерфейс|wxstart.exe]] - для [[Wx_интерфейс|Wx]], [[Vx_интерфейс|vxstart.exe]] - для [[Vx_интерфейс|Vx]] и так далее. [[Console_интерфейс|Консольный интерфейс "Console"]] можно вызвать из любого интерпретатора. | ||
== Пример == | |||
Итак, предположим, что у вас есть три персонажа, которые должны работать из одной единственной копии OpenKore. Путь это будут мечник, лучник и ако. Тогда вам потребуется три ярлыка или cmd-файла со следующими командами: | Итак, предположим, что у вас есть три персонажа, которые должны работать из одной единственной копии OpenKore. Путь это будут мечник, лучник и ако. Тогда вам потребуется три ярлыка или cmd-файла со следующими командами: | ||
Строка 94: | Строка 94: | ||
Таким образом у вас одна папка с OpenKore и три папки с конфигами под трёх персонажей. Не смотря на то, что мы выше разобрали множество аргументов командной строки, в реальности достаточно лишь двух: <code>--control</code> и <code>--logs</code>. | Таким образом у вас одна папка с OpenKore и три папки с конфигами под трёх персонажей. Не смотря на то, что мы выше разобрали множество аргументов командной строки, в реальности достаточно лишь двух: <code>--control</code> и <code>--logs</code>. | ||
Данная статья восходит к посту от hakore | Данная статья восходит к посту от hakore (нерабочая ссылка на пост: http://bibian.ath.cx/openkore/viewtopic.php?t=10329), который сам основан на посте Joseph. |
Текущая версия от 22:39, 16 августа 2023
Информация на этой странице относится только к MSWin32 платформам.
Введение
Если вы запускаете несколько ботов, то было бы неплохо иметь всего одну папку с OpenKore, а не отдельную копию программы для каждого персонажа. Таким образом можно будет уделить больше времени ботоводству, а не заниматься обновлениями и настройкой каждого экземпляра OpenKore.
Для этого придётся запускать OpenKore с аргументами командной строки. Как один из вариантов - можно насоздавать ярлыков на OpenKore, а потом зайти в их свойства и прописать там нужные аргументы, о которых мы поговорим ниже.
Командная строка
Командная строка - это текстовое поле в приведённом ниже снимке. В нём записан путь к исполняемому файлу, после которого можно написать несколько аргументов. Таким образом можно на старте программы передать ей некие данные.
В данном случае 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.