|
You last visited: Today at 19:12
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
11/18/2009, 15:51
|
#631
|
elite*gold: 0
Join Date: Nov 2009
Posts: 11
Received Thanks: 2
|
Верно, заморочка с float, только сегодня добился нормального полета по точкам. По началу как раз затупил со значениями и получал полет в координаты 440,550,0. Потом для теста вывел чистые координаты (без пересчета по формуле) и записал по адресам:
20+C10+30+04+20 write x
20+C10+30+04+28 write y
20+C10+30+04+24 write z
примерно так:
Quote:
_MemoryPointerWrite($APP_BASE_ADDRESS, $PROCESS_INFORMATION, $OFFSET_MOVETOX, -322.543792724609, "float")
_MemoryPointerWrite($APP_BASE_ADDRESS, $PROCESS_INFORMATION, $OFFSET_MOVETOY, -379.948486328125, "float")
_MemoryPointerWrite($APP_BASE_ADDRESS, $PROCESS_INFORMATION, $OFFSET_MOVETOZ, 463.389099121094, "float")
|
И все встало на свои места.
|
|
|
11/19/2009, 01:34
|
#632
|
elite*gold: 0
Join Date: Aug 2009
Posts: 70
Received Thanks: 18
|
Нашел зум - но только странно как то получилось - отдалять камеру от перса могу хоть за облака, а вот приближение - осталась та же граница. Существует еще одна ячейка памяти на приближение или больше с ним ничего не сделаешь?
|
|
|
11/19/2009, 09:26
|
#633
|
elite*gold: 0
Join Date: Aug 2009
Posts: 9
Received Thanks: 0
|
Это ппц, товарищи! Полгода назад я активно следил за интернет ресурсами, в которых обсуждались умные боты. Потом стало вообще не до игры, недавно вернулся в игру, с Таразеда на Пегас пересел. Решил поставить старого доброго MHS и что же? на стартовых локациях все места фарма просто заполонены этими умными ботами!!!!!!! >_< Своего даже приткнуть некуда>_<. Их там просто десятки! Я лично такого никогда не видел.
И что самое интересное, на всех инет ресурсах никто ничего не знает о этих ботах(
ФАААААААААК!!!!!!!! Да где они их берут!!!!!!!!!!! >_<?????????????
|
|
|
11/19/2009, 10:20
|
#634
|
elite*gold: 0
Join Date: Mar 2009
Posts: 25
Received Thanks: 6
|
Потестил видеохак =) Отличная штука, теперь меньше лагов при разворачивании окна. Работает. Процессор, правда, нагружает в разы сильнее =) И памяти вроде больше выделяется (хз, тк у меня файл подкачки 16гб))
|
|
|
11/19/2009, 10:20
|
#635
|
elite*gold: 0
Join Date: Aug 2009
Posts: 70
Received Thanks: 18
|
Что то мне надоело  бота развивать. Предлагаю проект - антибот. Полет по точкам реализован - ставим бота - летает по карте и собирает информацию о других ботах - отличительные признаки тоже есть. Автоматом сливает информацию в суппорт нивала + к ним же на форум - это тоже сделать нетрудно. Локации освобождаются - ставим своих ботов.  Главное - не слить своих!
|
|
|
11/19/2009, 12:59
|
#636
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
|
|
|
11/19/2009, 13:02
|
#637
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|

Кстати, про облет. Кто-нибудь пробовал без мауса активировать диалог с НПС?
|
|
|
11/19/2009, 13:24
|
#638
|
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
|
Quote:
|
Вообще то я считал, что i при респе моба даже в одной локации может быть разным - все зависит от выделения памяти клиентом для конкретно этого куска данных - поэтому таргет моба веду несколько иначе - произвожу перебор всех мобов с проверкой на дистанцию, тип и занятость. Т. е. Если тип 6 и не занято, сравнение дистанции - если меньше предидущего - сохраняем ID для возможного таргета. Следующий то же самое... И так все мобы. А если ты сначала прицеливаешься, то перебор ведешь, сравнивая ID с тем, что в цели. А чтобы бот не тупил, стоя на месте и считывая данные для сравнения, делаешь это, допустим, когда он бежит за лутом - все равно это время делать нечего... Ну почти нечего... А с i работаю только при одной жизни одного конкретного моба. Моб умер - i бесполезно, так как оно при респе может быть таким же, а может и измениться. Специально не сравнивал - для этого нужно вести статистику, а мне что то лень.
|
Спасибо за ответ, но к сожалению так и понял основного что хотел узнать 
За основу я взял уже готового бота MHS и просто занимаюсь его доработкой, а этот бот, как ты знаешь, не сканируе всех мобов вокруг, а ведёт перебор исходя из задоного списка. Мне кажеться так даже быстрее получаеться, хоть иногда тупит с дистанцией, и движется не к самому близкому мобу.
Так вот, в при выборе моба не идёт проверка на занятось, а у меня никак не получаеться "вытянуть" достоверную инфу про занятость, потому как ты правильно заметил, значение "і" меняеться и результат соответствующий 
Если не тяжело напиши как ты проверяешь "занятость" моба в момент их перебора.
Плиз
|
|
|
11/19/2009, 14:22
|
#639
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Quote:
Originally Posted by Novohyd
 Кстати, про облет. Кто-нибудь пробовал без мауса активировать диалог с НПС?
|
Это спокойно делается через инжект кода. Так же можно, после долгих плясок, активировать разговор посредством замены определенных значений в определенных адресах памяти. Но последний вариант уж больно не продуктивен, ибо получилось лишь начать диалог, а продолжить – нет.
|
|
|
11/19/2009, 16:46
|
#640
|
elite*gold: 0
Join Date: Aug 2009
Posts: 70
Received Thanks: 18
|
vies1812 Я бы написал, но получается, что так будет еще запутаннее - я не пользуюсь меморипоинтреад, как в мхс, и посему мне прийдется коментировать каждую свою переменную. Просто исходи из того, что у тебя в массиве 768 мест для хранения характеристик мобов. Ты считываешь ячейку ИД с каждого места, и если она равна значению в цели - это как раз и есть искомый моб. Следующим действием считываешь ячейку с этого места, в котором хранится занятость моба (его таргет), да и другие интересующие характеристики тоже - допустим, можешь координаты посмотреть и подойти ближе - но это уже усовершенствования. А цикл можешь сделать любой - у меня do-until. В каждом круге цикла прибавляешь i на 1 (инкрементируешь) и считываешь, потом сравниваешь.
|
|
|
11/19/2009, 17:04
|
#641
|
elite*gold: 0
Join Date: Nov 2009
Posts: 11
Received Thanks: 2
|
Кстати о перелете по точкам, все можно сделать гораздо проще и при этом не ловить глюков с анимацией по достижении нужных координат и при ручном изменении маршрута:
Взлетаем:
ControlSend($APP_TITLE, "", "", "{F6}", 0)
Поднимаемся по Z:
Send("{SPACE DOWN}")
Sleep(2000)
Send("{SPACE UP}")
Дальше снимаем с ручника, записываем координаты и летим в указанную точку.
1. Write int 0 to done flag: [[[[[base] + 0x20] + 0xc10] + 0x30] + 0x4] + 0x8
2. Write float value 1 to X: [[[[[base] + 0x20] + 0xc10] + 0x30] + 0x4] + 0x20
3. Write float value 2 to Y: [[[[[base] + 0x20] + 0xc10] + 0x30] + 0x4] + 0x28
4. Write float value 3 to Z: [[[[[base] + 0x20] + 0xc10] + 0x30] + 0x4] + 0x24
5. Write int 0 to type: [[[[[base] + 0x20] + 0xc10] + 0x30] + 0x4] + 0x2c
Вопрос по автосбору ресов, нашел тут концепцию:
Quote:
2) walk to and forage mines/ressources/herbs:
[[[[[[Base Adress]+0x20]+0xBFC]0x30]+0x8]+0x20] (kind of "move to" id offset)
- freeze that to ur ressource ID (can be found here: [[[[[[[Base Adress]+0x8]+0x28]0x18]+i*0x4]0x4]0x10C])
- insert random (but valid) mop-id here [[Base Adress]+0x20]+0xA54
- do normal attack
--> char will go to mine/herb and forage it automatically
|
Но что-то сомнительный способ, отлавливать моменты когда рес на пути к каком либо мобу, ловить этого моба в таргет, посылать нормальную атаку, подменять ид моба на ид реса и только после этого, чар должен по пути к атакуемому мобу собрать рес.
Жесть вобщем то, пните в нужную сторону кто уже сделал автосбор, благодарность моя не будет иметь границ
|
|
|
11/19/2009, 17:30
|
#642
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Привет .. кто-то может подсказать - по координатам Бота что-то никак не вкурю ..
Global $OFS_X[3]
$OFS_X[1] = 0x20
$OFS_X[2] = 0x3C
$X = _MemoryPointerRead($BASE, $PROCESS, $OFS_X)
$LAB_X = GUICtrlCreateLabel("X = " & $X[1], 15, 605, 100, 20)
==>> получаю координату - например такого вида Х = 3302035011
заркнее благодарен ..
|
|
|
11/19/2009, 17:41
|
#643
|
elite*gold: 0
Join Date: Nov 2009
Posts: 11
Received Thanks: 2
|
Quote:
Originally Posted by origmas
Привет .. кто-то может подсказать - по координатам Бота что-то никак не вкурю ..
Global $OFS_X[3]
$OFS_X[1] = 0x20
$OFS_X[2] = 0x3C
$X = _MemoryPointerRead($BASE, $PROCESS, $OFS_X)
$LAB_X = GUICtrlCreateLabel("X = " & $X[1], 15, 605, 100, 20)
==>> получаю координату - например такого вида Х = 3302035011
заркнее благодарен ..
|
Вот так будет правильно:
Global $OFS_X[3]
$OFS_X[1] = 0x20
$OFS_X[2] = 0x3C
$X = _MemoryPointerRead($BASE, $PROCESS, $OFS_X, "float")
$X = 400 + $OFS_X[1] / 10
$LAB_X = GUICtrlCreateLabel("X = " & Int($X), 15, 605, 100, 20)
Формулы пересчета координат в нормальный вид:
$X = 400 + $OFS_X[1] / 10
$Y = 550 + $OFS_Y[1] / 10
$Z = $OFS_Z[1] / 10
Это все уже тут было.
|
|
|
11/19/2009, 17:45
|
#644
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
dokmlm
Quote:
Но что-то сомнительный способ, отлавливать моменты когда рес на пути к каком либо мобу, ловить этого моба в таргет, посылать нормальную атаку, подменять ид моба на ид реса и только после этого, чар должен по пути к атакуемому мобу собрать рес.
Жесть вобщем то, пните в нужную сторону кто уже сделал автосбор, благодарность моя не будет иметь границ
|
Указанный способ жонглирования значениями ячеек памяти, одно туда, запустить атаку, записать еще куда-нибудь – работает, но есть алгоритмы быстрее и надежнее. Смотреть стоит в область массива «действий», где записаны указатели всех основных операций чара… А имея эти указатели, легко заставить чара выполнять требуемое… и не только собирать рес.
P.S. Товарищи, обращаю внимание, что много полезной информации находится в PW_Mem_Table v2.xls: и нужные смещения, и массивы с указателями, и т.п.
|
|
|
11/19/2009, 17:49
|
#645
|
elite*gold: 0
Join Date: Nov 2009
Posts: 11
Received Thanks: 2
|
Quote:
Originally Posted by dwar
dokmlm
Указанный способ жонглирования значениями ячеек памяти, одно туда, запустить атаку, записать еще куда-нибудь – работает, но есть алгоритмы быстрее и надежнее. Смотреть стоит в область массива «действий», где записаны указатели всех основных операций чара… А имея эти указатели, легко заставить чара выполнять требуемое… и не только собирать рес.
P.S. Товарищи, обращаю внимание, что много полезной информации находится в PW_Mem_Table v2.xls: и нужные смещения, и массивы с указателями, и т.п.
|
Спасибо за пинок, но я как жопой почуял что нужно заглянуть в эту табличку, заглянул и сам пришел к подобному выводу. Уже занялся копанием.
|
|
|
All times are GMT +1. The time now is 19:13.
|
|