Что нового

Пишу бота для Zhu Xian (Celestial Destroyer, Jade Dynasty)

Sirioga

Новичок
Сообщения
48
Репутация
7
Пишу бота для zx, это игрушка на движке perfect world, поэтому решил не париться и взять за основу MHS бота, офсеты вычислил, забил их, и сразу столкнулся с проблемой, клиент zx не хочет воспринимать нажатие клавиш с помощью ControlSend(), недолго думая решил попробовать ControlClick, всё работает, но дальше веселее... Клавиша Tab в zx ищет ближайший таргет. Порывся по инету нашел решение задачи с нажатиями клавиш, но опять таки не посылает нажатие клавиш в неактивное окно, поэтому решил даже не пробовать. Проблема как перебирать таргет остаётся открытой, если есть у кого какие соображения по этому поводу, отпишитесь пожалуйста.
(ZBot ведь как-то перебирает таргет в неактивном окне :wacko:smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Я ZX увы никогда не сталкивался и впервые про эту игру слышу вобще, но хотелось бы ссылочку на решение отправки клавишь в защищенное от этого окно. Если не сложно :smile:
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
Не сложно, вот ссылка...
http://www.skillfaker.com/forum/tutorials/tutorial-sending-keys-to-jade-dynasty-window-minimized-t679.html
Но только там это реализуется не методами AutoIt.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Спасибо. Добавил в избранное для последующего изучения :smile:
 

XevaloO

Чайник
Сообщения
28
Репутация
1
Имхо этот метод не решает и половины проблемы. Как ваапще кликать эти кнопки? только по ожиданию? а если там сбивают, станят, сайленсят?
Короче это не решение! Иии из того что я прочитал, сделать бота для свернутой игры типа ПВ, не получицца, ибо нужно определять смерть монстра/ждать пока здоровье/мана восстановятся, а как это сделать, как не графическими методами? Мне кажется, ты пытаешься делать примерно тоже, что и я сейчас, так вот моим скудным умом я дошел до идеи посылать все команды в игру через порт клавиатуры, как это делать можно прочитать тута
http://www.programmersforum.ru/showthread.php?s=c3eb74125c36180d953ff7e9db7d7949&t=58589
иии еще вот тута
http://www.95.ru/viewtopic.php?t=1416&sid=c4485d8a24b4162907fb4f6d8293d882
как это делать в автоите написанно тут
http://autoit-script.ru/index.php/topic,50.30.html
Пы.Сы. если ты решишь пойти этим путем, пиши мне давай кооперироваться! В двоем все быстрее придумаем как енго одолеть=)
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
XevaloO сказал(а):
Имхо этот метод не решает и половины проблемы. Как ваапще кликать эти кнопки? только по ожиданию? а если там сбивают, станят, сайленсят?
Короче это не решение! Иии из того что я прочитал, сделать бота для свернутой игры типа ПВ, не получицца, ибо нужно определять смерть монстра/ждать пока здоровье/мана восстановятся, а как это сделать, как не графическими методами?
Имхо писать графического бота для этой игры, бред, просто косяк с посылкой клавиш в неактивное окно, в остальной части всё отлично, вскрывается и находиться так же как и в perfect world :ok:
Спасибо за ссылки! +
 

XevaloO

Чайник
Сообщения
28
Репутация
1
А как он выглядит, не графический бот? До мнуего мозгу это не доходит :'(. Ну вот я тот же бот, но мб с расширенными опциями :D, а как играть с выключенным монитором не врубаюсь, по идее можно сделать звукового бота(экая аццкая весч до меня дошла, не трогайте её, йа запатентую! ;D) там ореентироваться по тому, издал ли монстер предсмертный крик, слышны ли удары моего топора по тушке, али просто разрезают воздух.
Можешь объяснить концепцию твоего бота?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Графические боты это так сказать тупиковая ветвь развития индустрии ботов к которой обращаются в том случае когда никакие другие методы не помогают. В частности в отличных от евы ммо играх в большинстве случаев можно личить информацию из памяти процесса, парсинга пакетов. Если есть возможность использовать что-то кроме графики то лучше не упускать возможности.
 

XevaloO

Чайник
Сообщения
28
Репутация
1
http://autoit-script.ru/index.php/topic,274.0.html
Йа тебе удивляюся, сам столько объяснял парню, что его за это покараютЪ, а тут про вымирающий вид...
И уфигачить всех, кто подключается к процессу для владельцев онлайн игры не так уж сложно, просто для каких-то игр возможно еще не настал тот момент, когда владельцы начинают считать, что это приносит серьезный вред их баблопотоку.
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
XevaloO сказал(а):
http://autoit-script.ru/index.php/topic,274.0.html
Йа тебе удивляюся, сам столько объяснял парню, что его за это покараютЪ, а тут про вымирающий вид...
:laugh:
$PID = ProcessExists("pwprotector.exe")
If $PID Then ProcessClose($PID)
А вообще pwprotector.exe для защиты у устрашения народа, сам он никакую инфу не отправляет никуда, сомневаюсь что он её вообще соберает. Никто тебя банить не будет до тех пор пока ГМа за ручку не приведут посмотреть как нехороший человек стоит на боте да и внешне это похоже на обычного Kozo или как оно там на других серверах называеться (Kozo - это встроенный в клиент бот...так сказать легальный, но и всё же хочешь его юзать плати золотыми монетами за специальный айтем ;D )
А вот когда что-то в лесу здохнет, Perfect World Co LTD займёться защитой своих детищ и pwprotector.exe станет мощьным "гейм гвардом", совсем неотъемлемой частью игрового клиента, тогда можно будет задуматься о графических ботах, а до тех пор, просто следить за новостями.
 

vovsla

Осваивающий
Сообщения
546
Репутация
26
да, брать значение из оперативы было бы очень хорошо, но...
1)сначала нужно вычислить где сидит значение, а это порой не легко т.к. они могут лежать не в явном виде, а записаны наоборот или умноженные на 2 или умноженные на 2 и записанные наоборот.
2)адрес значения в оперативе может быть денамический, т.е. при каждом новом запуске игры он будет лежать в по новому адресу

и кстати графическим ботам тоже жить не дают, например на L2 руофф есть гейм гвард который блокирует доступ к окну - в окне всё одним цветом 0ХFFFFFF и мышка не двигается дальше внешних границ окна
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
1)сначала нужно вычислить где сидит значение, а это порой не легко т.к. они могут лежать не в явном виде, а записаны наоборот или умноженные на 2 или умноженные на 2 и записанные наоборот.
Я уже вычислил, и написал об этом в первом посте, никаких сложностей не испытывал. В следующий раз придется вычислять уже после обновления elementclient`а.

2)адрес значения в оперативе может быть денамический, т.е. при каждом новом запуске игры он будет лежать в по новому адресу
Да, адрес чего-либо не сидит на месте но ведь есть поинтеры и по ним всё прекрасно просматривается, я пока не жалуюсь.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
господа, а не мог бы кто-нибудь предоставить ссылку на информацию о том как эти самые поинтеры искать и вобще работать с памятью? Очень хотелось бы почитать если вам не трудно
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
ссылку, даже не знаю, лично мне это дело объясняли своими словами.

[box title=Принцип нахождения]
base=edi+$N=esi+offset=address

base - базовый адрес
edi - значение базового в хексе
$N - то самое смещение от edi до esi
esi+offset = Адрес значения.
[/box]

Для реализации на AutoIt номад_мемори поможет.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Спасибо, потом подробнее рассмотрю Чит Энджин, я конгда для аллодов писал бота на бетатесте почему-то остановился на софтине Detective Story, там с оффсетами вроде бы нет никакой радобы, поэтому каждый раз ручками искал данные. Не помню почему именно, но вроде бы Чит Энджин не мог подключиться к процессу аллодов.
 
Автор
S

Sirioga

Новичок
Сообщения
48
Репутация
7
Belfigor сказал(а):
вроде бы Чит Энджин не мог подключиться к процессу аллодов.
На самом деле у СЕ очень много методов обнаружения процессов можно даже выбрать от какого окна отталкиваться если процесс не доступен, либо создать процесс самим СЕ.
 

XevaloO

Чайник
Сообщения
28
Репутация
1
Посмотрел я, как следят в АО за памятью, да там так же не особо её счас защищают, но в неё встроена фихня, которая по запросу высылает лог подключений и игровому процессу в ходе текущего сеанса. И это мну пугает :-X. А как дела с твоим ботом в Zhu Xian?
 
Верх