Run multiple bots from the same .exe: различия между версиями
Manticora (обсуждение | вклад) м промежуточный результат |
Manticora (обсуждение | вклад) мНет описания правки |
||
Строка 74: | Строка 74: | ||
==Выбор интерфейса== | ==Выбор интерфейса== | ||
Следующий аргумент позволяет выбрать желаемый интерфейс, внешний вид: | |||
*--interface= | *--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=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 и три папки с конфигами под трёх персонажей. Не смотря на то, что мы выше разобрали множество аргументов командной строки, в реальности достаточно лишь двух: <code>--control</code> и <code>--logs</code>. | |||
Данная статья восходит к посту от hakore, см. [http://bibian.ath.cx/openkore/viewtopic.php?t=10329 ссылку], который сам основан на посте Joseph. |
Версия от 16:23, 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
- --pickupitems=path\file
путь до файла pickupitems.txt, например D:\Kore\control\pickupitems_all.txt:
D:\Kore\start.exe --pickupitems=control\pickupitems_all.txt
- --chat=path\file
путь до файла chat.txt, например D:\Kore\control\chat_7_25.txt:
D:\Kore\start.exe --chat=control\chat_7_25.txt
- --shop=path\file
путь до файла shop.txt, например D:\Kore\control\shop_merch1.txt:
D:\Kore\start.exe --shop=control\shop_merch1.txt
- --monsters=path\file
путь до файла monsters.txt, например D:\Kore\control\monsters_iz_dun.txt:
D:\Kore\start.exe --monsters=control\monsters_iz_dun.txt
- --items=path\file
путь до файла items.txt, например D:\Kore\control\items_in_sphinx.txt:
D:\Kore\start.exe --items=control\items_in_sphinx.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, см. ссылку, который сам основан на посте Joseph.