1. BanDiTuK12.03.2025 в 12:15от
  2. D1zo12.03.2025 в 12:04от
  3. waiting12.03.2025 в 11:47от
  4. kenutary12.03.2025 в 11:37от
Загрузка...
Загрузка...

Автокликер с задержкой

Тема в разделе "Minecraft", создана пользователем Gr34cka, 07.08.2018.

  1. Gr34cka

    Gr34cka

    Статус:
    Оффлайн
    Регистрация:
    07.08.18
    Сообщения:
    5
    Репутация:
    3 +/-
    Привет, юхаковцам.
    Можно сделать автокликер с задержкой?
    Допустим, автокликер будет делать 14 cps с перепадами до 12 cps...
    14...14...13...12...13....14....14... Типа такого цикла.
     
  2. Freezzee

     yadi.sk/d/6Z4ySzCVh-ZZwA
    Freezzee

    Статус:
    Оффлайн
    Регистрация:
    25.02.18
    Сообщения:
    415
    Репутация:
    526 +/-
    Ты зажимаешь определенную кнопку
    Пока ее держишь идут нажатия с таймингом что ты указал
    Такое пойдет?
    Или нужно чтобы 1 раз нажал кнопку и пока снова не нажмешь кликало?
    Или как?))
     
  3. Gr34cka

    Gr34cka

    Статус:
    Оффлайн
    Регистрация:
    07.08.18
    Сообщения:
    5
    Репутация:
    3 +/-
    Проще всего будет, если я буду зажимать ЛКМ и будут эти тайминги.
    Буду благодарен, если сделаешь и скинешь исходники)))
     
    Последнее редактирование: 10.08.2018
  4. Freezzee

     yadi.sk/d/6Z4ySzCVh-ZZwA
    Freezzee

    Статус:
    Оффлайн
    Регистрация:
    25.02.18
    Сообщения:
    415
    Репутация:
    526 +/-
    Какой ужас
    Думал сейчас сяду пару строк напишу и все
    Ага...
    В итоге сам не справился,нашел в дебрях код,немного переделал под тебя
    Учитывая мои знания в кодинге (а их почти нет,ну то есть совсем),могу сказать что было непросто
    Все по справочнику языка + с форумов

    Язык - Autoit

    Код
    Код:
    #include <Misc.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    
    HotKeySet("{F7}", "Start") ;Start-Pause
    HotKeySet("+{F7}", "Quit") ;Выйти // + это shift
    
    $GUI = GUICreate("Кликер", 470, 115)
    $InpDownUp = GUICtrlCreateInput("", 5, 5, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", "5"))))
    GUICtrlCreateLabel("задержка в миллисекундах между нажатием и отпусканием кнопки мыши", 70, 5, 380, 20, 0x0200)
    $InpClicks1 = GUICtrlCreateInput("", 5, 30, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay1", "71"))))
    $InpClicks2 = GUICtrlCreateInput("", 65, 30, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay2", "84"))))
    GUICtrlCreateLabel("(От - До) задержка в миллисекундах между одиночными кликами", 120, 30, 380, 20, 0x0200)
    GUICtrlCreateLabel("F7  -  установка/снятие кликера с паузы", 5, 55, 230, 20, 0x0200)
    GUICtrlCreateLabel("Shift+F7  -  прекращение работы скрипта", 5, 80, 230, 20, 0x0200)
    $BtnStart = GUICtrlCreateButton("Готово", 300, 55, 100, 45)
    GUISetState()
    
    Do
      Switch GUIGetMsg()
        Case -3
          Exit
        Case $BtnStart
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", GUICtrlRead($InpDownUp))
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay1", GUICtrlRead($InpClicks1))
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay2", GUICtrlRead($InpClicks2))
          ExitLoop
      EndSwitch
    Until 0
    
    Global $DownUpDelay =  GUICtrlRead($InpDownUp)
    Global $ClicksDelay1 = GUICtrlRead($InpClicks1)
    Global $ClicksDelay2 = GUICtrlRead($InpClicks2)
    Global $Start = True
    GUIDelete($GUI)
    
    Do
      If $Start Then
        If _IsPressed("02") Then ;id кнопки,справка - http://autoit-script.ru/autoit3_docs/libfunctions/_ispressed.htm
          Do
             Global $ClicksDelay = Random($ClicksDelay1, $ClicksDelay2, 1);то самое генерирование рандом числа
            $tPoint = _WinAPI_GetMousePos()
            $hWin = _WinAPI_WindowFromPoint($tPoint)
            _WinAPI_ScreenToClient($hWin, $tPoint)
            RightDownUp($hWin, $tPoint.X, $tPoint.Y, $DownUpDelay)
            Sleep($ClicksDelay)
          Until Not _IsPressed("02") ;id кнопки,справка - http://autoit-script.ru/autoit3_docs/libfunctions/_ispressed.htm
        EndIf
      EndIf
      Sleep(10)
    Until 0
    
    Func RightDownUp($hWnd, $X, $Y, $Sleep = 0);
      _WinAPI_PostMessage($hWnd, $WM_RBUTTONDOWN, 0, _WinAPI_MakeLong($X, $Y));
      _WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_RBUTTONDOWN));
      If $Sleep Then Sleep($Sleep)
      _WinAPI_PostMessage($hWnd, $WM_RBUTTONUP, 0, _WinAPI_MakeLong($X, $Y));
      _WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_RBUTTONUP));
    EndFunc
    
    Func Start()
      $Start = Not $Start
    EndFunc
    
    Func Quit()
      Exit
    EndFunc
    
    Собственно,что и как:

    Когда открываешь программу (ссылку в конце дам) видишь это:

    Посмотреть вложение 27589

    На скрине я поставил значения,при которых у меня в доте был наилучший результат (проверил там)
    Очевидно,что без интервала

    1 поле - по описанию должно быть понятно
    2 поле - это сколько миллисекунд пройдет после полного нажатия,то есть после нажатия и поднятия кнопки мыши (виртуального),промежуток для которого мы выставили в первом поле

    Так как тебе был нужен интервал,я его добавил
    Ставить значения нужно в миллисекундах
    1 секунда = 1000 миллисекунд,дальше сам (12-14 cps это примерно 71 и 83 )

    Когда нажмешь кнопку /Готово/,у тебя рядом с прогой появится файл с этими значениями,чтобы при следующем открытии их не ставить
    Поставить клики на паузу - F7 (жмешь правую кнопку и клики не будут повторяться)
    Выключить прогу Shift+F7
    ОБЯЗАТЕЛЬНО ВЫКЛЮЧАЙ В КОНЦЕ | ПРОГА ВИСИТ В ТРЕЕ И ЕСЛИ МНОГО РАЗ ОТКРЫТЬ БУДУТ БАГИ
    Эти кнопки ты можешь сменить в коде сам,но лучше все же отпиши сюда

    По коду
    Там менять ничего не нужно,его можешь использовать лишь чтобы самостоятельно скомпилировать exe файл (делается в 2 клика,качай autoit,там поймешь)
    Но тебе это,я так понял,не нужно,вот держи закомпиленный файл

    https://files.fm/u/8bmwpw76

    Virus Total - https://www.virustotal.com/#/file/c...2ffe56ee649f1b3625de133cf9b4cc1842a/detection


    *Только эвристика,тут думаю все понятно,тем не менее код выше при компиляции выдаст тот же файл,так что как хочешь

    Если нужно будет сменить кнопку мыши с правой на левую - пиши тут,я подправлю там в коде
    *Очень надеюсь,что ты имел ввиду именно правую кнопку и мне не придется опять туда лезть)))

    Кстати говоря,спасибо
    Люблю копаться в таких темках,мало ли пригодится потом :good:
     
      tselujmenya, FUCKBOI, nzhdnchk и ещё 1-му нравится это.
  5. Gr34cka

    Gr34cka

    Статус:
    Оффлайн
    Регистрация:
    07.08.18
    Сообщения:
    5
    Репутация:
    3 +/-
    Я сам ничего не понимаю в кодинге, обратился на этот форум.

    Я имел ввиду лкм)))))))))))

    Может в ВК поговорим? Вопросы появились - https://vk.com/gre4chka
     
  6. Freezzee

     yadi.sk/d/6Z4ySzCVh-ZZwA
    Freezzee

    Статус:
    Оффлайн
    Регистрация:
    25.02.18
    Сообщения:
    415
    Репутация:
    526 +/-
    По просьбе автора версия с левой кнопкой мыши:

    Код:
    #include <Misc.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    
    HotKeySet("{F7}", "Start") ;Start-Pause
    HotKeySet("+{F7}", "Quit") ;Выйти // + это shift
    
    $GUI = GUICreate("Кликер", 470, 115)
    $InpDownUp = GUICtrlCreateInput("", 5, 5, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", "5"))))
    GUICtrlCreateLabel("задержка в миллисекундах между нажатием и отпусканием кнопки мыши", 70, 5, 380, 20, 0x0200)
    $InpClicks1 = GUICtrlCreateInput("", 5, 30, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay1", "71"))))
    $InpClicks2 = GUICtrlCreateInput("", 65, 30, 50, 20, 0x2000)
    GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay2", "84"))))
    GUICtrlCreateLabel("(От - До) задержка в миллисекундах между одиночными кликами", 120, 30, 380, 20, 0x0200)
    GUICtrlCreateLabel("F7  -  установка/снятие кликера с паузы", 5, 55, 230, 20, 0x0200)
    GUICtrlCreateLabel("Shift+F7  -  прекращение работы скрипта", 5, 80, 230, 20, 0x0200)
    $BtnStart = GUICtrlCreateButton("Готово", 300, 55, 100, 45)
    GUISetState()
    
    Do
      Switch GUIGetMsg()
        Case -3
          Exit
        Case $BtnStart
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", GUICtrlRead($InpDownUp))
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay1", GUICtrlRead($InpClicks1))
          IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay2", GUICtrlRead($InpClicks2))
          ExitLoop
      EndSwitch
    Until 0
    
    Global $DownUpDelay =  GUICtrlRead($InpDownUp)
    Global $ClicksDelay1 = GUICtrlRead($InpClicks1)
    Global $ClicksDelay2 = GUICtrlRead($InpClicks2)
    Global $Start = True
    GUIDelete($GUI)
    
    Do
      If $Start Then
        If _IsPressed("01") Then ;id кнопки,справка - http://autoit-script.ru/autoit3_docs/libfunctions/_ispressed.htm
          Do
             Global $ClicksDelay = Random($ClicksDelay1, $ClicksDelay2, 1);то самое генерирование рандом числа
            $tPoint = _WinAPI_GetMousePos()
            $hWin = _WinAPI_WindowFromPoint($tPoint)
            _WinAPI_ScreenToClient($hWin, $tPoint)
            LeftDownUp($hWin, $tPoint.X, $tPoint.Y, $DownUpDelay)
            Sleep($ClicksDelay)
          Until Not _IsPressed("01") ;id кнопки,справка - http://autoit-script.ru/autoit3_docs/libfunctions/_ispressed.htm
        EndIf
      EndIf
      Sleep(10)
    Until 0
    
    Func LeftDownUp($hWnd, $X, $Y, $Sleep = 0);
      _WinAPI_PostMessage($hWnd, $WM_LBUTTONDOWN, 0, _WinAPI_MakeLong($X, $Y));
      _WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONDOWN));
      If $Sleep Then Sleep($Sleep)
      _WinAPI_PostMessage($hWnd, $WM_LBUTTONUP, 0, _WinAPI_MakeLong($X, $Y));
      _WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONUP));
    EndFunc
    
    Func Start()
      $Start = Not $Start
    EndFunc
    
    Func Quit()
      Exit
    EndFunc
    Файл - https://files.fm/u/3vrf42ay
    Virus Total - https://www.virustotal.com/#/file/6...763d566b1cb793e68681c754852295c2744/detection
     
      `.Skillik и nzhdnchk нравится это.
  7. yump

    yump

    Статус:
    Оффлайн
    Регистрация:
    22.02.17
    Сообщения:
    222
    Репутация:
    168 +/-
    Чувак, что сейчас сделал этот кликер - респект тебе. Ты ведь мог пройти мимо и просто проигнорировать эту просьбу, но нет ты ему помог. Я даже немного в шоке
     
      Sereshka, SaintBrufer, MoneyFactory и ещё 1-му нравится это.
  8. Freezzee

     yadi.sk/d/6Z4ySzCVh-ZZwA
    Freezzee

    Статус:
    Оффлайн
    Регистрация:
    25.02.18
    Сообщения:
    415
    Репутация:
    526 +/-
    Ну,будем честны,я его не написал,а просто внес правки в готовый код
    Да,пришлось разобраться что за что отвечает (да и то,понял не все:mosking:),но это точно нельзя назвать написанием :blum3:

    А по факту,просто увидел слово автокликер,вспомнил,что есть программка где могу сделать подобное,начал пробовать,не вышло,но раз уж взялся,то до конца...
    Пара-тройка часов поисков привели меня к коду,дальше уже было проще,так как было от чего толкаться:good22:
     
  9. Gr34cka

    Gr34cka

    Статус:
    Оффлайн
    Регистрация:
    07.08.18
    Сообщения:
    5
    Репутация:
    3 +/-
    Огромное спасибо)))
     
      Freezzee нравится это.
  10. SAMADHI

    Оставайся всегда человеком
    SAMADHI

    Статус:
    Оффлайн
    Регистрация:
    08.08.18
    Сообщения:
    1.500
    Репутация:
    513 +/-
    кодера ему. xd)
    А так,молодец.Спасибо тебе
     
      Freezzee нравится это.