|
Ткните носом пожалуйста - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
28.08.2013, 20:38
|
#76
|
|
|
|
Разведчик
|
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ткните носом пожалуйста
Ну, можно break поставить:
PHP код:
if(PetHPProc < 95) { NomerDeistvij = 2; break; }
Тогда, программа будет выходить из switch приступать к хилу сразу после следующего тика таймера, только получается так, что он начинает бесконечно хилить пета, даже если у него 100%.
Заслипил на 2 секунды, ноль эмоций от бота. Функция хила работает, проценты HP пета определяются и приводятся к типу int верно...
PHP код:
case 2: { inject.MyPetHeal(PetID); NomerDeistvij = 3; break; //inject.DeselectTarget(); } case 3: { if(PetHPProc < 95) { NomerDeistvij = 2; Sleep(2000); } if(CurrentPersTarget()!= 0) { NomerDeistvij = 3; inject.NormalAttack(); if(PersChi()>2) { UseSkillLvl1(); } } else { NomerDeistvij = 1; }
break; }
Так, стоп, я торможу. Проценты то у меня выдаются правильно, потому что прежде чем поместить в LineEdit я их умножаю на 100 и привожу к int. А сама переменная-то у меня получает голые значения, те которые есть. И получается, что при 100% PetHPproc = 1, а если < 100 PetHPProc = 0....
Последний раз редактировалось Xantrax; 28.08.2013 в 20:47.
|
|
|
28.08.2013, 20:48
|
#77
|
|
|
|
Разведчик
|
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
|
Re: Ткните носом пожалуйста
нет, нет, я исправил, слип не нужен, попробуй сделать так:
Код:
if(PetHPProc < 60)
{
NomerDeistvij = 2;
break;
}
если ты будешь видеть что хп пета полное, но прога все равно будет хилить, то проверь переменную PetHPProc, однозначно в ней дело, скорее всего либо редко обновляется, либо идет пересечение 2х таймеров и обновление данной переменной не происходит, как вариант попробуй вывести ее значение например в Edit.
|
|
|
28.08.2013, 21:03
|
#78
|
|
|
|
Разведчик
|
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ткните носом пожалуйста
Проблема в том, что я вроде и делаю DeselectTarget, и цель у меня пропадает, но лиса продолжает бить моба автоатакой((, а в чате действий пишет, что данное умение не доступно, ну, естественно, ведь она бьет моба автоатакой...
Так, вроде начало поулчаться что-то. Сейчас потестирую еще...
Да, без деселекта таргета получается.
Последний раз редактировалось Xantrax; 28.08.2013 в 21:15.
|
|
|
31.08.2013, 15:30
|
#79
|
|
|
|
Разведчик
|
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ткните носом пожалуйста
Есть такая штука в игре, как джинн и он тоже атакует.
Я посмотрел пакет который нужно отправить серверу для использования скилла(в данном случае "Тайна огня"), получился вот такой пакет:
74 00 F7 03 00 01 C7 4A 10 80
где красный цвет - это WID моба.
Пишу функцию инжекта данного пакета (а со всеми остальными пакетами инжектор работает), прописываю ее в событии нажатия кнопки, WID моба прописываю ближайшего и ничего не происходит, а в чате игры пишется - "Невозможно использовать умение".
У меня не правильный пакет?
Функция инжекта пакета
PHP код:
void INJECTOR::DginAttack(unsigned long wid) { //74 00 F7 03 00 01 C8 4A 10 80 Packet pack; pack.len = 10; char data[10] = "\x74\x00\xF7\x03\x00\x01\x00\x00\x00\x00"; memcpy(pack.byte,data,pack.len); memcpy(pack.byte+8,&wid,sizeof(unsigned long)); SendPacket(&pack); }
Есть два пути вычисления WID моба:
1) Это когда мы в цикле перебираем массив мобов и вычисляем тип, дальность и WID моба по смещениям в структуре мобов;
2) Мониторить переменную в структуре перса(текущий таргет) - +0BF8 Target, dword
Передаю в функцию Атаки Джином по очереди один из этих параметров, и ни один из способов не приводит к результату(Чтобы джинн атаковал).
Хотя если в функции конкретно прописать WID моба, то все срабатывает.
В чем моя ошибка? Может прежде чем вставлять в пакет WID моба его нужно перевести в HEX вид?
Последний раз редактировалось Xantrax; 31.08.2013 в 16:08.
|
|
|
31.08.2013, 16:18
|
#80
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Ткните носом пожалуйста
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
31.08.2013, 16:23
|
#81
|
|
|
|
Разведчик
|
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ткните носом пожалуйста
Последний раз редактировалось Xantrax; 31.08.2013 в 16:41.
|
|
|
31.08.2013, 17:12
|
#82
|
|
|
|
Разведчик
|
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
|
Re: Ткните носом пожалуйста
Xantrax,
Кажется ты путаешь инжекты асмокода и пакетов. При отправке пакетов, однозначно нужно переводить в Hex и использовать обратный парядок байт
|
|
|
31.08.2013, 19:49
|
#83
|
|
|
|
Разведчик
|
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Ткните носом пожалуйста
|
Цитата: |
|
|
|
|
|
|
|
|
Кажется ты путаешь инжекты асмокода и пакетов. |
|
|
|
|
|
Нет я не могу путать. Другое дело да, я записываю байты в обратном порядке. Собственно вот эта запись уже с обратным порядком байт: 74 00 F7 03 00 01 C7 4A 10 80 , я не пойму, зачем говорить о перевороте байт, если из поста(первого вопроса про атаку джинна) итак видно, что байты перевернуты.
Вот насчет перевода в HEX вид... Если вывести WID получаемый после прочтения из массива мобов в TEdit, то мы увидим обычное большое число. Его же мы подставляем в функцию выбора моба в таргет, и там мы ничего не не преобразуем к HEX виду.
Пример
PHP код:
void INJECTOR::TargetMob(DWORD wid) { Packet pack; pack.len = 6; char fdata[6] = "\x02\x00\xC8\x4A\x10\x80"; memcpy(pack.byte,fdata,pack.len); memcpy(pack.byte+2,&wid,sizeof(DWORD)); SendPacket(&pack); } TargetMob(wid); а, не TargetMob(IntToHex((__int64)wid,8))
Здесь мы какой wid получили, такой и подставили...
В функцию атаки джинна я вставляю тот же самый wid, он у меня объявлен в заголовочном файле класса окна моего бота, так что он тотже.
не могу путать я еще по одной причине - ассемблерных вставок у меня пока просто нет...
================================================== ===========
Провери
"Невозможно использовать умение" ---> Может что-то не дает Джину атаковать?
Поделитесь что ли вашим инжектом на атаку джинна...
================================================== ========
Итак:
74 00 F7 03 00 01 C8 4A 10 80
74 00 - сам пакет;
F7 03 - ID скилла джинна
00 01 - не знаю
C8 4A 10 80 - WID моба
================================================== ================
Ребята я плохой человек мудила ушастая , извините что вас нагружаю тут.
В общем проблема, над которой я просидел пол дня, была в следующем:
74 00 F7 03 00 01 C8 4A 10 80 - пакет
С8 4A 10 80 - WID
WID начинается с 6 байта, а не с 8
Я же написал в функции инжекта атаки джина:
memcpy(pack.byte+8,&wid,sizeof(DWORD));, а надо было 6. Мне вот только не понятно, почему программа мне не выдала предупреждения о выходе за границы массива...
Добавлено через 22 часа 2 минуты
================================================== ===============
Добавлено через 19 часов 2 минуты
Есть такая штука, как "банка с родниковой водой", для повышения лояльности пета. В игре нигде не написано ее откат, так же как и на банок на HP и MP.
Вопрос:
Как узнать время отката применения банки на родниковую воду?
Добавлено через 19 часов 23 минуты
Ну, ведь не хороше же, когда КД не откатилось, а ты посылаешь в игру пакет на кормление пета родниковой водой?
Может на глаз посчитать время КД банки, создать таймер и по достижении переменной величины сосчитаной на глаз инжектить пакет кормления пета родниковой водой?
Тоже как-то грубо мне кажется....
================================================== ============
Периодически на пересеченной местности просторов PW встречаются неровности, в которых бот застревает.
Вопрос:
Кто, как с этим борется?
Моя мысль заключается в том, чтобы через определенное время отправить окну нажатие кнопки Tab - сменить цель...
Последний раз редактировалось Xantrax; 01.09.2013 в 17:52.
Причина: Добавлено сообщение
|
|
|
05.10.2013, 21:52
|
#84
|
|
|
|
Разведчик
|
Регистрация: 23.10.2010
Сообщений: 7
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 7 раз(а) в 5 сообщениях
|
Re: Ткните носом пожалуйста
Есть офсеты на откат еды пета посмотри в теме офсеты:WaitFoodPet, dword (1.4.6 клиент вроде BA+$1C+$34+$A94)
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Гм Инновы у нас под носом О_о
|
.NextTarget |
Общение и обсуждение, архив Point Blank |
4 |
10.03.2011 13:16 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 08:11.
|
|