PDA

Просмотр полной версии : Можно ли вытащить сообщения боевого чата из памяти клиента?


Modius
08.07.2013, 16:04
Иногда смотрю дуели между людьми и часто вижу, как например целитель кидает слепоту на лука, а тот не снимает ее банкой и бьет дальше. Т.к. в порыве боя не замечает что он ослеплен :)
В связи с этом пришла идея написать программку, которая бы анализировала чат боя и скажем при нахождении в чате надписи "Вы ослепли" проигрывать какое либо сообщение, что бы услышав его человек понимал что его ослепили и снимал слепоту банкой.
Ну это я описал на примере слепоты, а можно так же отслеживать замедление, корни, немку и т.д.
Так вот, с помощью консоли можно разрешить писать лог в файл (chat.log) а потом программой в цикле (например каждые 1-2 сек) считывать последние строки лога и парсить их на наличие нужного текста.
Это сделать легко, а вот у меня вопрос: можно ли как то в памяти отлавливать сообщения чата боя, ну что бы не возится с физическим файлом-лога?

FrolPopov
10.07.2013, 17:38
За 1-2 секунды бой кончается. А после драки, как известно, кулаками не машут.

Tr0y
10.07.2013, 18:39
Помоему, тут нужно проверять ID бафов/дебафов умений, висящих на персонаже. Если есть ID умения на персе, то делать какое-то действие(я).

jjdd
10.07.2013, 20:01
вот бы кто-то авто-дебаффер сделал бы

mars2107
14.07.2013, 17:37
1. Способ пакетами.

+ легко написать
- будете зависить от пакетника и новых версий

2. Работать напрямую с памятью.

+Быстрее пакетов и надежнее
- врятли кто возьмется делать

На счет второго способа, точно знаю что можно сделать. Это при том, чтобы не затрагивать chat.log так как с ним толку не будет.

Мы как то обсуждали с Zombee одну идею, но реализации так и не достигла, скину ее сюда:

Так же отлавливаем из чата боя с противником, когда он юзает банку на исцеление и включаем таймер на 30 сек и уведомляем себя что у противника банка в откате и тем самым можем использовать немоту, слепоту и т.д. Если продумать глубже, то можно и другие скиллы так прописать и знать что у противника в откате.