mon control.txt

Материал из RO-fan
(перенаправлено с «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.