Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

InFlames

Autohotkey + Warcraft III

Рекомендованные сообщения

думаю не надо

хоткей бред

уже думаю все привыкли к обычным кнопкам  :hmm:


nyashka pgg

Поделиться сообщением


Ссылка на сообщение

холивар в другой теме

свали

Поделиться сообщением


Ссылка на сообщение

Еще один альтернативный скрипт инвокера.

Заряд магии происходит за счет двойного нажатия хоткея магии.

Активация магии, как обычно - одиночное нажатие хоткея магии.

Работает при любой активной раскладке. Предыдущие скрипты не работали при активной русской раскладке. Потом поправлю.

В конце скрипта несколько кастомных хоткеев. Почитайте.

EXE http://onemove.ru/get/54668/

 

Пожалуй для этой версии сделаю GUI позже.

 

 

Код

 

;~ Свои хоткеи можно добавить в конце скрипта
;~ Они не должны дублировать существующие
#NoEnv
#SingleInstance, force
#MaxHotkeysPerInterval 1000
;~ #UseHook, on
Process, Priority, , High
SetBatchLines, -1
SetKeyDelay, -1

; Что нажимать после комбинации (0 - ничего)
Triple=eee

; Время, в течение которого двойное нажатие считается таковым
delay:=350

Sunstrike:=		"eeer"   ,   Key_Sunstrike:=	Key_1 := "t"         ; T
ChaosMeteor:=	"eewr"   ,   Key_ChaosMeteor:=	Key_2 := "d"         ; D
ForgeSpirit:=	"eeqr"   ,   Key_ForgeSpirit:=	Key_3 := "f"         ; F
ColdSnap:=		"qqqr"   ,   Key_ColdSnap:=		Key_4 := "y"         ; Y
GhostWalk:=		"qqwr"   ,   Key_GhostWalk:=	Key_5 := "v"         ; V
IceWall:=       "qqer"   ,   Key_IceWall:=		Key_6 := "g"         ; G
Alacrity:=      "wwer"   ,   Key_Alacrity:=		Key_7 := "z"         ; Z
Tornado:=       "wwqr"   ,   Key_Tornado:=		Key_8 := "x"         ; X
EMP:=			"wwwr"   ,   Key_EMP:=			Key_9 := "c"         ; C
DeafeningBlast:="qwer"   ,   Key_DeafeningBlast:=Key_10:= "b"        ; B

Spell_List = Sunstrike,ChaosMeteor,ForgeSpirit,ColdSnap,GhostWalk,IceWall,Alacrity,Tornado,EMP,DeafeningBlast
VK_LIST = VK41,VK42,VK43,VK44,VK45,VK46,VK47,VK48,VK49,VK4A,VK4B,VK4C,VK4D,VK4E,VK4F,VK50,VK51,VK52,VK53,VK54,VK55,VK56,VK57,VK58,VK59,VK5A,VKC0
HK_LIST = A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,``

; Создание хоткеев
Hotkey, IfWinActive, ahk_class Warcraft III
Loop, Parse, Spell_List, CSV
   Hotkey, % "$" VK(Key_%A_Index%), %A_LoopField%, On
Return

; Выполнение комбинаций при нажатии хоткеев
SunStrike:
ChaosMeteor:
ForgeSpirit:
ColdSnap:
GhostWalk:
IceWall:
Alacrity:
Tornado:
EMP:
DeafeningBlast:
   Gosub, Layout ; переключает раскладку на EN
   If (A_TimeSincePriorHotkey < delay) and (Prev=A_ThisLabel) and (State%A_ThisLabel%) ; двойное нажатие
      SendInput, % %A_ThisLabel% . (Triple ? Triple : "")
   Else
   {
      SendInput, % Key_%A_ThisLabel%
      State%Prev%:=0
   }
   State%A_ThisLabel%:=not State%A_ThisLabel%
   Prev:=A_ThisLabel
   SendMessage, 0x50,, %InputlocaleIDLast%,, A ; переключает раскладку на прежнюю
Return

VK(Param) ; функция преобразования хоткея в виртуальный код
   {
      global
      Hotkey:=RegExReplace(Param, "[\^\!\+\#]+(.*)", "$1")
      If StrLen(Hotkey) > 1
         Return Param
      Loop, Parse, HK_LIST, CSV
         If (Hotkey = A_LoopField)
         {
            Index := A_Index
            Loop, Parse, VK_LIST, CSV
               If (A_Index = Index)
                  Return % RegExReplace(Param, "(.*)" Hotkey, "$1" A_LoopField)
         }
   }

Layout:
   SetFormat, Integer, H
   WinGet, WinID,, A
   ThReadID:=DllCall("GetWindowThReadProcessId", UInt, WinID, UInt, 0)
   InputlocaleIDLast:=InputlocaleID:=DllCall("GetKeyboardLayout", UInt, ThReadID, UInt)
   If !(InputlocaleID="0x4090409") ; если не английская раскладка
      SendMessage, 0x50,, 0x4090409,, A
Return

#IfWinActive ahk_class Warcraft III

; клавиши активации чата
~*Enter::
~*Numpadenter::
   Suspend, Permit
   If globalPause ; если стоит пауза
      Return
   Suspend, % (Paused:=!Paused) ? "on" : "off"
Return

; клавиши отмены чата
~*esc::
~*lbutton::
   Suspend, Permit
   If (globalPause or !Paused) ; если стоит пауза или не открыт чат
      Return
   Suspend, off
   Paused:=0
Return

;~;~;~;~;~;~;~;~;~;~
;~ Кастомные хоткеи
;~;~;~;~;~;~;~;~;~;~

;~ -clear
F5::
   SendInput {Enter}
   SendRaw -clear
   SendInput {Enter}
Return

;~ Случайное нажатие ALT+Q будет заменяться на Q
!VK51::SendInput {VK51}

F9:: ; перезагрузка скрипта
   Critical
   Reload
Return

;~ Пауза скрипта
F10::
   Suspend
   globalPause:=!globalPause
   SoundPlay, *48
Return

;~ F12 = ALT+Q, т.к. отключили ALT+Q, выходим на F12
F12::SendInput !{VK51}

F6::triple=qqq ; заряд qqq, www или eee после заряда магии, устанавливается клавишами F6-F8, по-умолчанию eee
F7::triple=www
F8::triple=eee

 

 

Поделиться сообщением


Ссылка на сообщение

денди задрот

я нет

я одобряю хоткеи на инвокера  :palevo:

Поделиться сообщением


Ссылка на сообщение
:palevo:

0BdKg2e.png

Скрытый текст

 

Цитата

посоны

я джуса забанил

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение

Обещанный скрипт для инвокера с gui.

заряд магии - даблклик хоткея магии

2xT=зарядить sunstrike

1xT=активировать sunstrike

http://narod.ru/disk/start/04.dl2f-narod.yandex.ru/44113518001/h285d53ff4e0e64c7d1568bd2c4b3422b/InVoker-double-click.rar

Поделиться сообщением


Ссылка на сообщение

InFlames, искренне благодарю за скрипты, очень удобно, на 1 странице ты говорил, что можно сделать многое, у меня просьба - не мог бы ты сделать похожую сборку как от 02 июля но с некоторыми фиксами, а именно: сделать так, чтоб по хоткею, указанному мною, комбинировался спел, после чего, как ты это сделал раньше сферы переключались на триплу E, Q, W, подходит и тот скрипт который ты указал в сборке от 02 июля для сфер. После того как спел складеться, он у меня поместится в спелбуке и все, дальше я нажимаю хоткей спела и он юзаеться.

Покажу на примере: мы стоим соло мид, у нас на данный момент трипла Q сферы, я юзаю букву D (у меня хоткей метеора заюзан на эту букву) после чего мне кладеться в спелбук под №1 спел Chaos Meteor, сферы после юзание буквы D автоматом перключились на триплу E, ёщё раз отмечу спел не нужно кастовать по букве, а просто скомбинировать и положить в слот. Далее я юзаю букву S (у меня хоткей колдснапа на эту букву) и у меня в спеллбук под №2 ложиться Cold Snap, сферы трипла E, после чего я швыряю метеор, колд снап, тут же нажимаю букву F (у меня хоткей бласта заюзан на эту букву) и у меня в книжечку вместо метеора №1 ложиться Defining Blast, сферы остаються трипла E, кидаю бласт и обычно килл есть. Надеюсь подробно изъяснил.

Ёщё одно, возможно ли сделать так, чтоб после сборки в книгу мне инвиза все сферы переключились на WWW, при этом не ломая, того, чтоб после всех остальных спелов у меня сферы переключались на триплу в зависимости от выставленного мной F6-F8.

Просто главное для меня в скрипте это не зависание между созданиями спелла - использовал раньше сборку alt инвокера, некакого зависания нет - но 1 проблема, левая рука жутко устает от постоянного Alt, решил перейти на более комфортную версию.

Также вопрос подойдет ли этот код в твой скрипт?  Просто необходимая вещь - очень часто мне приходиться переключать сферы и именно по три, думаю и так понятно зачем.  Заранее благодарю, и надеюсь, на твою помощь.

 

vk76::
      if (flagf7:=!flagf7)
            sendplay {enter} triple qwe mode {enter}
      else
            sendplay {enter} norm qwe mode {enter}
return

~vk51::
      if !flagf7
      return
   sendplay {vk51}{vk51}
return

~vk45::
      if !flagf7
      return
   sendplay {vk45}{vk45}
return

~vk57::
      if !flagf7
      return
   sendplay {vk57}{vk57}
return

 

Поделиться сообщением


Ссылка на сообщение

inflames. есть дело  :-_-:

не то что ви подумали извращенци :dunno:

 

 

если не жаль кинь скриптик, как реализирован input в warkey2. ну когда вибираешь хоткей (там нада его нажать и он вибран).

есть идейка сделать для конкретних нубов кеймаппер как в iccup'e.

Поделиться сообщением


Ссылка на сообщение

Не совсем понял про что ты.

Если тебе нужен warhotkeys2 скрипт, где происходит назначение хоткея, то конкретного куска кода нет. Его надо вырезать из общей массы, он состоит из нескольких подпрограмм, потом надо все проверять, что бы работало. Короче мне лень разбираться в своих старых скриптах, что бы выдернуть одну функцию. Я просто делаю новый на основе старых. Это будет тот же Warhotkeys 2, но он будет разграничен на две части. Первая часть - простая, для бинда инвентаря (как в warhotkeys 2 lite), вторая часть будет advanced, она позволит перебиндить всё, что угодно. В конфиг добавлю настройки: имя конфига, последнее расположение окна, режимы индикации, возможно еще что-нибудь добавлю.

Поделиться сообщением


Ссылка на сообщение

скоро твой вархоткейс начнет сам китайцев в доту пиздить  :nate:


0BdKg2e.png

Скрытый текст

 

Цитата

посоны

я джуса забанил

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение

для пуфа второстепенных мипо к главному такой код подойдет ?

 

 

 

1::Send {F2}{W}{Click 10, 50}{F3}{W}{Click 10, 50}{f4}{W}{Click 10, 50}{f1}{W}{Click 10, 50}{click 300, 200, 0}

Поделиться сообщением


Ссылка на сообщение

Тебе самому решать подойдет или нет. Если устраивает, пользуйся. Если нет, полистай тему, тут где-то я выкладывал для мипо скрипт.

Поделиться сообщением


Ссылка на сообщение

а в autohotkey есть какие-нибудь таймеры?

например я использую бинды чата, взятые из этой темы. ну там weather\water\hhn\lat и т.п. на одной кнопке

но иногда забываю эту кнопку нажать сразу после пика героя

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

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

я, к примеру, сразу после загрузки биндю круг на 2, можно было бы как-нибудь это считать началом отсчета ~2.5 минут


http://steamcommunity.com/id/charg/

 

Элитный гуглтранслейт:

you just uhueli its price and so I 8 for 6 otdoyu

Поделиться сообщением


Ссылка на сообщение

а в autohotkey есть какие-нибудь таймеры?

например я использую бинды чата, взятые из этой темы. ну там weather\water\hhn\lat и т.п. на одной кнопке

но иногда забываю эту кнопку нажать сразу после пика героя

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

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

я, к примеру, сразу после загрузки биндю круг на 2, можно было бы как-нибудь это считать началом отсчета ~2.5 минут

попробуй добавить такой хоткей

~^2::
   settimer, timer, -150000
return

timer:
   blockinput, on
   send {enter}всякая нужная лабуда{enter}
   send {enter}всякая нужная лабуда{enter}
   blockinput, off
return

Но надо быть уверенным, что в этот момент чат не открыт, что бы не получилось хуйни.

Вместо всякой лабуды можно просто подать звуковой сигнал

Поделиться сообщением


Ссылка на сообщение

dendi не одобряет хоткеи на инвокера

Но в твоих хоткеях они есть, не так ли?

Поделиться сообщением


Ссылка на сообщение

а в autohotkey есть какие-нибудь таймеры?

например я использую бинды чата, взятые из этой темы. ну там weather\water\hhn\lat и т.п. на одной кнопке

но иногда забываю эту кнопку нажать сразу после пика героя

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

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

я, к примеру, сразу после загрузки биндю круг на 2, можно было бы как-нибудь это считать началом отсчета ~2.5 минут

попробуй добавить такой хоткей

~^2::
   settimer, timer, -150000
return

timer:
   blockinput, on
   send {enter}всякая нужная лабуда{enter}
   send {enter}всякая нужная лабуда{enter}
   blockinput, off
return

Но надо быть уверенным, что в этот момент чат не открыт, что бы не получилось хуйни.

Вместо всякой лабуды можно просто подать звуковой сигнал

что такое blockinput?

з.ы. оперативно О_о


http://steamcommunity.com/id/charg/

 

Элитный гуглтранслейт:

you just uhueli its price and so I 8 for 6 otdoyu

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...