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

InFlames

Autohotkey + Warcraft III

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

Какой код запускал? Что там на скрине? Я не вижу.

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


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

;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~
;~ ;~ ;~ НЕ РЕДАКТИРОВАТЬ
;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~

#NoEnv
#SingleInstance, force
#MaxHotkeysPerInterval 1000
Process, Priority, , High
SetBatchLines, -1
SetKeyDelay, -1
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,``
Spell_List = SunStrike,ChaosMeteor,ForgeSpirit,ColdSnap,GhostWalk,IceWall,Alacrity,Tornado,EMP,DeafeningBlast

; Комбинации
SunStrike = eee
ChaosMeteor = eew
ForgeSpirit = eeq
ColdSnap = qqq
GhostWalk = qqw
IceWall = qqe
Alacrity = wwe
Tornado = wwq
EMP = www
DeafeningBlast = qwe
InvokeList = -il


;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~
;~ ;~ ;~ НАСТРОЙКИ (МОЖНО РЕДАКТИРОВАТЬ)
;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~

; Нажимать R в конце комбинации? 1=да, 0=нет
UseBook := 1

; Нажимать EEE после комбо? 1=да, 0=нет (работает только, если UseBook=1)
UseEEE:=1

; Хоткеи для комбинаций
; ! = ALT,   + = SHIFT,   ^ = CTRL,   # = WIN
Key_1 := "!t"  ; SunStrike (T)
Key_2 := "!d"  ; ChaosMeteor (D)
Key_3 := "!f"  ; ForgeSpirit (F)
Key_4 := "!y"  ; ColdSnap (Y)
Key_5 := "!v"  ; GhostWalk (V)
Key_6 := "!g"  ; IceWall (G)
Key_7 := "!z"  ; Alacrity (Z)
Key_8 := "!x"  ; Tornado (X)
Key_9 := "!c"  ; EMP (C)
Key_10:= "!b"  ; DeafeningBlast (B)
Key_IL:= "!``" ; -InvokeListr


;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~
;~ ;~ ;~ НЕ РЕДАКТИРОВАТЬ
;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~ ;~

; Создание хоткеев
Loop, parse, Spell_List, CSV
   Hotkey, % VK(Key_%A_Index%), %A_LoopField%, On
Hotkey, % Key_IL, IL, On

return

; Выполнение комбинаций при нажатии хоткеев
SunStrike:
ChaosMeteor:
ForgeSpirit:
ColdSnap:
GhostWalk:
IceWall:
Alacrity:
Tornado:
EMP:
DeafeningBlast:
   SendPlay, % %A_ThisLabel% . (UseBook ? "r" : "") . ((UseBook & UseEEE) ? "eee" : "")
return

IL:
   Send, {Enter}
   SendRaw, -il
   Send, {Enter}
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)
      }
}

запускал это, все разобрался работает, но иногда перестает, приходится сворачиваться выключать\включать хз что такое :dunno:

 

sv22-w5w6hb.jpg

 

6c5301e5eab2.jpg27f67c12c02f.jpg

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


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

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

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


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

кто играет мм и хочет отойти похавать быстренько мб пригодится

#SingleInstance force
return
F12::
gojoin:=!gojoin
if gojoin
{
x:=A_ScreenWidth*720/1680
y:=A_ScreenHeight*490/1050
gosub, Accepter
sleep 100
SetTimer, Accepter, 2012
ToolTip, Dota2 Accepter is active`nPress F12 to deactivate
}
else
{
ToolTip
SetTimer, Accepter, off
}
return


Accepter:
MouseMove,x,y
sleep,1
Click
return

 

для ленивых можно качуть срзу екзешник http://www.playdota.com/forums/blog.php?b=146942

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


Ссылка на сообщение
(изменено)

Надо заменить кнопку F2 на клик по координатам(на иконку второго геомансера). Может такое уже было, а то я сам очень долго буду разбираться.

 

 

F2::
  BlockInput, On
  MouseGetPos, x0, y0
  SendPlay, {Click 50, 120, left}{Click %x0%, %y0%, 0}
  BlockInput, Off
return
F3::
  BlockInput, On
  MouseGetPos, x0, y0
  SendPlay, {Click 50, 200, left}{Click %x0%, %y0%, 0}
  BlockInput, Off
return
F4::
  BlockInput, On
  MouseGetPos, x0, y0
  SendPlay, {Click 50, 250, left}{Click %x0%, %y0%, 0}
  BlockInput, Off
return
F5::
  BlockInput, On
  MouseGetPos, x0, y0
  SendPlay, {Click 50, 320, left}{Click %x0%, %y0%, 0}
  BlockInput, Off
return

Сделал так вроде работает


Изменено пользователем KaneTaH

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


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

юзаю AHT 2.3 от юзера @AucT

на 100% доволен.

есть куча настроек, бинды на инвокера, бинды на автокасты, бинды на несколько скиллов по 1 нажатию.

ни в каких других биндах не мог назначить инвентарь на доп.кнопки мыши - а щас отлично это делаю)

ну и иконка у этих биндов элитная :trollface:


hs228.png
PROFIT Velen

1jYI7i0.jpg

 

There is a rainbow in the sky

sun.gif     rainbowsmile.gif

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


Ссылка на сообщение
(изменено)

Кстате ребят в последнее время, во время игры за вокера со скриптом InFlames'a, стали пропадать хп бары союзников(врагов остаются), хотя галочка по прежнему на месте, если галочку убрать пропадают хп бары врагов( появляются союзников).

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

Может ли быть какое то сочетание клавишь которое отключает бары? :zloy:


Изменено пользователем hozjain

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


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

Скобки [ и ] вроде.

Может стоит варик переустановить? Программа то причем, если работала все время нормально.

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


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

Скобки [ и ] вроде.

Может стоит варик переустановить? Программа то причем, если работала все время нормально.

рли это было из-за [ и ] у меня на них стоял скрипт:

+[::

blockinput, on

SendPlay, {shift up}

SendInput {Enter}

SendRaw GO GO GO

SendInput {Enter}

blockinput, off

Return

Который поч залипал), перебиндил, зитестил, все работает на ура, спс за помощь :pray:

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


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

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

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


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

А разве это не отправка конкретных клавиш? По-моему эту таблицу не открыть стандартным биндом доты, надо что-то с координатами делать(вот тут я как раз хз -сложно для моего уровня). Нужно ведь что-то универсальное чтобы на любом разрешении работало, чтобы запоминало где был курсор, нажимало на кнопку(по подготовленным координатам самой кнопки) и потом возвращало на те координаты где был курсор, так ещё и чтобы работало от нажатия и отпускания (как в Counter-Strike).

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


Ссылка на сообщение
(изменено)

1 Тут http://script-coding...Hotkey/Send.html читаешь сначала все, и особое внимание уделяешь строке в таблице {Click [Options]} (ищи через ctrl+F)

2 А тут http://script-coding...tkey/Click.html читаешь все полностью

Получится что-то вроде sendplay {click, 1000, 1000}

Т.е. клик по координатам через sendplay. Это будет мгновенно в отличие от других send команд.

Далее надо вернуть курсор на исходные координаты - где он был до этого.

Для перед перемещением команда mousegetpos.

Пиши, что получилось (код). Если не получится, подскажу.

Код начинай писать поэтапно, и следить за его выполнением. Т.е. сначала запиши текущие координаты курсора в переменную и через msgbox проверь их. Затем перемести курсор к кнопке открытия таблице. Затем сделай клик. Затем перенеси курсор в исходные координаты.

 

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

По поводу "как в каунтер страйк". Опять же для начала напиши сам код открывания таблицы, а потом уже будем навороты делать с разрешением и как в каунтер страйк.


Изменено пользователем InFlames

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


Ссылка на сообщение
(изменено)


#IfWinActive ahk_class Warcraft III

^TAB::
BlockInput, on
MouseGetPos, x0, y0
SendPlay, {Click 1000, 1000, left}{Click %x0%, %y0%, 0}
BlockInput, off
return

 

Вот грубый вариант, не компилил, но думаю должно работать. Само собой координаты придуманные(в свёрнутом виде просто другие координаты той кнопки, а в фулскрине не могу выявить). Это в теории я могу разрисовать как должно быть, но блин сам код хз как писать...


Изменено пользователем unS0uL

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


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

Лучше без блокинпута.

 

Вот так будет надежнее

 

#IfWinActive ahk_class Warcraft III
^TAB::
MouseGetPos, x0, y0
SendPlay, {Click 1000, 1000, 0}
sleep 1
sendplay {click}{Click %x0%, %y0%, 0}
return

 

А вот так можно определить координаты кнопки таблицы

Коэффициенты определены опытным путем

 

; переменная для оконного режима
; для оконного режима вместо 0 поставить 30
WindowMode=0
WinGetPos,,, xres, yres, ahk_class Warcraft III
ScoreBoardXPos := 0.983*xres-WindowMode/7.5
ScoreBoardYPos := 0.0559*(yres-WindowMode)+WindowMode

 

Эти координаты можно использовать вместо 1000 и 1000 из первого кода

 

Вот так в сумме

 

; переменная для оконного режима
; для оконного режима вместо 0 поставить 30
WindowMode=0


^TAB::
WinGetPos,,, xres, yres, ahk_class Warcraft III
ScoreBoardXPos := 0.983*xres-WindowMode/7.5
ScoreBoardYPos := 0.0559*(yres-WindowMode)+WindowMode

MouseGetPos, x0, y0
SendPlay, {Click %ScoreBoardXPos%, %ScoreBoardYPos%, 0}
sleep 1
sendplay {click}{Click %x0%, %y0%, 0}
return

 

А вот так будет для клавиши таб как в кс (держать чтобы смотреть)

; переменная для оконного режима
; для оконного режима вместо 0 поставить 30
WindowMode=0

^TAB::
If TabDown
 return
TabDown:=1
Gosub ToggleScoreBoard
return

^TAB up::
TabDown:=0
Gosub ToggleScoreBoard
return

ToggleScoreBoard:
WinGetPos,,, xres, yres, ahk_class Warcraft III
ScoreBoardXPos := 0.983*xres-WindowMode/7.5
ScoreBoardYPos := 0.0559*(yres-WindowMode)+WindowMode
MouseGetPos, x0, y0
SendPlay, {Click %ScoreBoardXPos%, %ScoreBoardYPos%, 0}
sleep 1
sendplay {click}{Click %x0%, %y0%, 0}
return

 

разберешься?

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


Ссылка на сообщение
(изменено)

Спасибо большое. Вроде как есть небольшие нежелательные штучки: в игре иногда стата не сворачивается при отпускании клавиши(иногда когда держишь маус1 и жмёшь бинд), на пример когда держишь ^TAB и отпускаешь сначала ^, Ещё почему-то мигает диод капслока на клавиатуре(не так как выключается и включается а будто подаётся напряжение с перебоями) при нажатии на бинд.

И если это не будет сверх наглостью с моей стороны то хотел бы попросить сделать камменты к коду :)


Изменено пользователем unS0uL

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


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

Если глючит используй другой хоткей. Или другие скрипты мешают хз.

Комменты попозже.

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


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

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

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

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

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

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

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

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

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

Загрузка...

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