Author Topic: Оконный режим  (Read 7368 times)

0 Members and 1 Guest are viewing this topic.

Messiah86

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Оконный режим
« on: October 27, 2014, 12:03:08 AM »
Здравствуйте.
Извиняюсь за очередную клон тему. Подскажите пожалуйста, как можно закрепить кликер за оконным режимом клиенсткой игры(ММОРПГ), что бы иметь возможность работать в других приложениях и программах(фильм тот же смотреть).

На текущий момент имею такой примитив
LCLICK(370,410)
WAITMS(500)
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
KEYDOWN(#E)
WAITMS(60)
KEYUP(#E)
KEYDOWN(#F)
WAITMS(60)
KEYUP(#F)

АЛТ W  закрепляю, но перестает работать скрипт. Без закрепления кликера за окном  все вроде работает в безостановочном режиме.

Помогите, кто может. Мне с моим медицинским образованием  непередаваемо сложно.
Зы. и  я правда прочитал все 20 страниц форума на предмет решения данной проблемы -  и либо пояснения для меня чересчур сложные либо то что я пытаюсь сделать не помогает.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Оконный режим
« Reply #1 on: October 27, 2014, 01:15:16 AM »
попробуй так:

Code: (clickermann) [Select]
$HWND = wndfind("заголовок твоего окна")//либо впиши HWND вручную
$KEYDOWN = 0x0100
$KEYUP = 0x0101

$f = 0x46
$r = 0x52
$e = 0x45

LCLICK(370,410)
WAITMS(500)
POSTMESSAGE ($HWND, $KEYDOWN , $r , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $r , 0 )
POSTMESSAGE ($HWND, $KEYDOWN , $e , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $e , 0 )
POSTMESSAGE ($HWND, $KEYDOWN , $f , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $f , 0 )


если  LCLICK(370,410) небудет срабатывать, то придется еще дописать

Code: (clickermann) [Select]
$HWND = wndfind("заголовок")
$KEYDOWN = 0x0100
$KEYUP = 0x0101
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$MK_LBUTTON = 0x0001

$x = 370//координаты твоего клика, перепроверь их с привязкай, так как координаты будут одти от угла окна а не экрана
$y = 410

$f = 0x46
$r = 0x52
$e = 0x45

POSTMESSAGE ($HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x + ($y*65536))
POSTMESSAGE ($HWND, $WM_LBUTTONUP, $MK_LBUTTON, $x + ($y*65536))
WAITMS(500)
POSTMESSAGE ($HWND, $KEYDOWN , $r , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $r , 0 )
POSTMESSAGE ($HWND, $KEYDOWN , $e , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $e , 0 )
POSTMESSAGE ($HWND, $KEYDOWN , $f , 0 )
WAITMS(60)
POSTMESSAGE ($HWND, $KEYUP , $f , 0 )

quant13

  • Активный участник
  • ***
  • Posts: 174
    • View Profile
Re: Оконный режим
« Reply #2 on: October 27, 2014, 01:28:08 AM »
чет много сложностей
1.привязываешь кликер к окну
2.редактируешь скрипт, чтоб попадали нажатия мыши по новым координатам(после привязки к окну меняется координатная сетка. 0,0 это больше не верхний левый край экрана, а край окна.
3.запускаешь и все работает

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Оконный режим
« Reply #3 on: October 27, 2014, 01:37:49 AM »
чет много сложностей
1.привязываешь кликер к окну
2.редактируешь скрипт, чтоб попадали нажатия мыши по новым координатам(после привязки к окну меняется координатная сетка. 0,0 это больше не верхний левый край экрана, а край окна.
3.запускаешь и все работает
везет тем людям у которых всё так просто, но при привязке у многих проблемы, и у каждого разные. человек так и написал, что скрипт перестает работать, и дело скорее всего не в координатах(хотя возможно и в них :D), так как основное в нем это нажатия кнопок клавиатуры. поэтому эти нажатия можно посылать напрямую окну с помощью POSTMESSAGE.
можно конечно поэкспериментировать еще с чемнибудь.....например с #ps2_keyboard#ps2_mouse.
« Last Edit: October 27, 2014, 01:41:44 AM by dramster »

Messiah86

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Оконный режим
« Reply #4 on: October 27, 2014, 03:41:39 AM »
Спасибо большое за оперативный ответ.
Но в описанном первом варианте - прожимает только клик лев кнопкой мыши, не прожимает непрерывно кнопки ЕRF, и не дает свернуть окно клиента.
А во втором примере -  окно свернуть дает, но персонаж стоит истуканчиком ничего не предпринимает, окно клиента при этом мерцает на черный цвет.
Может я что не так выполняю - АЛТ + W не приписывал окну( тк. на сколько понял - автоматически выберет окно), с помощью лупы вроде определил в оконном режиме координаты - и перенес куда указано было

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Оконный режим
« Reply #5 on: October 27, 2014, 11:41:36 AM »
Спасибо большое за оперативный ответ.
Но в описанном первом варианте - прожимает только клик лев кнопкой мыши, не прожимает непрерывно кнопки ЕRF, и не дает свернуть окно клиента.
А во втором примере -  окно свернуть дает, но персонаж стоит истуканчиком ничего не предпринимает, окно клиента при этом мерцает на черный цвет.
Может я что не так выполняю - АЛТ + W не приписывал окну( тк. на сколько понял - автоматически выберет окно), с помощью лупы вроде определил в оконном режиме координаты - и перенес куда указано было
привязывать окно альтв нужно во всех случаях(если конечно ты этого хочеш), вопрос в том, что именно у тебя неработает при привязке, - лкм или отправка постмесадж лкм напрямую, нажатия кнопок  или отправка команд этих нажатий напрямую(постмесадж). как только привяжеш окно, только тогда нужно смотреть координаты кликов, (если ты уходиш за пределы привязаного окна, то в редакторе км кооодинаты будут подсвечиваться красным). сворачивать окно нельзя(может не во всех случаях), окно просто можно переместить на задний план, или переместить за пределы рабочего стола(это , возможно, и не во всех случаях), тоесть у тебя работает бот, а поверх окна клиента ты занимаешся сваими делами(смотриш фильм).

Messiah86

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Оконный режим
« Reply #6 on: October 27, 2014, 01:03:26 PM »
Ага становится чуть понятнее. Еще раз спасибо за помощь.

Попробовал приведенные примеры для блокнота, привязал окно.  Задал координаты 10-10 в оконном режиме.  И если я правильно понял скрипт то он должен был выставить курсор на начало страницы и бесконечно вводить набор букв ERF  -  но для 1 -го варианта решения моей проблемы просто выставляет курсор; для 2-го вообще не задействует окно блокнота.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Оконный режим
« Reply #7 on: October 27, 2014, 01:50:28 PM »
Привязывание к блокноту по заголовку не вариант. Поле ввода имеет другой HWND
Только вписывать номер или искать по HGET
keydown keyup посылают отдельные нажатия... неправильные параметры lParam


Messiah86

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Оконный режим
« Reply #8 on: October 27, 2014, 03:17:33 PM »
Ох, что то совсем потерялся в вопросе уже.
Не понимаю почему, использую уже приведенные вами(значит верные)  варианты не подходят к моему клиенту( Невер онлайн).
По сути на текущем примитивном уровне хочется, что бы был однократный клик лев мышью по заданной точке и затем последовательное нажатие 3-х кнопок, и все это в бесконечный цикл в оконном режиме, с возможностью работать на других программах.
Большая благодарность тому кто поможет разобраться.
 

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Оконный режим
« Reply #9 on: October 27, 2014, 03:39:07 PM »
 давай начнем с начала, откраваеш клиент, привязываеш его с помошью альтв и наведенной мышки на окно клиента, вписываеш LCLICK (x, y) и HALT в скрипт, вводиш какиенибудь координаты из игры(там где есть кнопка), поверх окна клиента(клиент я надеюсь в оконном режиме, не в фулскрин)  сунеш какоенибудь другое окно, например браузер, так чтобы небыло видно клиента игры. высовываеш кликермена и нажимаеш плей. сворачиваеш браузер и смотриш, нажалась ли эта кнопка.

сначало разберемся с кликам, потом будем разбираться уже с кнопками клавы.