mon control.txt — различия между версиями
Manticora (обсуждение | вклад) (Обновление: Оформление. Новое значение <attack>=3 - мобтрейн.) |
4epT (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
− | В файле '''mon_control.txt''' прописывается | + | В файле '''mon_control.txt''' прописывается поведение OpenKore при встрече с определёнными монстрами. В случае пустого файла mon_control.txt атака на монстров определяется параметром [[:Category:config.txt|конфига]] [[attackAuto]]. |
− | С помощью файла '''mon_control.txt''' можно | + | С помощью файла '''mon_control.txt''' можно настроить следующее поведение: |
− | * винг | + | * винг \ телепорт от указанного моба; |
− | * поиск указанного моба телепортом. | + | * поиск указанного моба телепортом (винг - поиск моба, винг - поиск моба и т.д.); |
− | * | + | * атаковать моба, который кастует скилл; |
− | * при каком минимально | + | * при каком минимально уровне, джобе и количестве хп \ сп можно атаковать указанного моба; |
− | * опасность моба, его вес | + | * опасность моба, его вес - это нужно чтобы отделить слабых мобов от сильных. |
− | == | + | == Синтаксис == |
− | + | Каждая строка файла '''mon_control.txt''' - это комбинация имени моба и чисел, разделённых между собой пробелами: | |
− | < | + | <monster_name> <attack> <teleport> <search> <skillcancel> <lv> <joblv> <hp> <sp> <weight> |
− | ''' | + | '''Примечания:''' |
+ | * вместо пробелов значения можно разделять табуляцией. Это полезно в случае, если имя моба содержит цифры; | ||
+ | * не обязательно указывать для моба значения всех параметров; | ||
+ | * строки, начинающиеся со знака решётки ('''#''') являются комментарием и игнорируются OpenKore. | ||
=== Подробности === | === Подробности === | ||
---- | ---- | ||
− | ; <[[References# | + | ; <[[References#Мобы|monster_name]]> |
− | : В первом поле прописывается имя моба. | + | : В первом поле прописывается имя моба или его ИД. Вместо имени можно написать '''all''', тогда в данной строчке будет описано поведения OpenKore для всех остальных мобов, не упомянутых в данном файле. |
; <attack> | ; <attack> | ||
− | : Если автоатака включена в параметре конфига [[attackAuto]], то данное поле определяет, что делать OpenKore при встрече с указанным мобом - атаковать его или нет. | + | : Если автоатака включена (в параметре конфига [[attackAuto]]), то данное поле определяет, что делать OpenKore при встрече с указанным мобом - атаковать его или нет. |
− | {| | + | :{|border="1" cellpadding="2" cellspacing="1" |
− | |- | + | |- style=background-color:#F9F9F9; |
!Значение | !Значение | ||
!Действие | !Действие | ||
|- | |- | ||
!-1 | !-1 | ||
− | | | + | |игнорировать моба, даже если он атакует вас |
|- | |- | ||
!0 | !0 | ||
− | | | + | |не нападать на моба первым, но защищаться, если он начал атаковать первый |
|- | |- | ||
!1 | !1 | ||
− | | | + | |автоматически атаковать моба (значение по умолчанию) |
|- | |- | ||
!2 | !2 | ||
− | | | + | |всегда нападать на моба, даже если сидим и регеним хп/сп. |
|- | |- | ||
!3 | !3 | ||
− | | | + | |моб-трейн. |
|} | |} | ||
; <teleport> | ; <teleport> | ||
− | : В этом поле прописывается, следует ли OpenKore избегать встречи с | + | : В этом поле прописывается, следует ли OpenKore избегать встречи с указанным мобом. |
− | {| | + | :{|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]]. |
− | * | + | * если вовремя вингануться от моба, когда он вас атакует, то персонаж не получит урона, даже если цифры дамага были написаны в консоли. |
; <search> | ; <search> | ||
− | : Искать ли указанного моба телепортом? Если в данном поле стоит '''0''', то OpenKore не будет винговаться в поисках моба. Если же прописано '''1''', то OpenKore будет искать указанного моба телепортом, вингуясь по всей локации. Чтобы это работало, следует прописать в параметре конфига [[teleportAuto_search]] количество мобов на экране | + | : Искать ли указанного моба телепортом? Если в данном поле стоит '''0''', то OpenKore не будет винговаться в поисках этого моба. Если же прописано '''1''', то OpenKore будет искать указанного моба телепортом, вингуясь по всей локации. Чтобы это работало, следует прописать в параметре конфига [[teleportAuto_search]] количество мобов на экране для включения автоатаки. |
; <skillcancel> | ; <skillcancel> | ||
− | : | + | : Пробовать остановить каст моба? Если в данном поле стоит '''1''', то OpenKore будет стараться сбить каст скиллов указанного моба. OpenKore будет переключаться и нападать на моба, который кастует на бота скилл, чтобы прервать каст. Если же скилл кастуется на площадь, то OpenKore зайдёт мобу за спину, выходя из зоны поражения. |
; <lv> | ; <lv> | ||
− | : | + | : Бот должен быть не меньше указанного уровня, чтобы он смог атаковать моба. |
; <joblv> | ; <joblv> | ||
− | : | + | : Бот должен быть не меньше указанного джоб-уровня, чтобы он смог атаковать моба. |
; <hp> | ; <hp> | ||
− | : У | + | : У бота должно быть не меньше указанного количества единиц жизни, чтобы он смог атаковать моба. |
− | '''Примечание:''' Количество хп выражается абсолютным значением, а не процентом. | + | :'''Примечание:''' Количество хп выражается абсолютным значением, а не процентом. |
; <sp> | ; <sp> | ||
− | : У | + | : У бота должно быть не меньше указанного количества единиц маны, чтобы он смог атаковать моба. |
− | '''Примечание:''' Количество сп выражается абсолютным значением, а не процентом. | + | :'''Примечание:''' Количество сп выражается абсолютным значением, а не процентом. |
; <weight> | ; <weight> | ||
− | : | + | : В этом поле прописывается опасность моба, его "вес". Это значение используется при подсчёте количества агрессивных мобов, смотри параметры конфига [[teleportAuto_minAggressives]] и [[teleportAuto_minAggressivesInLock]]. Значение этого поля может быть дробным числом больше нуля (например 1.8237402, 0.25, 2 и т.д.). Если в этом поле установлено нулевое значение, то весом моба считается '''1'''. Если не нужно считать моба агрессивным, чтобы он не участвовал в подсчёте, то следует прописать '''-1'''. |
== Примеры == | == Примеры == | ||
− | В следующем примере OpenKore будет искать телепортом и атаковать мобов "Elder Willow" и "Eggyra". На мобов "Bigfoot", "Willow" и "Poporing" OpenKore не будет обращать никакого внимания. Кроме того, OpenKore будет пытаться прерывать касты моба "Elder Willow", | + | В следующем примере 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 винганётся | + | Если же на OpenKore нападут два "Marc" и два "Merman", то OpenKore винганётся, потому что количество агрессивных мобов будет равно шести: (2 * 1) + (2 * 2) = 6. |
− | |||
− | |||
− | |||
[[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.