mon control.txt
В файле mon_control.txt прописывается поведение OpenKore при встрече с определёнными монстрами. В случае пустого файла mon_control.txt атака на монстров определяется параметром конфига attackAuto.
С помощью файла mon_control.txt можно настроить следующее поведение:
- винг \ телепорт от указанного моба;
- поиск указанного моба телепортом (винг - поиск моба, винг - поиск моба и т.д.);
- атаковать моба, который кастует скилл;
- при каком минимально уровне, джобе и количестве хп \ сп можно атаковать указанного моба;
- опасность моба, его вес - это нужно чтобы отделить слабых мобов от сильных.
Синтаксис
Каждая строка файла mon_control.txt - это комбинация имени моба и чисел, разделённых между собой пробелами:
<monster_name> <attack> <teleport> <search> <skillcancel> <lv> <joblv> <hp> <sp> <weight>
Примечания:
- вместо пробелов значения можно разделять табуляцией. Это полезно в случае, если имя моба содержит цифры;
- не обязательно указывать для моба значения всех параметров;
- строки, начинающиеся со знака решётки (#) являются комментарием и игнорируются OpenKore.
Подробности
- <monster_name>
- В первом поле прописывается имя моба или его ИД. Вместо имени можно написать all, тогда в данной строчке будет описано поведения OpenKore для всех остальных мобов, не упомянутых в данном файле.
- <attack>
- Если автоатака включена (в параметре конфига attackAuto), то данное поле определяет, что делать OpenKore при встрече с указанным мобом - атаковать его или нет.
Значение Действие -1 игнорировать моба, даже если он атакует вас 0 не нападать на моба первым, но защищаться, если он начал атаковать первый 1 автоматически атаковать моба (значение по умолчанию) 2 всегда нападать на моба, даже если сидим и регеним хп/сп. 3 моб-трейн.
- <teleport>
- В этом поле прописывается, следует ли OpenKore избегать встречи с указанным мобом.
Значение Действие < 0 (-1, -2, и т.д.) винг, если моб подошёл к персонажу ближе, чем на указанное количество блоков 0 не винговаться 1 винговаться, если на экране замечен указанный моб 2 винговаться, если атака моба нанесёт боту урон 3 дисконнект, если на экране замечен указанный моб
Примечания:
- у персонажа должен быть скилл "Teleport" или винги "Fly Wings" в инвентаре, иначе OpenKore не сможет вингануться. Использование винга или скилла для телепорта - прописывается в параметре конфига teleportAuto_useSkill.
- если вовремя вингануться от моба, когда он вас атакует, то персонаж не получит урона, даже если цифры дамага были написаны в консоли.
- <search>
- Искать ли указанного моба телепортом? Если в данном поле стоит 0, то OpenKore не будет винговаться в поисках этого моба. Если же прописано 1, то OpenKore будет искать указанного моба телепортом, вингуясь по всей локации. Чтобы это работало, следует прописать в параметре конфига teleportAuto_search количество мобов на экране для включения автоатаки.
- <skillcancel>
- Пробовать остановить каст моба? Если в данном поле стоит 1, то OpenKore будет стараться сбить каст скиллов указанного моба. OpenKore будет переключаться и нападать на моба, который кастует на бота скилл, чтобы прервать каст. Если же скилл кастуется на площадь, то OpenKore зайдёт мобу за спину, выходя из зоны поражения.
- <lv>
- Бот должен быть не меньше указанного уровня, чтобы он смог атаковать моба.
- <joblv>
- Бот должен быть не меньше указанного джоб-уровня, чтобы он смог атаковать моба.
- <hp>
- У бота должно быть не меньше указанного количества единиц жизни, чтобы он смог атаковать моба.
- Примечание: Количество хп выражается абсолютным значением, а не процентом.
- <sp>
- У бота должно быть не меньше указанного количества единиц маны, чтобы он смог атаковать моба.
- Примечание: Количество сп выражается абсолютным значением, а не процентом.
- <weight>
- В этом поле прописывается опасность моба, его "вес". Это значение используется при подсчёте количества агрессивных мобов, смотри параметры конфига teleportAuto_minAggressives и teleportAuto_minAggressivesInLock. Значение этого поля может быть дробным числом больше нуля (например 1.8237402, 0.25, 2 и т.д.). Если в этом поле установлено нулевое значение, то весом моба считается 1. Если не нужно считать моба агрессивным, чтобы он не участвовал в подсчёте, то следует прописать -1.
Примеры
В следующем примере OpenKore будет искать телепортом и атаковать мобов "Elder Willow" и "Eggyra". На мобов "Bigfoot", "Willow" и "Poporing" OpenKore не будет обращать никакого внимания. Кроме того, OpenKore будет пытаться прерывать касты моба "Elder Willow", когда он будет кастовать "Fire Bolt".
Elder Willow 1 0 1 1 Eggyra 1 0 1 Bigfoot 0 0 0 Willow 0 0 0 Poporing 0 0 0
В следующем примере демонстрируется использование поля "вес".
# в файле config.txt: teleportAuto_minAggressives 6 teleportAuto_minAggressivesInLock 6 # в файле mon_control.txt: Hydra 1 0 0 0 0 0 0 0 0.2 Merman 1 0 0 0 0 0 0 0 2
В данном случае, если OpenKore атакуют пять "Hydra" и два "Sword Fish", то OpenKore не будет винговаться от них и будет драться, потому что количество агрессивных мобов будет равно (5 * 0.2) + (2 * 1) = 3. А в конфиге указано винговаться от шести агрессивных мобов. Если же на OpenKore нападут два "Marc" и два "Merman", то OpenKore винганётся, потому что количество агрессивных мобов будет равно шести: (2 * 1) + (2 * 2) = 6.