ellysh / l2bot

Simple and easy configurable Lineage 2 bot on AutoIt scripting language
http://en-l2bot.blogspot.com
GNU General Public License v3.0
35 stars 26 forks source link

Check attacked #1

Open LifeMoroz opened 10 years ago

LifeMoroz commented 10 years ago

Have You any ideas how to check attacked whether the character?

LifeMoroz commented 10 years ago

Мб стоит добавить обработку чата.

  1. Включаем показ урона в чате.
  2. Чекаем чат на предмет "Hamlet нанес 3320 урона Lifemoroz".
  3. Есть? да - 4, нет - 7.
  4. Делаем "/target Hamlet".
  5. Пиннаем.
  6. Провереяем на жизнь: жив - 5, нет - 2.
  7. Берем моба из списка и делаем target или просто nexttarget.
ellysh commented 10 years ago

Единственная альтернатива к которой удалось придти - проверять состояние HP персонажа. Если уменьшается - значит бы атакован. Но эта проверка очень ненадежная.

Насчет обработки чата - это хорошая идея, но бот не умеет "читать" с экрана символы. Окно Lineage, насколько понимаю, рисуется полностью DirectX библиотекой и никаких "контролов", к которым можно получить доступ по ID там нет. Поэтому средства AutoIt по считыванию текста не работают.

LifeMoroz commented 10 years ago

Добавить в конфиг клик в правый верхний угол чата и в левый нижний, т.к. чат прямоугольный - получим профит!!!

Проверка хп не поможет, Arcana Power тому пример

ellysh commented 10 years ago

Не совсем понял вашу идею - что нам дадут координаты окна чата?

В принципе, если в чат кроме урона ничего не пишется есть возможность определить, что появилась новая строчка. Но я не знаю способа как распознать текст в этой строчке. Есть ли идеи как это сделать? Насколько мне известно, клик по имени моба в окне чата (сообщение об уроне) не приведет к его выделению в качестве цели.

LifeMoroz commented 10 years ago

Распознаватель текста простенький найти, шрифт печатный - проблем возникнуть не должно. Смотрим в чат (координаты есть) -> распознаем текст -> узнаем об уроне -> берем ник моба -> делаем таргет Кроме урона туда еще пишутся выпавшие предметы и уведомление об использовании сосок