Страница 3 из 3
Добавлено: Сб июн 30, 2007 2:33 pm
vit
Можно сделать 2 способами:
1) Сделать команду как писал
piroJOKE:
piroJOKE писал(а):Ммм... нет, вот вы мине сначала скажите, есть ли какой-то способ манипулировать содержимым mon_control-а с консоли, ну, какой-то аналог conf для этого файла?
Сначала подумал, что неплохо было бы это замутить для любого файла, но потом прикинул и понял, что надо это только для mon_control.txt. Ну разве что еще для items_control.txt, но это, ИМХО, нахрен не надо(я пользоваться точно не буду).
2) Или в mon_control-е(опять же как
piroJOKE предлагал):
Poring 1 0 0 0 1..8 1..40
или
Poring 1 0 0 0 1-8 1-40
Добавлено: Сб июн 30, 2007 3:04 pm
Gans
Повторение - мать учения, да?

Добавлено: Пн сен 10, 2007 12:09 am
CaToH
Не совсем в тему, но в частности эту проблему можно решить, если добавить возможность менять имя файла в ,котором хранятся настройки mon_control... И вообще других файлов тоже.
Это дает в купе с макросом невероятную гибкость - меняешь конф. файлы и получаешь совершено разных по поведению ботов.
Я не знаю, что сложнее, но представление нескольких переменных вместо набора констант(имен файлов) - мне представляется не очень сложным.
Это решает очень много проблем, ибо макрос очень мощная штукенция уже, зачем копировать функциональность в других частях OpenKore?
Добавлено спустя 1 час 12 минут 30 секунд:
Думается мне, что лучший вариант будет аналогичный ситуаци с macro_file переменной - человек меняет имена конфигов и после пишет reload <filename_pattern>. Если не перегрузил конф файл - сам виноват.
Вообщем, я нафлудил, а кодить пока сам не буду, ибо придется перл сначало ботать.
Жду критику.

Добавлено: Пн сен 24, 2007 5:47 am
qwesty
Я сделал проще: вместо job_lv, который все равно никогда не использовал, сделал максимальный лвл и заменить нужно всего пару букв.
Добавлено: Пн сен 24, 2007 10:36 am
piroJOKE
qwesty
Ха, тоже неплохо.

Добавлено: Пн сен 24, 2007 5:32 pm
vit
qwesty
Может выложишь,как сделал, а то я в перле не силен...
Добавлено: Пн сен 24, 2007 5:37 pm
qwesty
vit
В src\AI\CoreLogic.pm ф-ия processAutoAttack в ней ищешь
Код: Выделить всё
if (my $control = mon_control($monster->{name},$monster->{nameID})) {
next if ( ($control->{attack_auto} ne "" && $control->{attack_auto} <= 0)
И следующие 2 строчки меняешь на
Код: Выделить всё
|| ($control->{attack_lvl} ne "" && $control->{attack_lvl} > $char->{lv})
|| ($control->{attack_jlvl} ne "" && $control->{attack_jlvl} <= $char->{lv})
Т.е. если в mon_control.txt задаешь
Poring 1 0 0 0 1 10, то бот будет атаковать его на промежутке [1..10)
Re: Максимальный уровень, при котором бот будет атаковать моба
Добавлено: Пт ноя 14, 2008 1:38 pm
Cooot
Используя пост
qwesty более чем годовалой давности решил сделать также, но выяснил, что сейчас таких строчек нет в src\AI\CoreLogic.pm.
Поэтому новое решение такое и немного улучшенное даже. Надо во всех файлах src заменить строчку (8 одинаковых замен):
Код: Выделить всё
|| ($control->{attack_jlvl} ne "" && $control->{attack_jlvl} > $char->{lv_job})
на:
Код: Выделить всё
|| ($control->{attack_jlvl} ne "" && $control->{attack_jlvl} ne "0" && $control->{attack_jlvl} <= $char->{lv})
Poring 1 0 0 0 1 10 дает нам атаку на промежутке [1..10), начиная со 1го уровня и прекращая атаковать на 10м.
Если же мы впишем вот так (это в тех случаях, когда нам надо атаковать монстра вплоть до 99, но нужны для использования параметры дальше уровня):
High Orc 1 0 0 0 40 0 500
High Orc 1 0 0 0 40 100 500
То эффект будет одинаков, бот начнет бить хайорков, начиная с 40го уровня и до 99 включительно при хп > 500. Просто 0 с моей точки зрения удобнее, чем 99 писать везде, поэтому на него вписана была в строку кода выше дополнительная проверка.
Re: Максимальный уровень, при котором бот будет атаковать моба
Добавлено: Вт янв 13, 2009 8:45 am
Tray
это добавили в кору или нет?
а то я смотрел, добавили тока с какого уровня бот будет атаковать моба, правда у меня и версия не шибко новая
Re: Максимальный уровень, при котором бот будет атаковать моба
Добавлено: Вт янв 13, 2009 2:38 pm
vit
Tray писал(а):это добавили в кору или нет?
Нет. Рекомендуется использовать плагин xConf, или произвести изменения, описанные в этой теме, вручную.
Tray писал(а):а то я смотрел, добавили тока с какого уровня бот будет атаковать моба
Это было всегда.