Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: Dimka4369 on February 22, 2021, 09:06:58 PM

Title: дублирование мыши
Post by: Dimka4369 on February 22, 2021, 09:06:58 PM
Здравствуйте! Меня интересует, есть ли возможность дублирования мыши с помощью clickermann во 2 окно или в другую win?
Есть нечто нужное: https://www.youtube.com/watch?v=_8-JjlYYMUo
Но мне трудно разобраться в данной программе, а учитывая, что кликер может узнавать положение курсора и сам его перемещать, я думаю это возможно.
Заранее спасибо!
Title: Re: дублирование мыши
Post by: Космич on February 23, 2021, 04:52:37 AM
Почти как в видео.
Code: (clickermann) [Select]
#define #MK_LBUTTON:     0x0001

#define #WM_MOUSEMOVE:   0x0200
#define #WM_LBUTTONDOWN: 0x0201
#define #WM_LBUTTONUP:   0x0202

$arr_hwnd[0] = HGET(INT($_xmax * 0.25), INT($_ymax * 0.5))
$arr_hwnd[1] = HGET(INT($_xmax * 0.75), INT($_ymax * 0.5))

WNDGETINFO($arr_hwnd[0], $left, $top, $width, $height)

SETTHREAD(TH_DUP_MOUSE, 1)
   
WHILE(#TRUE)
   IF(ISKEYDOWN(1) = 1)
      $K = 1
      WHILE(ISKEYDOWN(1) = 1)
          WAITMS(1)
      END_CYC
      $K = 2
      WHILE($K = 2)
         WAITMS(1) 
      END_CYC
   END_IF
END_CYC

THREAD(TH_DUP_MOUSE, 0)
   $x = $_xmouse - $left
   $y = $_ymouse - $top
   SWITCH($K)
   CASE(0)
      SENDMESSAGE($arr_hwnd[1], #WM_MOUSEMOVE,   #NULL,       $x + ($y * 65536))
   CASE(1)
      SENDMESSAGE($arr_hwnd[1], #WM_LBUTTONDOWN, #MK_LBUTTON, $x + ($y * 65536))
   CASE(2)
      SENDMESSAGE($arr_hwnd[1], #WM_LBUTTONUP,   #MK_LBUTTON, $x + ($y * 65536))
      $K = 0
   END_SWITCH
   WAITMS(5)
END_THREAD

Если бы я не видел кода из видео, то я бы сделал примерно так.
Code: (clickermann) [Select]
$arr_hwnd[0] = HGET(INT($_xmax * 0.25), INT($_ymax * 0.5))
$arr_hwnd[1] = HGET(INT($_xmax * 0.75), INT($_ymax * 0.5))

WNDGETINFO($arr_hwnd[0], $left, $top, $width, $height)

STRSEPARATE("0:0x0200:0x0000:1:0x0201:0x0001:0:0x0202:0x0001:1:0x0200:0x0000", ":", $arr_state)

WHILE(#TRUE)
   $i = $state * 6 + ISKEYDOWN(1) * 3
   $state = $arr_state[$i]
   SENDMESSAGE($arr_hwnd[1], $arr_state[$i + 1], $arr_state[$i + 2], ($_xmouse - $left) + (($_ymouse - $top) * 65536))
END_CYC
Title: Re: дублирование мыши
Post by: Dimka4369 on February 23, 2021, 10:05:09 AM
"Почти как в видео."
Да, точно так же не понятно, как этим пользоваться :)
Надеюсь разберусь, спасибо большое!
Title: Re: дублирование мыши
Post by: Dimka4369 on February 23, 2021, 10:31:16 AM
Пытался привязать окно, как тут: https://www.youtube.com/watch?v=opRvArLJKuI
даже если я привязываю его к блокноту - "цвет 0"
Я хочу привязать к Vmware (виртуальная машина), как вариант можно включить "единый режим" и тогда окна другой винды будут в основной машине.
Единственное к чему у меня нормально привязывается кликер - это рабочий стол и панель задач. В остальных окнах после alt + W цвет меняется на 0
В чём может быть проблема?
Title: Re: дублирование мыши
Post by: Космич on February 23, 2021, 02:49:36 PM
"Почти как в видео."
Да, точно так же не понятно, как этим пользоваться :)
Надеюсь разберусь, спасибо большое!

https://youtu.be/LWrEYuWNQwk

Я хочу привязать к Vmware (виртуальная машина)
вот тут я вообще фиг знает, не пользовался
Title: Re: дублирование мыши
Post by: Dimka4369 on February 23, 2021, 04:56:57 PM
Попробовал скрипт. В паинте всё просто замечательно! Даже 2 паинта с разных win работают отлично. В видео сделал немного стрелочек и галочек. Вероятнее всего 3д приложения используют захват мыши?
https://youtu.be/XGDQF9CpI64
Title: Re: дублирование мыши
Post by: Dimka4369 on February 23, 2021, 05:28:54 PM
К сожалению другие варианты тоже не помогли...
Я восхищён вашим кодом, может вы попробуете эту тему:
http://crapware.aidf.org/forum/index.php?topic=5500.0
Title: Re: дублирование мыши
Post by: Космич on February 23, 2021, 06:06:39 PM
С изучением особенностей в играх не ко мне, я только с кодом могу помочь)
Title: Re: дублирование мыши
Post by: Dimka4369 on February 23, 2021, 06:11:41 PM
Дак вот мне и нужен код, у моих скриптов проблемы.
Суть: крутим камеру влево до определённой координаты, пусть будет 0 (желательно быстро), вправо до 1920, если в это время появится цвет 64503 зажать "1" на 1 сек и дальше крутить.
Вроде просто, но у меня возникают проблемы или я пишу код на 200+ строк
Title: Re: дублирование мужа
Post by: kiril on February 23, 2021, 08:40:20 PM
Вроде просто, но у меня возникают проблемы или я пишу код на 200+ строк
да хоть на +100500 строк, главное работоспособность, а не понты с размером кода.
Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 12:27:42 AM
К сожалению производительность моего кода очень маленькая (если вообще есть результат), поэтому и пишу сюда :)
Может тогда попробовать повторять 5 клавиш клавиатуры? Если не сложно добавляются, то желательно 11. QWEASD и 84620 на доп. клавиатуре, знаю я программы с перемещением курсора при нажатии циферок, поставлю на 2 винды и должно быть нормально. Даже не представляю возможно или нет, но если возможно - лучше 2 окно вообще не видеть, в фоне как-нибудь...
Title: Re: дублирование мыши
Post by: ya12 on February 24, 2021, 11:19:42 AM
Если игра защитой не прикрыта, попробуй поковырять ее память с помощью Cheat Engine.
Тебе нужно найти базовый адрес и смещение в котором расположен угол поворота камеры.

Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 02:28:21 PM
Вроде как "прикрыта". Файлы извлечь невозможно, мешающийся easy anticheat и я слышал за использование cheat engine дают бан. Можно конечно попробовать спрятать программу в виде чего-нибудь системного... Так то я использовал эту программу, но как реализовать "базовый адрес и смещение в котором расположен угол поворота камеры" понятия не имею. Как это можно вычислить?
Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 02:42:44 PM
Мне хотя бы кнопки дублировать, мышь подождёт, никуда не исчезнет. Идеально дублировать в окно, которое не видно на экране. Но если это сложно, то не нужно.
Title: Re: дублирование мыши
Post by: ya12 on February 24, 2021, 05:15:19 PM
В Настройки - Параметры отладчика : Использовать VEH отладчик (или отладчик в режиме ядра)
                    - Дополнительно : Процедуры обращения к региону памяти
                                                : Чтение/Запись Памяти Процесса

Выбрать процесс и найти 0, если с 0 не прокатит, то не известное значение (тип для 32х - 4 байт, float; для 64х - 4/8 байт, float/double).
Повернуть камеру влево или вправо, не изменяя угла наклона, сделать отсев изменившихся значений. Повторять до тех пор пока не останется не большое количество вариантов. В ручную не много изменить значение, если камера повернулась, значит нужный адрес найден.

Значение угла поворота лежит в диапазоне от 0 до +- X, где 0 это направление на одну из сторон света (север, юг, запад, восток) или прямо по курсу, а X - смещение от 0 вправо/влево (может принимать довольно большие значения, в одной игрушке при 360 градусном обзоре это значение равнялось -32000).

Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 05:53:52 PM
сам не запускал, но посмотрел: "easy anti cheat не может быть запущена при включенной отладки ядра" Большой шанс утраты аккаунтов, а прокачивать долго :(
(За ботоводство бан получить почти не реально, т.к. я занимаю все слоты (4) в pve режиме и модерировать такое количество боёв не возможно, мне так кажется)
Title: Re: дублирование мыши
Post by: ya12 on February 24, 2021, 06:11:45 PM
Проверку лучше делать на аккаунте который не жалко. А потом выждать время месяца 3-6. Если на форуме публикуются ники забаненых можно прикинуть с какой задержкой баны прилетают.
Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 06:22:41 PM
Да это понятно, но логи, всё такое, мне кажется проще просто кнопки клавиатуры дублировать (я проверил, кликер не управляет перемещением курсора эмулируя нажатия клавиш), можно запустить 2 кликера на разных win и при помощи скрипта например:
Code: (clickermann) [Select]
IF(ISKEYDOWN(#SHIFT) = 1)
   IF($s = 0)
MOVE($_xmouse+10, $_ymouse)
   END_IF
 
   $s = $s ^ 1
 
   WHILE(ISKEYDOWN(#SHIFT) = 1)
      WAITMS(30)
   END_CYC
END_IF
WAITMS(50)
(скрипт не мой, взял с форума. Немного изменил) Почему то надо кликать на shift а не зажимать, ну не важно, суть думаю понятна.
Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 07:07:45 PM
упростил скрипт до 4 строк на 1 кнопку и добавил другие:
Code: (clickermann) [Select]
IF(ISKEYDOWN(#L) = 1)
MOVE($_xmouse+10, $_ymouse)
   END_IF
WAITMS(10)
IF(ISKEYDOWN(#J) = 1)
MOVE($_xmouse-10, $_ymouse)
   END_IF
WAITMS(10)
IF(ISKEYDOWN(#K) = 1)
MOVE($_xmouse, $_ymouse+10)
   END_IF
WAITMS(10)
IF(ISKEYDOWN(#I) = 1)
MOVE($_xmouse, $_ymouse-10)
   END_IF
WAITMS(10)
IF(ISKEYDOWN(#U) = 1)
LCLICK($_xmouse,$_ymouse)
   END_IF
WAITMS(10)
IF(ISKEYDOWN(#O) = 1)
RCLICK($_xmouse,$_ymouse)
   END_IF
WAITMS(10)
L - вправо
I - вверх
J - влево
K - вниз
U - лкм
O - пкм
Аналог клавиатурной мыши
Title: Re: дублирование мыши
Post by: ya12 on February 24, 2021, 08:22:21 PM
На видео с 2 машинами, один клиент запущен в виртуалке, а второй клиент на хосте. Судя по видео фокус на окне с виртуалкой, окно на хосте не активно и поэтому стреляет перед собой. Попробуй сделать наоборот. Основной фокус на окно на хосте, а дублирование в виртуалку.
Title: Re: дублирование мыши
Post by: Dimka4369 on February 24, 2021, 08:42:30 PM
пробовал ещё тогда - даже не кликает на мышку
Я нашёл приложение, с схожим функционалом, проблема в том, что оно нагружает сеть и очень сильно зависает, мне нужно именно в онлайн режиме, как с мышкой. Нужен именно скрипт.
Title: Re: дублирование мыши
Post by: dramster on March 14, 2021, 12:01:41 AM
 Меня одно интересует, у тебя получилось дублировать действия мыши и клавиатуры с основной машины в виртуальную или нет?
 Или там есть спец функционал который работает не так как хочется? Чем всеже все закончилось?

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

 Интересует именно дублирование действий в вирт.машину.
Title: Re: дублирование мыши
Post by: ya12 on March 14, 2021, 10:09:33 PM
Как я понял у него случай обратный, активное окно - это виртуалка, а дублирует в не активное окно на хосте. Нажатие кнопок на мышке в не активное окно проходит, а перемещение мышки нет. Может код кривой, а может защита рубит.
Логичней было бы в виртуалке запустить второй КМ и передавать управляющие команды по сети или ковырять виртуалку.
Title: Re: дублирование мыши
Post by: selen on August 31, 2021, 02:09:33 AM
В моем случае скрипт Космича сработал только один раз после первого включения.Может есть еще варианты касаемо LBUTTONDOWN и_MOUSEMOVE?
причина в защите игры.Скрипт отличный,коротко и лаконично.