1 (изменено: Indomito, 2014-08-13 19:35:52)

Тема: Ответ участнику ice913

Так, по судя ни кто отвечать не хочет...
ice913 постараюсь ответить корректно в рамках правил форума для данного подраздела.

Отступление - поправка.

  • Я считаю что каждый вопрос достоин ответа, при условии что вопрос задан корректно в рамках данного ресурса, а это решает администратор, с.модератор, модератор, etc.

  • Вопрос нравится - не нравится, это личное.

  • Проблема поиска - дело опыта и схожа с постановкой вопроса, т.е. названием темы

ice913 Вот простой скрипт для автоповтора, хотя тут много чего лишнего, но я думаю и оно пригодится.

+ Sacred 2 Keys to AHK
;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance
OnExit, lEndSacred2

  keyAtt := "F6"
; chkExt := 1
; Тут запустить таймер проверки игры
  Hotkey, %keyAtt%,         lEmulAtack,              On
  fnTray()
  fEmulAtack  := False
  vDelayBase  := 25
  vDelayTwo   := 35
Return

lEndSacred2:
  ExitApp

#UseHook, On
#If WinActive("Sacred")
SetTitleMatchMode, 2
lEmulAtack:
  if (fEmulAtack)
      {
        Return ; Блокировка повторного входа
      }
    Else
      {
        fEmulAtack := True
      }
  Sleep %vDelayTwo%
  Send, {LCtrl Down}{LButton Down}
  Sleep %vDelayBase% 
    while (GetKeyState(keyAtt, "P"))
    {
      Sleep %vDelayBase%
        }
  Sleep %vDelayBase%
  Send, {LCtrl Up}{LButton Up}
  Sleep %vDelayTwo%
  fEmulAtack := False
Return
#UseHook, Off

#IfWinActive

fnTray()
{
global ;Установки трея для скрипта
    Menu1  := "Справка"
    Menu2  := "Выход"
    Menu, tray, NoStandard  ; меню в трее будет не стандартным - своим
      
      ;Добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu1%, AboutScript
      Menu, tray, add  ;Разделитель  
      Menu, tray, add, %Menu2%, lEndSacred2     
      
      ; Задаём свою выноску "балон"
      Menu, tray, tip, ——Обработка клавиш——`n        Для Sacred 2 Gold`n`nАвтор: Indomito©`n 
      ;: `n  - приложений `n  - игр `n  - и т.д. `n `n
;      Menu, tray, default, %Menu1%  ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
;      Menu, Tray, Click, 1          ; Переназначаем двойной на одиночный ЛКМ
Return
}

AboutScript:
  vMsgOptionsOK   :=0+4096+64
  txtHelp := "`n1. Клавиша F6 - сочетание Ctrl+ЛКМ с автоповтором."
  msgbox, % vMsgOptionsOK
          ,Sacred 2 Keys to AHK
          ,`n`n`nПерехват и виртулизация нажатий клавиш`n %txtHelp%
          ,25
Return

Теперь определение сканкодов
Вариант №1. Можно воспользоваться скриптом

+ VkScCode_64.ahk
;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance

 hHookKeybd := DllCall("SetWindowsHookEx"
  , Int, WH_KEYBOARD_LL := 13
  , Ptr, RegisterCallback("LowLevelKeyboardProc", "Fast")
  , Ptr, DllCall("GetModuleHandle", UInt, 0, "Ptr")
  , UInt, 0, "Ptr")
Return

^#ESC::
  ToolTip
ExitApp  

LowLevelKeyboardProc(nCode, wParam, lParam)
    {
      Critical
      SetFormat, Integer, H
      ToolTip, % wParam . "| vkCode: " . NumGet(lParam+0, 0, "UInt") . " scCode: " . NumGet(lParam+0, 4, "UInt")
                        . " Extended: " . NumGet(lParam+0, 8, "UInt") & 1 . " Time: " . NumGet(lParam+0, 12, "UInt")
      Return DllCall("CallNextHookEx", Ptr, 0, Int, nCode, Ptr, wParam, Ptr, lParam)
    }
return

Вариант №2. Можно воспользоваться поиском по ресурсу используя ключевое  слово - AhkSpy.ahk
В результате мы найдём многофункциональный скрипт заменяющий AU3_Spy.exe, который идёт в составе инсталятора AHK

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 10 x64 Pro(AutoHotkey v1.1.37.02)

2 (изменено: ypppu, 2014-08-13 22:11:17)

Re: Ответ участнику ice913

Вообще эта тема стара, как форум. В поиске нужно забивать "кликер" или "автоповтор" или "зажатие кнопки".

В результате находится следующий скрипт (или очень похожий):

LButton::
Loop
      {
         Send, {LButton}
         Sleep, 100
         If GetKeyState("LButton", "P") = 0
         Break
      }
   Return

И на его основе уже возможны вариации.

Jamper пишет:

Всем здрасте, честно искал на форуме подобную тему но не смог найти)

Я сделал вариант скрипта

RButton::
Send {sc013}
Sleep 10
Send {sc014}
Sleep 10
Return

По нажатию на правую клавишу мыши нажимаются с интервалом R и T, то есть одно нажатие один проход.

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

Заранее огромное спасибо)

Jamper, эта тема - клон.

3

Re: Ответ участнику ice913

Ответ участнику ice913

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

+ ОФФ:

Jamper, эта тема - клон.

Есть мнение, что это у ice913 разыгралась наконец то фантазия, Jamper - ого! Я ожидал - ice914.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: Ответ участнику ice913

Это точно не я)))

Indomito- Спасибо за данную тему. Но как я и писал в своей закрытой теме, вопросов стало ЕЩЕ больше.
Проблема в том, что я в этом полный НОЛЬ, я когда ее создавал, не был уверен, что я правильно вставляю слова "Макрос", "Скрипт".
ypppu - Так же спасибо.

5

Re: Ответ участнику ice913

ypppu пишет:

Вообще эта тема стара, как форум. В поиске нужно забивать "кликер" или "автоповтор" или "зажатие кнопки".

В результате находится следующий скрипт (или очень похожий):

LButton::
Loop
      {
         Send, {LButton}
         Sleep, 100
         If GetKeyState("LButton", "P") = 0
         Break
      }
   Return

И на его основе уже возможны вариации.

Jamper пишет:

Всем здрасте, честно искал на форуме подобную тему но не смог найти)

Я сделал вариант скрипта

RButton::
Send {sc013}
Sleep 10
Send {sc014}
Sleep 10
Return

По нажатию на правую клавишу мыши нажимаются с интервалом R и T, то есть одно нажатие один проход.

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

Заранее огромное спасибо)

Jamper, эта тема - клон.


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

6

Re: Ответ участнику ice913

Jamper, привет!
Я не могу найти твою тему.
Тебе овтетили?
"Истина где-то рядом!"

7 (изменено: serzh82saratov, 2014-08-14 21:08:56)

Re: Ответ участнику ice913

Когда нибудь эта тема закроется?


RButton::
    While GetKeyState("RButton", "P")  {
        SendInput {vk52}    ;  "R"
        Sleep 10                        
        SendInput {vk54}    ;  "T"
        Sleep 10    
    }
    Return

Коды и названия клавиш.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: Ответ участнику ice913

serzh82saratov пишет:

Когда нибудь эта тема закроется?

Не я создавал(. Но было весело!

9

Re: Ответ участнику ice913

serzh82saratov пишет:

Когда нибудь эта тема закроется?

не переживай, флуд и оффтоп так же вечны как и форумы.

К администрации Если в данной теме есть нарушения, то можно её закрыть, плюс -  ответы даны полностью и её развитие далее бессмысленно.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 10 x64 Pro(AutoHotkey v1.1.37.02)