MrSergey писал(а):
Отклонение от маршрута - идея хорошая, добавил себе в список новых функций.
Сергей, все та же проблема у тебя, извини. Еще с фишбота помню;-). Там, помниться, я год просил тебя сделать опцию сигнала на непредвиденные обстоятельства, типа "10 мин. бот не поймал ни одной рыбы" или "10 мин нет ни одного броска". Так и не сделал.
Суть в том, что в игре может случится разное, все не предусмотришь. Вот сегодня я забыл перепривязать камень возврата. Сумки переполнились, бот оказался в Штормвинде (а не в Даларане), ухитрился выбраться наружу из таверны и начал долбиться в стенку в районе почты (немного отбежит и снова с стенку). К счастью, я был рядом, а так 100% получил бы кучу тикетов. Боязнь таких казусов останавливает фарм и использование вендоров в посещаемых местах.
Предложение 1. Сделать группу флагов на непредвиденные обстоятельства, типа:
1. Бот N мин не был ни на одной ключевой точке. N - 10 мин по умолчанию, настраивается. Вне зависимости, какой это маршрут - фарма, вендора или на пути он ангела.
2. Бот N мин. не выполнил заданного действия (не вырыл ни одной руды/травы или не убил моба при фарме). Конечно, отсчет времени - он начала фарма или после возврата от вендора (если такое есть).
3. Бот работает с недопустимо малой скоростью (меньше N лута/ресурсов в заданное время).
4. Бот N мин. находится в пределах одних и тех же координат с радиусом N метров. (для ликвидация "долбления" о стенки")
5. После использования камня возвращения вендор/почта не достигнуты за N мин. (видимо, бот попал не туда)
И стандартная реакция на это - "ничего не делать", "пауза", "выключить бота" и пр.
Предложение 2. А еще очень бы хотелось подробный лог, куда бы записывалось (с отметкой, что нужно включать):
0. Все текущие настройки бота - пишутся только один раз в начале лога.
1. Точные координаты со временем каждые 10 с.
2. Время достижение N точки маршрута.
3. Что делает бот (лутит, воюет, фармит).
4. Кого убил или какие ресурсы собрал, за какое время.
5. Какие абилки использовал (если воевал)
6. У вендора - что продал и на какую сумму, когда посетил и сколько на это ушло времени.
7. На почте - что послал и кому.
8. Всякая служебная информация бота - значения переменных, флагов и пр.
9. Информация об игре и сообщения в игре.
10. Скриншоты игры каждые N мин.
Лог можно смотреть в отдельной вкладке бота, разные пункты - разным цветом. Каждые N мин лог перезаписывается. Уверен, что для большинства посетителей этого форума смотреть на эту вкладку будет интересней и полезней, чем на окно WoW. Это полезно и для удаленного управления ботом - достаточно следить за единственным небольшим неграфическим окном. Раз в N мин лог сбрасывается на диск, если нужно.
И пр. Чтение такого лога и публикация на этом форуме сильно бы облегчило поиск "неисправностей" бота и оптимизацию его действий. Не говоря уж о том, что облегчило твою задачу разбора жалоб клиентов. Вместо наводящих вопросов просто просишь прислать лог.
В случае аварийного завершения работы бота или WoW всегда стараться записать на диск максимально подробный "снимок" состояния бота вне зависимости от настроек ведения лога.
А то подходишь к компу - WoW выключен или бот остановлен, а почему - хрен разберешь. Если бы только при выключении! Иногда смотришь - бот явно делает что-то не то (или не так), а неясно, почему. Примеры:
1. Случайно кликнул не туда на визуальном редакторе и записал новый маршрут с точкой фарма за пределами стены. Долго потом не мог понять, почему в середине маршрута бот стукается об стенку, бежит назад, потом вперед и продолжает фарм (т.к. натыкается на мобов и далее идет к след. точке).
2. Несколько раз подходил к компу, бот налутил слишком мало. Вроде воюет, сбоев не было. Потом только случайно поймал момент, когда на полете от вендора бот залетает в аэростат и там застревает на некоторое время. Забавно, что все же ухитряется вылететь )
3. Насчет того, что забыл перепривязать камень возврата, уже писал. Наверняка и др. пользователи попадались на этом. Поскольку "стандартная" привязка - обычно столица, последствия могут быть очень неприятными.
4. Проверки ГМ-ов. Если у кого параноидальная боязнь, ставить все времена в п. 1-5 на минимум и реакцию выхода из игры. Тогда любые попытки ГМ-а что-то сделать с ботом ловятся с полпинка.
Я думаю, у др. людей много подобных случаев. Лог помогает их выявить, а реакция на них - избежать неприятных моментов и улучшить работу бота.