PDA

Просмотр полной версии : [Обсуждение] Напишем новый софт?


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: Жду ваших отзывов на этот счет и в надежде, что более сильные программисты смогуть реализовать второй вариант. Потому первый я думаю смогу реализовать, но он будет не надежным.

Chiffka
27.09.2013, 16:07
Идея:
Вытаскивать с лога баффы противника, использование банок на исцеление, хп, мп и включать таймер на их откат. Все это дело показывать в игре. Тогда вы будете знать в откате ли у противника банка или скилл. Или же вам покажет, что противник заюзал какую нибудь стойку и лучше бегать от него, некоторое время, которое будет отображаться поверх игры.


Проблема возникнит с определением противника, ведь в чате не отображается кто именно твой противник, т.е. если в локации кроме вас двоих никого нет, то да, всё будет работать на ура, а вот если много, как обычно и бывает. С таргета брать цель тоже не лучший вариант, ибо тот же син и волш выскакивают из него постоянно... Единственный черновой вариант, который мне пока виден - это брать с чата ник, того кого ты ударил, но это только черновой вариант...
Ещё вопрос, как быть когда противников двое?
Хотя идея шикарна... но продумывать ещё много моментов надо...

mars2107
29.09.2013, 12:22
ну тут не обойтись без проверки кто в таргете. с памятью игры все равно работать надо.

З.Ы. неужели никто не заинтересован, или все так действительно сложно?

jfoll
30.09.2013, 16:14
Смысла писать еще один велосипед нет. Софт есть и с гораздо более обширными возможностями, чем это описано в первом посте. Естественно - не для бомжей, не русскоязычный и не бесплатный и без кнопки "убить всех".