Rus. server

12/25/2009 16:11 origmas#1126
Quote:
Originally Posted by Novohyd View Post
Странно...
там заложен механизм чтения из памяти значенй и запись (в область данных) - ты добейся пока с одним окном клиента, чтоб правильно считывалось каждое значение, проверяй его - неправильно оно может считаться и дальше использоваться при несовпадении типов данных ..
BYTE - 1 байт, WORD - 2 байта, DWORD - 4 байта - причем это все только положительные значения, а INT - тоже 4 байта но и отрицательные значения может принимать. Потом - у меня например все правильно определял. Может где ты че изменил. Ты не обязан использовать точно так как есть - можешь все переделать по своему - как ты понимаешь.
Но механизм там - правильный, порядок действий тоже..

насчет 99% и 101% не должно там быть ..
CharHP, CharMxHP и CharPrHP - попробуй объявить как DWORD // поэтому .. наверное
я объявлял как float для другого элемента управления Прогресс-Бар - он FLOAT использовал ..
а стандартный использует int переменную - и когда числа с точкой ему присваиваешь - он их округляет до ближайшего целого ..
m_cPrHp.SetPos(static_cast<int>(CharPrHP)); - тут можно скорректировать.

по поводу определения мобов на территории - посмотри в настройках - Радиус боя и по XY и по Z, уровень Мобов точнее укажи для своего перса, может там нули у тебя ..
полюбому находит всех в локации NPC, монстров, Петов.
а для себя - определяет ближнего монстра, - подходящего по настройкам и если он не занят.
- галочка "Помогать другим" в настройках если будет стоять то в код надо добавить - обход проверки на занятость моба - может это потребуется кому ..
- даойная атака - это у меня в др. проекте используется - там поединок с 2 (с 3-мя тоже можно)
сразу - происходит переключение целей попеременно при этом контролируется свое здоровье - и здоровье двух противников (вот почему нужна скорость кода) в этот момент если используется Пет - он ставится в режим охраны - сам клиент уже будет помогать нам в бою, и из этого режима ему подаются команды атаки 1-го - 2-го 3-го смотря кого надо в данный момент. После атаки он автоматом возвращается защитить вас, переключается на вашу цель, а вы в это время атакуете другого или собираете Лут у первого. Во время боя проверяется и здоровье Пета - может его надо подлечить. Заранее перед всеми атаками назначается контрольная точка для медитации (с легким заходом на нее может быть возвышенность или граница локации) и в поединке при очень плохих делах - Перс отходит на нее, Пет доделывает начатую атаку и отзывается чтобы защищать перса при медитации.. причем Пет и Перс перебирают свои умения по времени их перезарядки, используя самые мощьные по величине ущерба как своему так и противника - если монстру уже сдыхать скоро - выбирается более легкое умение (чтобы не тратить энергию вхолостую). Перекрестная атака - это реальная вещь - так прокачка происходит в 2-3 раза быстрее, даже если учитывать время медитации.
12/25/2009 20:03 Biga73#1127
вобщем я понял, выходит друля на запад гд, включается эта приблуда ( на приблуде одна кнопка - КРАСНАЯ - круглая и большая ), в гч объявляется - ПИПЕЦ ВАМ ВСЕМ !!! нажимается на кнопку и АРМАГЕДДОН !!!!!!
12/25/2009 20:07 user933#1128
Ich will auch Rüssich könen xD

Privet!
12/25/2009 20:33 moob1#1129
Quote:
Originally Posted by user933 View Post
Ich will auch Rüssich könen xD

Privet!
Vodka & Balolaika :)
12/25/2009 20:37 origmas#1130
Quote:
Originally Posted by moob1 View Post
Vodka & Balolaika
& ARMAGEDON !!!
12/25/2009 20:41 silkytail#1131
MEDVEDI USHANKA ! :D
12/26/2009 08:29 muzhig#1132
SPUTNIK STALIN MUZHIG)))))
Quote:
"Хочу знать кто в локе!"
Code:

var
aPlayersArray: TaPlayersArray;
begin
aPlayersArray := aPWT.GetLocationPlayers(aPWWindow.aProcessID);

"Хочу прыгнуть!"
Code:

aPWT.Jump(aPWWindow.aProcessID);
А я указатель на процесс закладываю в экземпляр класса.
Потом делаю PW.Attach(WinTitle) и больше нигде не фигурирует ни хендл окна, ни процесса)))

Quote:
Бота все еще не написали ?
Ну я пока написал интеллектуальный сбор ресов и лута. Полет по заданной траектории, которую можно сначала записать (например пролететь по тем злачным местам где ресы есть, круг намотать, облетая препятствия как полагается)
Я прям в шоке был, когда это все таки получилось))) так красиво летает, в точности повторяя движения- ваще не палится что бот))

Кстати, я пошел тернистым путем-решил сделать бота многопоковым- но результат на лицо:

Один поток главный- управляет логикой, ищет самые актуальные цели для атаки/сбора/следования/бафания в соответствии с режимом, управляет остальными потоками.
Другой поток отслеживает показатели персонажа, обновляет списки мобов/лута/ресов/игроков. Высчитывает действительную скорость перемещения.
Еще один следит за здоровьем и маной. Пьет банки. Ресается в ближайшем городе при смерти.
Один поток управляет полетом/бегом к заданной точке, следит чтобы перс не застрял. Например, при полете на дальние расстояния набирает высоту повыше, а если цель рядом- просто летит напрямик итд
Еще один следит за ЧС: например, напал моб, лвл которого сильно превосходит лвл игрока. или критический уровень здоровья. или напало сразу три моба. или сломалось оружие. итд итп. на каждый случай есть заданное поведение- например подпрыгнуть дважды, включить полет и взлететь повыше, подождать пока мобы оторвутся или здоровье восстановится, после чего вернуться к ближайшей точке.

вот так вот. Не все так плохо)))
Правда еще многому нужно научить его и самому научиться)) Но основа заложена уже оочень масштабная.

Есть еще идея, сохранять настроенный экземпляр бота с привязкой под ID перса - потом при появлении Element Client проверять ID, если под него есть настройки- сразу их загружать, переименовывать окно под имя персонажа, и создавать новый экземпляр в режиме ожидания.

Таким образом реализовывается мнокооконность.
А благодаря многопотоковости- параллельность работы экземпляров бота. и все в одном окне.

Так же есть отличная идея их слаженной работы-например три фармят, один хилит и бафает.

Если один из эксемпляров не стартовать, а просто приаттачить к окну,а второй стартануть в режиме хилера, то получится бот-компаньон. Типа смурфита, только мой прист наконец будет улетать повыше, когда на него нападают мобы.
(собственно именно эта досадная ошибка и заставила меня писать своего)) )

ЗЫ: фигасе я отписал)))
12/26/2009 08:37 AlexGD#1133
Мужик. Я специально сделал с передачей процессИД. Написяно ж "Код специально написан очень просто, зачастую в ущерб оптимизации". Как можно видеть из кода - можно объект никуда не вязать, а тупо вызывать функции напрямую.
12/26/2009 08:50 muzhig#1134
AlexGD, плюс тебе по любому)))))
++++++++++++++++++++++
12/26/2009 09:29 Nicholas1994#1135
А есть ли бот для гео?
12/26/2009 10:07 Biga73#1136
гео... уже есть я чуствую бот для фарма иксов и это не предел ! на нем тока одна кнопка XX - нажимаешь на нее, бот кудато убегает, и через полчаса возвращается с ресами !
12/26/2009 11:42 BuBucekTop#1137
Quote:
Originally Posted by muzhig View Post
Что то я не в теме.. что за гео?
Квест "Вилла за потеряную брошь" - ежедневка для неабора экспы на 70+
12/26/2009 12:35 muzhig#1138
Где то видел пост про то как определить, чей лут.. но теперь никак не могу найти среди всего флуда.. кто нибудь помнит может?
12/26/2009 13:15 Sajaz3#1139
Привет, подскажите есть флай хак для 95й версии ПВ`?
12/26/2009 14:11 origmas#1140
muzhig

Хорошая идея про многопоточность, наверное чтобы ее реализовать ты 3-4 DLL-ки в процесс закидываешь разными потоками запускаешь функции этих библ. Хотел-бы узнать - поток можно не останавливать когда отработает функция - он че не разрушится ??? А как тогда по новому этим потоком запустить эту-же функцию ..?
... блин - чем дальше в лес - тем больше дров ..
полюбому ты молодец ..