mon control.txt — различия между версиями

Материал из Руководство по OpenKore
Перейти к: навигация, поиск
м (переименовал «Mon control.txt» в «mon control.txt»)
 
Строка 1: Строка 1:
В файле '''mon_control.txt''' прописывается, каких мобов бить, а каких не надо. Если же не пользоваться этим файлом и настроить в конфиге [[:Category:config.txt|config.txt]] параметр [[attackAuto]] '''2''', то OpenKore будет атаковать всех мобов напропалую, не обращая внимания ни на что.
+
В файле '''mon_control.txt''' прописывается поведение OpenKore при встрече с определёнными монстрами. В случае пустого файла mon_control.txt атака на монстров определяется параметром [[:Category:config.txt|конфига]] [[attackAuto]].
  
С помощью файла '''mon_control.txt''' можно прописать следующее:
+
С помощью файла '''mon_control.txt''' можно настроить следующее поведение:
* винг, телепорт от указанного моба.
+
* винг \ телепорт от указанного моба;
* поиск указанного моба телепортом.
+
* поиск указанного моба телепортом (винг - поиск моба, винг - поиск моба и т.д.);
* противодействие скиллам мобов.
+
* атаковать моба, который кастует скилл;
* при каком минимально левеле, джобе, количестве хп и сп можно атаковать указанного моба.
+
* при каком минимально уровне, джобе и количестве хп \ сп можно атаковать указанного моба;
* опасность моба, его вес, это нужно чтобы отделить слабых мобов от сильных.
+
* опасность моба, его вес - это нужно чтобы отделить слабых мобов от сильных.
  
  
== Правописание ==
+
== Синтаксис ==
Формат файла '''mon_control.txt''' достаточно сложен, каждая строка - комбинация имени моба и чисел, разделённых между собой пробелами:
+
Каждая строка файла '''mon_control.txt''' - это комбинация имени моба и чисел, разделённых между собой пробелами:
  <monster name> <attack> <teleport> <search> <skillcancel> <lv> <joblv> <hp> <sp> <weight>  
+
  <monster_name> <attack> <teleport> <search> <skillcancel> <lv> <joblv> <hp> <sp> <weight>  
  
'''Примечание:''' Взамен пробела можно пользоваться кнопкой табуляции - TAB, для разделения полей между собой. Этот приём используется в случае, если имя моба содержит цифры.
+
'''Примечания:'''  
 +
* вместо пробелов значения можно разделять табуляцией. Это полезно в случае, если имя моба содержит цифры;
 +
* не обязательно указывать для моба значения всех параметров;
 +
* строки, начинающиеся со знака решётки ('''#''') являются комментарием и игнорируются OpenKore.
  
 
=== Подробности ===
 
=== Подробности ===
 
----
 
----
; <[[References#Monster Names|monster name]]>
+
; <[[References#Мобы|monster_name]]>
: В первом поле прописывается имя моба. Ключевое слово '''all''' используется для настройки поведения OpenKore для всех остальных мобов, не упомянутых в данном файле.
+
: В первом поле прописывается имя моба или его ИД. Вместо имени можно написать '''all''', тогда в данной строчке будет описано поведения OpenKore для всех остальных мобов, не упомянутых в данном файле.
  
  
 
; <attack>
 
; <attack>
: Если автоатака включена в параметре конфига [[attackAuto]], то данное поле определяет, что делать OpenKore при встрече с указанным мобом - атаковать его или нет.
+
: Если автоатака включена (в параметре конфига [[attackAuto]]), то данное поле определяет, что делать OpenKore при встрече с указанным мобом - атаковать его или нет.
  
{|class="TablePager"
+
:{|border="1" cellpadding="2" cellspacing="1"  
|-
+
|- style=background-color:#F9F9F9;
 
!Значение
 
!Значение
 
!Действие
 
!Действие
 
|-
 
|-
 
!-1
 
!-1
|Не обращать на моба вообще никакого внимания.
+
|игнорировать моба, даже если он атакует вас
 
|-
 
|-
 
!0
 
!0
|Не нападать на моба, но защищаться, если тот начал первый.
+
|не нападать на моба первым, но защищаться, если он начал атаковать первый
 
|-
 
|-
 
!1
 
!1
|Автоматически атаковать моба (значение по умолчанию).
+
|автоматически атаковать моба (значение по умолчанию)
 
|-
 
|-
 
!2
 
!2
|Всегда нападать на моба, даже если сидим и регеним хп/сп.
+
|всегда нападать на моба, даже если сидим и регеним хп/сп.
 
|-
 
|-
 
!3
 
!3
|Моб-трейн.
+
|моб-трейн.
 
|}
 
|}
  
  
 
; <teleport>
 
; <teleport>
: В этом поле прописывается, следует ли OpenKore избегать встречи с указаным мобом.
+
: В этом поле прописывается, следует ли OpenKore избегать встречи с указанным мобом.
  
{|class="TablePager"
+
:{|border="1" cellpadding="2" cellspacing="1"
 +
|- style=background-color:#F9F9F9;
 
!Значение
 
!Значение
 
!Действие
 
!Действие
 
|-
 
|-
 
!< 0 (-1, -2, и т.д.)
 
!< 0 (-1, -2, и т.д.)
|Винг, если моб подошел к персонажу ближе, чем на указанное количество блоков.
+
|винг, если моб подошёл к персонажу ближе, чем на указанное количество блоков
 
|-
 
|-
 
!0
 
!0
|Не винговаться.
+
|не винговаться
 
|-
 
|-
 
!1
 
!1
|Винговаться, если на экране замечен указанный моб.
+
|винговаться, если на экране замечен указанный моб
 
|-
 
|-
 
!2
 
!2
|Винговаться, если атака моба нанесёт персонажу урон.
+
|винговаться, если атака моба нанесёт боту урон
 
|-
 
|-
 
!3
 
!3
|Дисконнект, если на экране замечен указанный моб.
+
|дисконнект, если на экране замечен указанный моб
 
|}
 
|}
  
 
'''Примечания:'''
 
'''Примечания:'''
* У персонажа должен быть скилл "Teleport" или винги "Fly Wings" в инвентаре, иначе OpenKore не сможет вингануться, что, кстати говоря, естественно. Использовать ли винги или скилл для телепорта - прописывается в параметре конфига [[teleportAuto_useSkill]].
+
* у персонажа должен быть скилл "Teleport" или винги "Fly Wings" в инвентаре, иначе OpenKore не сможет вингануться. Использование винга или скилла для телепорта - прописывается в параметре конфига [[teleportAuto_useSkill]].
* Если вовремя вингануться от моба, когда он вас атакует, то персонаж не получин урона вообще, даже если цифры дамага были написаны на консоли.
+
* если вовремя вингануться от моба, когда он вас атакует, то персонаж не получит урона, даже если цифры дамага были написаны в консоли.
  
  
 
; <search>
 
; <search>
: Искать ли указанного моба телепортом? Если в данном поле стоит '''0''', то OpenKore не будет винговаться в поисках моба. Если же прописано '''1''', то OpenKore будет искать указанного моба телепортом, вингуясь по всей локации. Чтобы это работало, следует прописать в параметре конфига [[teleportAuto_search]] количество мобов на экране, при встрече с указанным количеством мобов OpenKore не будет винговаться дальше и атакует их.
+
: Искать ли указанного моба телепортом? Если в данном поле стоит '''0''', то OpenKore не будет винговаться в поисках этого моба. Если же прописано '''1''', то OpenKore будет искать указанного моба телепортом, вингуясь по всей локации. Чтобы это работало, следует прописать в параметре конфига [[teleportAuto_search]] количество мобов на экране для включения автоатаки.
  
  
 
; <skillcancel>
 
; <skillcancel>
: Противодействовать ли скиллам мобов? Если в этом поле стоит '''1''', то OpenKore будет стараться бороться со скиллами мобов. OpenKore будет переключаться и нападать на моба, который кастует на персонажа скилл, чтобы прервать, сбить каст. Если же скилл кастуется на площадь, то OpenKore зайдёт мобу за спину, выходя из зоны поражения.
+
: Пробовать остановить каст моба? Если в данном поле стоит '''1''', то OpenKore будет стараться сбить каст скиллов указанного моба. OpenKore будет переключаться и нападать на моба, который кастует на бота скилл, чтобы прервать каст. Если же скилл кастуется на площадь, то OpenKore зайдёт мобу за спину, выходя из зоны поражения.
  
  
 
; <lv>
 
; <lv>
: Персонаж должен быть не меньше указанного в данном поле левела, чтобы он смог успешно атаковать моба.
+
: Бот должен быть не меньше указанного уровня, чтобы он смог атаковать моба.
  
  
 
; <joblv>
 
; <joblv>
: Персонаж должен быть не меньше указанного в данном поле джоб-левела, чтобы он смог успешно атаковать моба.
+
: Бот должен быть не меньше указанного джоб-уровня, чтобы он смог атаковать моба.
  
  
 
; <hp>
 
; <hp>
: У персонажа должно быть не меньше указанного в данном поле количества единиц жизни, чтобы он смог успешно атаковать моба.
+
: У бота должно быть не меньше указанного количества единиц жизни, чтобы он смог атаковать моба.
  
'''Примечание:''' Количество хп выражается абсолютным значением, а не процентом.
+
:'''Примечание:''' Количество хп выражается абсолютным значением, а не процентом.
  
  
 
; <sp>
 
; <sp>
: У персонажа должно быть не меньше указанного в данном поле количества единиц маны, чтобы он смог успешно атаковать моба.
+
: У бота должно быть не меньше указанного количества единиц маны, чтобы он смог атаковать моба.
  
'''Примечание:''' Количество сп выражается абсолютным значением, а не процентом.
+
:'''Примечание:''' Количество сп выражается абсолютным значением, а не процентом.
  
  
 
; <weight>
 
; <weight>
: Опасность моба, его "вес". Это значение используется при подсчете количества агрессивных мобов, смотри параметры конфига [[teleportAuto_minAggressives]] и [[teleportAuto_minAggressivesInLock]]. Значение этого поля может быть дробным числом больше нуля (например 1.8237402, 0.25, 2 и т.д.). Если вдруг в поле был прописан ноль - '''0''', то весом моба считается '''1'''. Если же нужно не считать моба агрессивным, чтобы тот не участвовал в подсчете, следует прописать '''-1'''.
+
: В этом поле прописывается опасность моба, его "вес". Это значение используется при подсчёте количества агрессивных мобов, смотри параметры конфига [[teleportAuto_minAggressives]] и [[teleportAuto_minAggressivesInLock]]. Значение этого поля может быть дробным числом больше нуля (например 1.8237402, 0.25, 2 и т.д.). Если в этом поле установлено нулевое значение, то весом моба считается '''1'''. Если не нужно считать моба агрессивным, чтобы он не участвовал в подсчёте, то следует прописать '''-1'''.
  
  
 
== Примеры ==
 
== Примеры ==
  
В следующем примере OpenKore будет искать телепортом и атаковать мобов "Elder Willow" и "Eggyra". На мобов "Bigfoot", "Willow" и "Poporing" OpenKore не будет обращать никакого внимания. Кроме того, OpenKore будет пытаться прерывать касты моба "Elder Willow", который, в частности, кастует "Fire Bolt".
+
В следующем примере OpenKore будет искать телепортом и атаковать мобов "Elder Willow" и "Eggyra". На мобов "Bigfoot", "Willow" и "Poporing" OpenKore не будет обращать никакого внимания. Кроме того, OpenKore будет пытаться прерывать касты моба "Elder Willow", когда он будет кастовать "Fire Bolt".
  
 
  Elder Willow 1 0 1 1
 
  Elder Willow 1 0 1 1
Строка 117: Строка 121:
  
  
В следующем примере демонстрируется использование поля "опасность моба", так называемый "вес".
+
В следующем примере демонстрируется использование поля "вес".
 
  # в файле [[:Category:config.txt|config.txt]]:
 
  # в файле [[:Category:config.txt|config.txt]]:
 
  teleportAuto_minAggressives 6
 
  teleportAuto_minAggressives 6
Строка 126: Строка 130:
 
  Merman 1 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 атакуют пять "Hydra" и два "Sword Fish", то OpenKore не будет винговаться от них и будет драться, потому что количество агрессивных мобов будет равно (5 * 0.2) + (2 * 1) = 3. А в конфиге указано винговаться от шести агрессивных мобов.
Если же на OpenKore нападут два "Marc" и два "Merman", то OpenKore винганётся прочь, потому что количество агрессивных мобов будет равно шести: (2 * 1) + (2 * 2) = 6.
+
Если же на OpenKore нападут два "Marc" и два "Merman", то OpenKore винганётся, потому что количество агрессивных мобов будет равно шести: (2 * 1) + (2 * 2) = 6.
 
 
'''Примечание:''' Начинающиеся со знака фунта - '''#''' строки, являются комментарием и игнорируются OpenKore.
 
 
 
  
 
[[Category:Control]]
 
[[Category:Control]]

Текущая версия на 23:21, 18 апреля 2021

В файле 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.