Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 22:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Rus. server

Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.

Reply
 
Old 10/30/2009, 15:29   #541
 
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
Люди добрые!!! Как я понял вы уже далеко ушли в "разборке" на запчасти PW.
Поэтому хочу попросить, если не тяжело напишите смещения для текущего и максимального значения ХП питомца который сидит в 1 клетке.
А то я в програмировании совсем нуб.
vies1812 is offline  
Old 10/31/2009, 03:09   #542
 
elite*gold: 0
Join Date: Aug 2008
Posts: 19
Received Thanks: 1
Ребят..Смещения это хорошо, но как обстоят дела с ботом для ПВ на данный момент?

Просто не могу подцепить ни одного,сам GNU'шный клиент юзаю...обычные настройки того же зеворка под форточку не подходят.
Вылоите пожалуйста либо оффсет свежий,дабы прицепить бота , либо расскажите , какую часть перепаять.
KOPC is offline  
Old 10/31/2009, 22:42   #543
 
sumikot's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 70
Received Thanks: 18
Ну раз я первый зашел, мне и флудить...

drShtain Если текст вызывает улыбку - он не является флудом
Насчет умного поста есть один глупый вопрос - не могу придумать, каким способом можно обходить препятствия. Могу включить в умения перса проходить сквозь них, если возникнет ситуация, с которой бот не справится. Допустим, прыгнул - не помогло. Движение вправо - не помогло... Проходим. Но это не выход. Могу еще сирену включить, чтоб ботовода разбудить (системный бипер, например). Это вообще жестоко.

maxim31153 А вот тут есть несколько выходов. Первый - скачать Autoit и начать читать форум полностью. Если будут какие то вопросы - всегда помогут те, кто будет в сети. Но для этого нужны какие то начальные знания. Второй - есть платные боты довольно неплохого качества. Найти их в сети нетрудно. Главное - не накачать вирусов на "левых" сайтах. Третий - подождать, может, все таки кто нибудь напишет что нибудь более путевое и выложит хотя бы для теста. Я собирался выложить, но меня напрягает то обстоятельство, что за это привлекли ботописателей в китае. И, наверно, надолго. Да и не готов мой бот еще...

vies1812 HP первого питомца BaseAdress+$20+$c24+$10+$38
Максимального нет. Может, оно где то и есть - не нашли. Можно при каждом считывании HP сравнивать его с MaxHP. Если HP больше MaxHP, присваиваем значение MaxHP. Вроде работает. Автор идеи FunkU.

KOPC Напиши, какие смещения ему нужны - не пользовался я этим ботом. Или гугли, если до сих пор еще не нашел.
Добавил: Не это?
[Perfect_World_Base_Address_In_Decimal]
Application_Title=Element Client
Base_Address=9925052
[Custom_32_Offsets_In_Decimal]
Target_OffSet=2664
MaxMP_OffSet=1176
MaxHP_OffSet=1172
MP_OffSet=1128
HP_OffSet=1124

Ну вот, нафлудился... Всем удачного фарма!
Тем, кто знает больше меня, над ответами не смеяться!!!
sumikot is offline  
Old 11/01/2009, 13:42   #544
 
elite*gold: 0
Join Date: Aug 2009
Posts: 6
Received Thanks: 0
Люди а Рево бот реально так же переделать как MSH ?
Tr1k is offline  
Old 11/02/2009, 00:15   #545
 
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
Если его исходники найдёшь. )
FunkU is offline  
Old 11/02/2009, 08:44   #546
 
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
To sumikot

Quote:
Originally Posted by sumikot View Post
Ну раз я первый зашел, мне и флудить...


vies1812 HP первого питомца BaseAdress+$20+$c24+$10+$38
Максимального нет. Может, оно где то и есть - не нашли. Можно при каждом считывании HP сравнивать его с MaxHP. Если HP больше MaxHP, присваиваем значение MaxHP. Вроде работает. Автор идеи FunkU.
Спабо за ответ, но к сожалению не всё так просто. Если перевести это смежение в десятичную систему то получаеться 3212, теперь забиваю это число в MHS-Bot-PW 2.3 вместо своего текужего ХП (это потому что в качестве бота друля, а она получет удары редко и хватает раз в 3 мин бафнуться своим бафом на ХП. А вот пета бьют порядочно а хилю я его наугад т.к. не вижу его ХП).
Так вот, забив 3212 в офсет.ини мне показывает значение ХП - 0 !!!! И не имеет значения выпустил я пета или нет. Ради интереса я вручную перебрал смещения от 3000 до 3300 и всё равно не вижу ХП пета, ни того что в первой клетке ни того что во второй.

Что я делаю не так, подскажи плиз.

В читэнжайне я вижу ХП пета, оно точно совпадает с тем что есть в игре, синхронно растёт или падает, в зависимости от того бьют пета или нет, но я к сожалению не умею перевести тот адрес что вижу в читэнжайне в смещение для MHS-Bot-PW 2.3
vies1812 is offline  
Old 11/02/2009, 10:33   #547
 
elite*gold: 0
Join Date: May 2009
Posts: 4
Received Thanks: 2
Quote:
Originally Posted by vies1812 View Post
Спабо за ответ, но к сожалению не всё так просто. Если перевести это смежение в десятичную систему то получаеться 3212, теперь забиваю это число в MHS-Bot-PW 2.3 вместо своего текужего ХП

Что я делаю не так, подскажи плиз.
Ленишься читать наверное. В этой теме уже несколько раз объяснялось что означают эти плюсики в смещениях.
BaseAdress+$20+$c24+$10+$38 читается так
adr1=[BaseAddr+$20]
adr2=[adr1+$c24]
adr3=[adr2+$10]
res0=[adr3+$38]

[xxx] - прочитать значение по адресу xxx.

Когда ты прописываешь в ini-файле смещение для HP перса, то оно нужно одно потому что BaseAdress+$20 общее для всех значений, связанных со структурой данных игрока и его смещение выглядит как BaseAdress+$20+$HPoffset. А здоровье пета зарыто на два указателя глубже. Вот и нестыковочка.
CrazyPill is offline  
Old 11/02/2009, 10:47   #548
 
elite*gold: 0
Join Date: Sep 2009
Posts: 9
Received Thanks: 1
vies1812, код должен быть примерно таким

Code:
global $pet[5]
$mob1[1]=20
$mob1[2]=c24
$mob1[3]=10
$mob1[4]=38
$PetHP= _MemoryPointerRead($APP_BASE_ADDRESS, $PROCESS_INFORMATION, $pet)
Skand is offline  
Old 11/02/2009, 11:13   #549
 
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
А чтоб вместо здоровья персонажа его вывести можно заменить стандартный массив в MHS. )

Global $OFFSET_HP[5]
$OFFSET_HP[1] = 20
$OFFSET_HP[2] = c24
$OFFSET_HP[3] = 10
$OFFSET_HP[4] = 38


Но это не очень хороший выход. Лучше сделать отдельный массив и отдельную функцию для лечения питомца.

Вот мой упрощённый пример:

В область объявления глобальных переменных добавляем это:
Global $PET_HP
Global $PET_MAX_HP
Global $PET_HP_PERC


В функцию UpdateCharInfo:
$PET_HP = _MemoryPointerRead($APP_BASE_ADDRESS, $PROCESS_MEMORY, $OFFSET_PET_HP)
If $PET_MAX_HP < $PET_HP[1] Then
$PET_MAX_HP = $PET_HP[1]
EndIf
$PET_HP_PERC = $PET_HP[1] / $PET_MAX_HP * 100
If $PET_HP[1] == 0 Then
$PET_HP_PERC = 0
EndIf


Добавляем новую функцию:
Func PetAutoHealCheck()
While Int ($PET_HP_PERC) < 80 And $HP[1] > 0
ControlSend($APP_TITLE, "", "", "{F1}", 0)
Sleep(1000)
UpdateCharInfo()
HPMPAutoPotCheck()
WEnd
EndFunc


И добовляем вызов этой функции куда-нибудь в функцию KillTarget.
FunkU is offline  
Old 11/02/2009, 11:54   #550
 
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
Спасибо всем за ответы, но это наверное моя вина что я сразу не сказал что я не програмист, и не пишу собственного бота, а хочу использовать уже существующего, и всё что мне нуно это цифирку которую нужно прописать в Custom_OffSets.ini (бот MHS-Bot-PW 2.3) чтобы выдавало значение ХП пета.
Если это возможно (а я уже начинаю сомневаться) напишите эту цифирку плиз.
vies1812 is offline  
Old 11/02/2009, 11:56   #551
 
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
В том то и дело, что это невозможно. Иначе тебе бы всё так не расписывали. )
FunkU is offline  
Old 11/02/2009, 12:19   #552
 
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
vies1812 is offline  
Old 11/02/2009, 12:26   #553
 
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
Качай AutoIt и делай, что я написал выше, потом компилируй и проверяй. Всё это очень просто делается. Программистом быть не надо, чтобы вставить что-то в код. )

Только массив надо задать так, чтоб всё работало:
Global $OFFSET_PET_HP[5]
$OFFSET_PET_HP[1] = 20
$OFFSET_PET_HP[2] = c24
$OFFSET_PET_HP[3] = 10
$OFFSET_PET_HP[4] = 38
FunkU is offline  
Old 11/02/2009, 14:22   #554
 
elite*gold: 0
Join Date: Oct 2009
Posts: 18
Received Thanks: 0
Перед тем как начну "колдовать" сразу возник вопрос
If $PET_MAX_HP < $PET_HP[1] Then
Но ведь мы нигде не задали чему равно PET_MAX_HP.
Его наверное надо в начале прописать что PET_MAX_HP=0
Я правильно рассуждаю?

И вопрос: а как организовать вывод значений "на экран"? Ну типа $LABEL_HP_STATUS. Где этот лейбл задать?

Сори если вопросы "тупые", но последний раз я "колдовал" на турбо-паскале и было это лет 15 назад
vies1812 is offline  
Old 11/02/2009, 15:44   #555
 
elite*gold: 0
Join Date: May 2009
Posts: 4
Received Thanks: 2
Quote:
Originally Posted by vies1812 View Post
Его наверное надо в начале прописать что PET_MAX_HP=0
Я правильно рассуждаю?
Верно, а говоришь 15 лет назад, на турбо паскале ;-)

Quote:
И вопрос: а как организовать вывод значений "на экран"? Ну типа $LABEL_HP_STATUS. Где этот лейбл задать?
Немного переделывал AutoPot под себя, вот там такую фигню с выводом инфы замутил на базе мелкого окошка, которое слева висит. Несколько страниц, Содержимое 0й страницы перетирает всё остальное. Смотрится код криво, ибо все значения забиты жёстко, но работает.
CrazyPill is offline  
Thanks
1 User
Reply




All times are GMT +2. The time now is 22:31.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.