mars2107
27.09.2013, 12:19
Уже не помню откуда взялась эта идея (вроде с WOW)
Почти все знают что такое DPS метр и как он работает. Он на ходу считывает chat.log в который пишется весь чат игры в реальном времени. Туда пишется абсолютно со всех вкладок вашего чата текст.
Идея:
Вытаскивать с лога баффы противника, использование банок на исцеление, хп, мп и включать таймер на их откат. Все это дело показывать в игре. Тогда вы будете знать в откате ли у противника банка или скилл. Или же вам покажет, что противник заюзал какую нибудь стойку и лучше бегать от него, некоторое время, которое будет отображаться поверх игры.
Тут, как я понимаю, нужно работать со строками. Подгружать файл в программу построчно и считывать каждую строку, отступая в начале от времени, ника перса и т.п. Занеся уже заранее базу строки как это будет писаться в чате.
2013.09.25 21:08:44 : Использовано: Редкое зелье восстановления VI.
2013.09.25 21:08:44 : Вы восстановили 916 MP.
2013.09.25 21:08:44 : Вы восстановили 1*940 HP.
Реализация:
Читаем строку, ищем в ней время, записываем в таймер и запускаем его. Далее ищем в строчке нужный нам текст с баффом, банкой и т.п. если совпадают с выбранными из подготовленной базы, сообщит нам что использовал противник. Это так, поверхностно. На самом деле очень много еще реализовать нужно перед этим, но основная мысль такова. Можно будет послушать ваши идеи и дополнить здесь...
Имеется второй, более сложный вариант. Мне он не по зубам.
Выбирать из памяти клиента данные об этих сообщениях (смутно себе представляю как это сделать, но поговорив с zombiee ([Ссылки могут видеть только зарегистрированные и активированные пользователи]), понял, что это осуществимо.) И уже работать с памятью клиента. Это очень большой плюс к скорости программы, потому что, как поведет себя первый вариант еще неизвестно. Далее как отловили и обработали передавать в игру с помощью D3DX хука, чтобы работало в полноэкранном режиме. Включая туда свою иконку покрупнее с таймером и текстом умения, банки, баффа (хотя это уже моя фантазия).
Итоги, если это у нас будет: мы всегда будем знать когда станить противника, чтобы он не смог выйти из стана, наложить дерево и т.д. Увеличится живучесть, мы будем знать точно когда бегать от противника или лучше бить его т.п.
:rolleyeyes: Жду ваших отзывов на этот счет и в надежде, что более сильные программисты смогуть реализовать второй вариант. Потому первый я думаю смогу реализовать, но он будет не надежным.
Почти все знают что такое DPS метр и как он работает. Он на ходу считывает chat.log в который пишется весь чат игры в реальном времени. Туда пишется абсолютно со всех вкладок вашего чата текст.
Идея:
Вытаскивать с лога баффы противника, использование банок на исцеление, хп, мп и включать таймер на их откат. Все это дело показывать в игре. Тогда вы будете знать в откате ли у противника банка или скилл. Или же вам покажет, что противник заюзал какую нибудь стойку и лучше бегать от него, некоторое время, которое будет отображаться поверх игры.
Тут, как я понимаю, нужно работать со строками. Подгружать файл в программу построчно и считывать каждую строку, отступая в начале от времени, ника перса и т.п. Занеся уже заранее базу строки как это будет писаться в чате.
2013.09.25 21:08:44 : Использовано: Редкое зелье восстановления VI.
2013.09.25 21:08:44 : Вы восстановили 916 MP.
2013.09.25 21:08:44 : Вы восстановили 1*940 HP.
Реализация:
Читаем строку, ищем в ней время, записываем в таймер и запускаем его. Далее ищем в строчке нужный нам текст с баффом, банкой и т.п. если совпадают с выбранными из подготовленной базы, сообщит нам что использовал противник. Это так, поверхностно. На самом деле очень много еще реализовать нужно перед этим, но основная мысль такова. Можно будет послушать ваши идеи и дополнить здесь...
Имеется второй, более сложный вариант. Мне он не по зубам.
Выбирать из памяти клиента данные об этих сообщениях (смутно себе представляю как это сделать, но поговорив с zombiee ([Ссылки могут видеть только зарегистрированные и активированные пользователи]), понял, что это осуществимо.) И уже работать с памятью клиента. Это очень большой плюс к скорости программы, потому что, как поведет себя первый вариант еще неизвестно. Далее как отловили и обработали передавать в игру с помощью D3DX хука, чтобы работало в полноэкранном режиме. Включая туда свою иконку покрупнее с таймером и текстом умения, банки, баффа (хотя это уже моя фантазия).
Итоги, если это у нас будет: мы всегда будем знать когда станить противника, чтобы он не смог выйти из стана, наложить дерево и т.д. Увеличится живучесть, мы будем знать точно когда бегать от противника или лучше бить его т.п.
:rolleyeyes: Жду ваших отзывов на этот счет и в надежде, что более сильные программисты смогуть реализовать второй вариант. Потому первый я думаю смогу реализовать, но он будет не надежным.