1 (изменено: Malabar1337, 2016-12-11 10:17:29)

Тема: Помогите забиндить пожалуйста..

Вообщем хочу забиндить на пробел прокрутку колесика вверх с залепанием,то-есть сколько пробел держишь столько он и крутит.Чтобы скрипт примерно был таким.

Bhop:
*~$Space::
Sleep 50
Loop
{
GetKeyState, SpaceState, Space, P
If SpaceState = U
break
Sleep 5
Send, {Blind}{Space}
}

2 (изменено: Indomito, 2016-12-11 03:17:50)

Re: Помогите забиндить пожалуйста..

Malabar1337 Код надо заключать в  тег [ code] [ /code] и не забывать ставить точки в конце предложения. также требуемые пробелы.

Правила создание темы. Правила оформления поста.

Крайне нежелательно отвечать в темах, оформленных неправильно!

Готовый код дам после внесение твоих поправок.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

3 (изменено: Malabar1337, 2016-12-11 10:22:14)

Re: Помогите забиндить пожалуйста..

a

4

Re: Помогите забиндить пожалуйста..

Indomito
щас поправлю

5

Re: Помогите забиндить пожалуйста..

Indomito Я поправил.

6

Re: Помогите забиндить пожалуйста..

Indomito
Дайте   код,пожалуйста

7

Re: Помогите забиндить пожалуйста..

Indomito пишет:

Готовый код дам после внесение твоих поправок.

Вы тут?

8

Re: Помогите забиндить пожалуйста..


space::
settimer,on_space_down,100 ; задает тики перехода (label) в данном случае каждые 100милисикунд
keywait,space,up
settimer,on_space_down,off
return

on_space_down: ;тот самый переход
Send {wheelup}
return

Уже ведь спрашивал! Будь образованнее , это толковый форум , меня тут один раз уже банили , очень сильно пожалел .

9 (изменено: Indomito, 2016-12-11 19:27:31)

Re: Помогите забиндить пожалуйста..

Malabar1337

Вот наиболее оптимальный код.

;Скрипт не выгружается до явного определения.
#Persistent
;Запрет повторного запуска - разрешён.
#SingleInstance  Force

;*****Начальные установки*****
keyBhop := "Space"
keyBhopExit := "Ctrl & Space"
HotKey,  %keyBhopExit%, lblBhopExit, On
HotKey,  %keyBhop%, lblBhop, On
Return

;*****Резидентная часть скрипта*****
lblBhop:
tmp_ThisHotkey := A_ThisHotkey
HotKey,  %keyBhop%, lblBhop, Off ;Защита от повторного входа
While (GetKeyState(tmp_ThisHotkey, "P"))
  {
    Sleep 50
    Send {WheelUp}
    Sleep 25
  }  
HotKey,  %keyBhop%, lblBhop, On
Return

;*****Точка выхода/завершения скрипта*****
lblBhopExit:
ExitApp

cahtbap1
А зачем таймер то?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

10

Re: Помогите забиндить пожалуйста..

Indomito
Спасибо,а можно чтобы быстрей крутилось?

11

Re: Помогите забиндить пожалуйста..

Malabar1337
Снизь задержки, вот тут.

While (GetKeyState(tmp_ThisHotkey, "P"))
  {
    Sleep 50
    Send {WheelUp}
    Sleep 25
  }  
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

12 (изменено: Indomito, 2016-12-12 20:52:41)

Re: Помогите забиндить пожалуйста..

Malabar1337
Я подумал и кое что поправил.

+ Фрагмент кода(требуемый для ускорения).
#UseHook, On
Thread, NoTimers
Critical
lblBhop:
  tmp_ThisHotkey := A_ThisHotkey
  HotKey,  %keyBhop%, lblBhop, Off ;Защита от повторного входа
;Используем команду SetKeyDelay Delay, PressDuration
;Delay: -1 (отсутствия паузы), 0(наименьшей возможной паузы)
;PressDuration(длительность нажатия): -1(отсутствия паузы/по умолчанию), 0(наименьшей возможной паузы)
  SetKeyDelay -1, -1  ;У меня  SetKeyDelay 10, 10
  While (GetKeyState(tmp_ThisHotkey, "P"))
    {
      Send {WheelUp}
      Sleep 5
    }  
  HotKey,  %keyBhop%, lblBhop, On
Return
Critical , Off
Thread, NoTimers, false
#UseHook, Off
+ Код целиком(не нужное убрать)
;Кодировка исходного текста в UTF-8

;Скрипт не выгружается до явного определения.
#Persistent
;Запрет повторного запуска - разрешён.
#SingleInstance  Force

;Безусловная установка хука клавиатуры для NumLock CapsLock ScrollLock (устанавливаем по желанию)
#InstallKeybdHook
;Влючаем в непереключаемое состояние NumLock = On, до конца работы скрипта
SetNumLockState, AlwaysOn       ;AlwaysOn/AlwaysOff 
;Влючаем в непереключаемое состояние CapsLock = Off, до конца работы скрипта
SetCapsLockState, AlwaysOff     ;AlwaysOn/AlwaysOff
;Влючаем в непереключаемое состояние ScrollLock = Off, до конца работы скрипта
SetScrollLockState, AlwaysOff   ;AlwaysOn/AlwaysOff

;Точка выхода
  OnExit, lblBhopExit

;*****Начальные установки*****
  WinName := "игра"; Имя окна игры полностью
  
;Секция горячих клавиш
  keyBhop     := "Space"
  keyBhopExit := "Ctrl & Esc"
  HotKey,  %keyBhopExit%, lblBhopExit, On
  HotKey,  %keyBhop%, lblBhop, On

;Тут запустить таймер проверки игры
  cRatePeriodSec  :=  1000                    ;1000ms = 1 секунда
  cRatePeriodMin  :=  60*cRatePeriodSec       ;60000ms = 1 минута
  cRatePeriodProc :=  5*cRatePeriodMin        ;Частота таймера 5 минут
  vPIDName        :=  "Game.exe"              ;Имя процесса игры
  SetTimer  lTimerProc, %cRatePeriodProc%     ;Запускаем таймер
Return

;========================Резидентная часть скрипта===============================================
SetTitleMatchMode, 3
#If WinActive(WinName)
#UseHook, On
Thread, NoTimers
Critical
lblBhop:
  tmp_ThisHotkey := A_ThisHotkey
  HotKey,  %keyBhop%, lblBhop, Off ;Защита от повторного входа
;Используем команду SetKeyDelay Delay, PressDuration
;Delay: -1 (отсутствия паузы), 0(наименьшей возможной паузы)
;PressDuration(длительность нажатия): -1(отсутствия паузы/по умолчанию), 0(наименьшей возможной паузы)
  SetKeyDelay -1, -1  ;У меня  SetKeyDelay 10, 10
  While (GetKeyState(tmp_ThisHotkey, "P"))
    {
      Send {WheelUp}
      Sleep 5
    }  
  HotKey,  %keyBhop%, lblBhop, On
Return
Critical , Off
Thread, NoTimers, false
#UseHook, Off  
#IfWinActive
;*********************************************

;*****Точка выхода/завершения скрипта*****
lblBhopExit:
  ExitApp
;*****************************************

;*****Проверка существования игры(ТАЙМЕР)*****
lTimerProc:
  If  (fnCheckExistProc(vPIDName))
        Return
Goto  lblBhopExit
;*********************************************

;---------------------------Функция проверки существования процесса-----------------------------
; Вход (имя процесса полное, т.е. exe-файл)
; Ответ True/False = процесс работает(существует)/не работает(не существует)
fnCheckExistProc(ByRef vPIDName)
{
  Thread, NoTimers
    ; Проверяем существование процесса  vPIDName
    Process, Exist, %vPIDName%
    if (ErrorLevel = 0) 
          vRet  := False  ; Программа и/или скрипт не запущен
    Else
          vRet  := True    
    Thread, NoTimers, false
  Return vRet ; Выходим с ответом
}
;-----------------------------------------------------------------------------------------------

;================================================================================================


И в добавку, пригодиться.

Переключение на английский язык и  автологин.

+ Написано для игры LAII, но работает во всех играх.
  Sleep 1000
  SendMessage, 0x50,, 0x4090409,, A ;Установить английский язык
  Sleep 1000

    Loop 12
      {
        Send {Backspace}
        Sleep 25
      }
SetKeyDelay , 100, 25    
  Send %vLoginInp%
  Sleep 25
SetKeyDelay , 10, 10
  Send {TAB}
  Sleep 25
SetKeyDelay , 100, 25
  Send %vPassInp%
  Sleep 25
SetKeyDelay , 10, 10
  Sleep 25
  Send {Enter}
  Sleep 2000
  Send {Enter}

Отправить текст в чат, консоль etc.

+ Написано для The Elder Scrolls 5 Skyrim, но работает во всех играх.
;Пример использования №1
PreSetStart: ;Начальные установки
    fnSendConsole("Set TimeScale to 14",,, False)
    fnSendConsole("Set DecapitationChance to 80",, False, False)
    fnSendConsole("Set KillMoveRandom to 95",, False, False)
    fnSendConsole("FOV 65",,False)
Return

;Пример использования №2
lHealthDrug: ;Идеальноые залье - ЗДОРОВЬЯ(полное восстановление)
    fnSendConsole("player.additem 00039BE5 5")
Return

;--------------------------------------------------
;1 - строка в консоль
;2 - задержка после вывода, по умолчанию 250 ms
;3 - True/False - открывать/не открывать консоль
;4 - True/False - закрывать/не закрывать консоль
fnSendConsole(ConStr, Delay:=250, ConsoleOpen:=True,ConsoleClose:=True)
{
  If (ConsoleOpen)
      Gosub lOpenConsole
  SetKeyDelay, 10, 10
  Sleep 25
  Send, %ConStr%
  Sleep 25
  Send, {Enter}
  If (ConsoleClose) 
        Gosub lCloseConsole
  Sleep %Delay%
Return

lOpenConsole:
  SetKeyDelay, 10, 10
  Send {``}
  Sleep 25 ;100  
  Send {Backspace}
  Sleep 25 ;100    
return

lCloseConsole:
  Sleep 25 ;100  
  Send {``}
  Sleep 25 ;100    
Return
}

P.S. Всё под спойлерами, а то получается 3 экрана.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

13

Re: Помогите забиндить пожалуйста..

Malabar1337, ознакомьтесь с этой темой, отредактируйте заголовок.

Malabar1337 пишет:

a

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

14

Re: Помогите забиндить пожалуйста..

teadrinker. Думаю что он уже не исправит, т.к. решил свою проблему, но всё может быть, вдруг вернётся.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

15

Re: Помогите забиндить пожалуйста..

Indomito, а вы разве не знаете, что заголовки типа «помогите-спасите» здесь не приветствуются? В следующий раз не торопитесь спасать подобных утопающих.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

16 (изменено: Indomito, 2016-12-12 22:11:33)

Re: Помогите забиндить пожалуйста..

teadrinker. Знаю, просто пожалел - решение то было простое.
Больше не буду торопиться и указывать на правила, я сам нарвался на ответ...

+ Просле этой последовательности постов.
Malabar1337 пишет:

a

Malabar1337 пишет:

Indomito
щас поправлю

Malabar1337 пишет:

Indomito Я поправил.

Malabar1337 пишет:

Indomito
Дайте   код,пожалуйста

Malabar1337 пишет:
Indomito пишет:

Готовый код дам после внесение твоих поправок.

Вы тут?

P.S. Извиняюсь за оверквотинг - удалю.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download