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

InFlames

Autohotkey + Warcraft III

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

Pwm! link=topic=196758.msg2026012440#msg2026012440 date=1308719205]
Pwm! link=topic=196758.msg2026001124#msg2026001124 date=1308640713]

Подскажите плз, как прописать скрипт в Autohotkey, чтобы кнопки инвентаря работали, и отдельно без alt, и с altom в тоже время.

Просто порой смотришь хп бары на alt и тут же надо нажать на даггер(например) - происходит одновременное нажатие двух клавиш и

инвентарь почему то не срабатывает...Кстати, пользовался до этого warhotkey1 такой проблемы не было...

инвентарь собственно:

capslock::numpad1

space::numpad2

XButton1::numpad4

XButton2::numpad5

3::numpad7

4::numpad8

поставь зведочки перед хоткеями, типа

*space::numpad2

и нажимай хоть с альтом хоть с контролом

не работает  :yes:

у тебя win7? если да то запускай от админа

нет ХP  :palevo:

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


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

AucT, если у тебя есть готовый список всех хоткеев, которые нужны, например numpad1 - numpad8, h, F1 и т.п., то лучше их делать так:

Keys = numpad1,numpad2,numpad4,numpad5,numpad7,numpad8,h,F1
loop, parse, keys, csv
{
IniRead, OutputVar, Filename, keys, %a_loopfield%
msgbox % "Ключ=" a_loopfield "`nЗначение=" OutputVar
}

Содержимое ini

[keys]
numpad1=q
numpad2=w
numpad4=a
numpad5=s
numpad7=d
numpad8=f
h=space
F1=tab

 

Если же точного списка нет, то придется парсить весь файл. В whk2 я так и сделал. Пришлось парсить, составлять 2 массива с ключами и значениями. А затем при создании хоткея учитывать модификаторы.

 

 

[-_-]Pwm!, а так?

*space::sendinput {numpad2}

 

 

Что за ублюдское оформление кода на дефолтном скине. На работе не стоит белый фон, выглядит вырви глаз.

 

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


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

Т.е. Fn не определяется, а Fn+F5 определяется. Так?

Тогда может попробовать использовать виртуальные хоткеи и сканкоды (VKxxSCxxx) именно для комбинаций?

 

На счет ссылки понял. Та тема в архиве, доступ к архиву только у разработчиков. Короче там человек спрашивал как поменять кнопки контрол и фн местами. В итоге у него не получилось. Был бы у меня ноут, может и посмотрел бы в чем дело, а так сложно.

просто хотелось именно саму эту кнопку вычленить

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

 

то есть чтобы ф3 было ф3 - надо зажать ФН. а если недожать - выключишь вайфай себе посреди игры  :palevo:


0BdKg2e.png

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

 

Цитата

посоны

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

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

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


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

 

Хоткей должен быть написан в одной строке

LALT::sendinput {NUMPAD2}

 

Иначе, требуется ставить return

LALT:: 
  sendinput {NUMPAD2}
return

 

При активации/деактивации чата требуется первой командой указывать suspend (что бы эти кнопки могли снимать скрипт с паузы)

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

~*Enter::
~*Numpadenter::
    suspend
suspend

 

Взамен двойному suspend можно использовать suspend, permit. Это пустой suspend, т.е. ничего не делающий, но разрешающий хоткею включать скрипт, когда он стоит на паузе.

~*Enter::
  ~*Numpadenter::
      suspend, permit

 

Итог

#IfWinActive ahk_class Warcraft III
LALT::sendinput {NUMPAD2}
space::s
pause::
suspend
paused:=!paused
Return
; клавиши активации чата
~*Enter::
~*Numpadenter::
    suspend, permit
    If !paused
        suspend, on
    Else
        suspend, off
    paused:=!paused
Return
; клавиши отмены чата
~*esc::
~*lbutton::
    suspend, off
    paused=0
return
!1::send {enter}miss top{enter}

 

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

Так например вместо

space::s

Лучше

space::send {VK53}

http://api.farmanager.com/ru2/winapi/virtualkeycodes.html

 

Это позволяет делать скрипты независимыми от раскладки по-умолчанию, а в некоторых случаях от текущей раскладки.

 

спасибо :palevo:


molniya.gif

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


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

Скрипт запускает HotkeyTool при старте War3

Опционально следит за состоянием HotkeyTool и не дает ему закрыться во время игры

Путь к хоткею настраивается через переменную HotkeyTool_Path

Пример для Warhotkeys2

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

 

add: немного отредактирова скрипт, для правильного запуска хоткея

;~ *** Скрипт запускает HotkeyTool при старте War3
;~ *** Опционально следит за состоянием HotkeyTool и не дает ему закрыться во время игры
;~ *** Путь к хоткею настраивается через переменную HotkeyTool_Path

;~ *** НАСТРОЙКИ

;~ Если перемнная HotkeyTool_Guard=1, скрипт следит за состоянием HotkeyTool.
;~ Если по каким-либо причинам HotkeyTool закрывается, то скрипт запускает его вновь
;~ Т.е. скрипт не будет давать закрываться HotkeyTool во время открытого War3.
;~ Если перемнная HotkeyTool_Guard=0, то HotkeyTool будет запускаться только при старте War3.
;~ Во время игры, скрипт не будет вновь запускать HotkeyTool, если он закроется.
   HotkeyTool_Guard:=1

;~ Если переменная Close_HotkeyTool=1, то HotkeyTool будет закрываться вместе с War3
   Close_HotkeyTool:=1

;~ Раскомментируйте следующую строку, что бы убрать иконку из трея
;~ В этом случае скрипт можно будет завершить через диспетчер задач
;  #NoTrayIcon

;~ Укажите путь к HotkeyTool (используя слэш влево - \)
   HotkeyTool_Path:="C:\Users\Администратор\Desktop\whk\Warhotkeys2.exe"

;~ Имя процесса хоткея
   HotkeyTool:="Warhotkeys2.exe"

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

#SingleInstance, force ; перезапускать скрипт, если он уже запущен
SetBatchLines, -1 ; быстрое выполнение команд
DetectHiddenWindows, on ; обнаружение скрытых окон
War3:="War3.exe" ; имя процесса war3
Path:=RegExReplace(HotkeyTool_Path, "(.*)\\(.*)", "$1") ; берем путь к хоткею
Target:=RegExReplace(HotkeyTool_Path, "(.*)\\(.*)", "$2") ; берем имя файла для запуска
If HotkeyTool_Guard ; если надо следить за состоянием процесса хоткея
   SetTimer, HotkeyTool_Guard, 2000 ; запускаем таймер каждые 2 сек


Loop ; зацикливаем скрипт
{
   Process, wait, %War3% ; ждем появления процесса war3
   
   Process, Exist, %HotkeyTool% ; проверяем процесс хоткея
   If !ErrorLevel ; если не запущен
      Run % "" Target "", %Path% ; запускаем
   
   Process, WaitClose, %War3% ; ждем закрытия процесса war3
   
   If !Close_HotkeyTool ; если не разрешено закрвать хоткей при выходе из war3
      continue ; не выполняем остальные команды
   
   Process, Exist, %HotkeyTool% ; проверяем состояние хоткея
   If (PID:=ErrorLevel) ; если запущен, записываем его PID
      Loop ; в цикле ждем закрытия хоткея (для надежного закрытия хоткея)
      {
         WinKill, ahk_pid %PID% ; закрываем хоткей
         WinWaitClose, ahk_pid %PID%,, 1 ; ждем 1 сек
         If !ErrorLevel ; если хоткей закрыт
            break ; выходим из цикла
      }
}


HotkeyTool_Guard: ; таймер
   Process, Exist, %War3% ; проверяем состояние war3
   If !ErrorLevel ; если не запущен
      return ; пропускаем остальные действия
   
   Process, Exist, %HotkeyTool% ; проверяем состояние хоткея
   If !ErrorLevel ; если на запущен
      Run % "" Target "", %Path% ; запускаем
return

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


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

xvutton1

xbutton2

А, я всю тему перечитал думаю гдето видел но не помню где, а это было в старом топике  :lostneprowaet:

Кстати можно ли написать цикл повтора например 50 раз нажать "T"?


mal

 

Steam

76561198044654898.png

 

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


Ссылка на сообщение
SouLTakeR link=topic=196758.msg2026051177#msg2026051177 date=1309018408]

xvutton1

xbutton2

А, я всю тему перечитал думаю гдето видел но не помню где, а это было в старом топике  :lostneprowaet:

Кстати можно ли написать цикл повтора например 50 раз нажать "T"?

Там опечатка

xbutton1

xbutton2

Все хоткеи тут http://www.script-coding.com/AutoHotkey/KeyList.html

 

Цикл

Loop 25
  send t

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


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

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

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


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

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

пиши тут

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


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

И зачем он нужен  :avtorklif:

Когда в ВХК тоже не мало можно сделать

Инвокер например

 

[hotkeys]

VK51=VK67

VK57=VK68

WheelUp=VK61

WheelDown=VK62

[phrases]

+VK51=combo{F1 2}

VK45=combo{Click %skill5x%, %skill5y%}{Click %xprev%, %yprev%, 0}

VK46=combo{Click %skill6x%, %skill6y%}{Click %xprev%, %yprev%, 0}

+VK57=combo{w 3}{r}{e 3}

+VK45=combo{e 3}{r}

VK52=combo{e 2}{w}{r}{e 3}

VK54=combo{w 2}{q}{r}{e 3}

VK42=combo{q}{w}{e}{r}{e 3}

VK56=combo{q 2}{w}{r}{e 3}

VK47=combo{e 2}{q}{r}{e 3}

VK44=combo{q 3}{r}{e 3}

+VK41=combo{w 2}{e}{r}{e 3}

VK43=combo{q 2}{e}{r}{e 3}

+WheelDown=combo{q 3}

+WheelUp=combo{w 3}

Mbutton=combo{e 3}

[gestures]

 

 


 

 

Oh, ny davaite, postite, postite.

 

 

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


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

whk написан на autohotkey если че

whk хоть и умеет много, но имеет ряд ограничений

мне например нравится заряжать магии инвокера на Mbutton+HOTKEY

а затем активировать магию обычным способом, нажимая HOTKEY

 

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

 

п.с. все таки конфиг в таком виде ни о чем не говорит, лучше уж сделал бы скрин окна хоткеев

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


Ссылка на сообщение
Гость Grappler

AutoIt может еще больше чем аутохоткей :avtorklif:

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


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

а .NET когда будет поддерживать?  :hmm:


javascript:void(0);

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


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

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

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

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

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

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

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

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

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

Загрузка...

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