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

InFlames

Autohotkey + Warcraft III

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

А я-то думаю, где старая тема пропала...

Можешь написать скрипт просто на отключение в чате/окно вара неактивно?

мбаттон3 (колёсико) - нам5

3 (обычная тройка) - нам7

4 (обычная четвёрка) - нам8

5 (...) - нам4

 

С меня симпа

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


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

Хуярю инвокером в ручную,и всем пизда. :buba:


Здаров бандиты :tusila:

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


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

А я-то думаю, где старая тема пропала...

Можешь написать скрипт просто на отключение в чате/окно вара неактивно?

мбаттон3 (колёсико) - нам5

3 (обычная тройка) - нам7

4 (обычная четвёрка) - нам8

5 (...) - нам4

 

С меня симпа

 

 

Вариант1

 

 

Простой вариант. Не обрабатывает нажатия shift+hotkey. Срабатывает, только если нажат хоткей без модификаторов.

 

#SingleInstance, force ; чтобы не спрашивал что делать при перезапуске программы
#IfWinActive ahk_class Warcraft III ; хоткеи работают только в окне варкрафта
SetKeyDelay, -1 ; нажатия хоткеев без паузы
SetBatchLines, -1 ; максимальная скорость скрипта

; инвентарь
; поставить * перед хоткеем
; если надо, что бы срабатывало
; даже при хажатом alt, ctrl или shift
; пример *MButton::Send {Numpad5}

MButton::Send {Numpad5}
3::Send {Numpad7}
4::Send {Numpad8}
5::Send {Numpad4}

; клавиши активации/отмены чата
~*Enter::
~*Numpadenter::
    suspend, permit
    If Paused
        Return
    Suspend, % A_IsSuspended ? "off" : "on"
Return

; клавиши отмены чата
~*esc::
~*lbutton::
    suspend, permit
    If Paused
        Return
    suspend, off
return

; клавиша паузы скрипта
pause::
    suspend
    Paused := A_IsSuspended ? 1 : 0
return

 

 

 

 

 

Вариант2

 

 

Этот вариант корректно обработает нажатия с шифтом, что бы можно было юзать предметы через шифт.

Если не будет работать, надо запустить от имени администратора. Если не поможет, то отключить UAC

 


#SingleInstance, force ; чтобы не спрашивал что делать при перезапуске программы
#IfWinActive ahk_class Warcraft III ; хоткеи работают только в окне варкрафта
SetKeyDelay, -1 ; нажатия хоткеев без паузы
SetBatchLines, -1 ; максимальная скорость скрипта

; инвентарь
*MButton::Sendplay % GetKeyState("shift", "P") ? "+{VK65}" : "{VK65}"
*3::Sendplay % GetKeyState("shift", "P") ? "+{VK67}" : "{VK67}"
*4::Sendplay % GetKeyState("shift", "P") ? "+{VK68}" : "{VK68}"
*5::Sendplay % GetKeyState("shift", "P") ? "+{VK68}" : "{VK68}"

; клавиши активации/отмены чата
~*Enter::
~*Numpadenter::
    suspend, permit
    If Paused
        Return
    Suspend, % A_IsSuspended ? "off" : "on"
Return

; клавиши отмены чата
~*esc::
~*lbutton::
    suspend, permit
    If Paused
        Return
    suspend, off
return

; клавиша паузы скрипта
pause::
    suspend
    Paused := A_IsSuspended ? 1 : 0
return

 

 

 

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


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

Как эффект F1 в доте перекинуть на пробел? Что то пытался написать , но не получилось.

 

 

И вот еще:

#noenv

#IfWinActive ahk_class Warcraft III

 

setbatchlines -1

setkeydelay -1

SetMouseDelay -1

 

pause::suspend

xbutton1::numpad1

xbutton2::numpad2

 

сойдет?

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


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

Как эффект F1 в доте перекинуть на пробел? Что то пытался написать , но не получилось.

 

 

И вот еще:

#noenv

#IfWinActive ahk_class Warcraft III

 

setbatchlines -1

setkeydelay -1

SetMouseDelay -1

 

pause::suspend

xbutton1::numpad1

xbutton2::numpad2

 

сойдет?

Если тебе этого достаточно, то сойдет.

 

Герой на пробел

Space::F1

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


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

А как написать двойное нажатие space

тоесть 1 нажатие = 2 нажатиям

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


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

space::sendplay {space}{space}


0BdKg2e.png

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

 

Цитата

посоны

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

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

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


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

Благодарю за помощь

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


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

sendplay используй в крайних случаях, т.к. не на всех компах он работает.

Лучше использовать send вместе с setkeydelay -1 или sendinput

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

setkeydelay -1
$space::send {space 2}

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


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

всё, больше не суюсь, особенно уставшим и подпитым :стесняющийся_смайлик:


0BdKg2e.png

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

 

Цитата

посоны

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

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

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


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

^ this! :buba:


0BdKg2e.png

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

 

Цитата

посоны

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

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

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


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

всё, больше не суюсь, особенно уставшим и подпитым :стесняющийся_смайлик:

просто обычно проверять код надо, когда пишешь :)

я сам был немного удивлен, почему не работает space::send {space 2}, обычно такие хоткеи зацикливались, посылая сами себя, а тут вообще не работал

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


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

а такое, например, работает :buba:

 

~vk57::

if !flagf7

return

sendplay {vk57}{vk57}

return

 

 

(это для инвока, по 1 или по 3 шарика за нажатие)

эт потому что сендплей а не сенд?

 

а  $ я использовал только в $vk53::Send {vk53} для стопа атаки


0BdKg2e.png

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

 

Цитата

посоны

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

мне пиздос?

Цитата

xHjcvkA.gif

 

 

 

 

 

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


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

Да, это из-за sendplay.

Из справки

В NT4/2k/XP или более поздних версиях Windows: префикс $ использует обработчик клавиатурных прерываний (keyboard hook) для реализации этой горячей клавиши, что мешает команде Send запустить горячую клавишу повторно. Префикс $ является эквивалентом использования команды #UseHook в тексте скрипта где-нибудь выше определения этой горячей клавиши.

http://www.script-coding.com/AutoHotkey/Hotkeys.html

 

 

Еще можно использовать #Usehook

Это работает

#UseHook
space::send {space 2}

Это не работает

space::send {space 2}

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


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

Autohotheys очень интересная программа. Смотрел большинство тем здесь http://forum.script-coding.com/

Позаимствовал много.

Но вот благодоря вашим советм насчет F1 space не получилось сложить...

Думал надj написать

space::F1
space::sendplay {space}{space}

но видимо я них не понял  :buba:

 

Сделал вот так , большинство скопировал

#noenv
#IfWinActive ahk_class Warcraft III

setbatchlines -1
setkeydelay -1
SetMouseDelay -1

pause::suspend
xbutton1::numpad1
xbutton2::numpad2
Space::F1
space::sendplay {space}{space}

 

видимо не правильно 

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


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

Ты 2 раза определяешь одну и ту же клавишу (пробел). Зачем?

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

Напиши, какие действия ты хочешь видеть на пробеле? Может на пробел ты хочешь просто нажимать 2 раза F1, чтобы центрировать героя?

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


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

Моментальное центрирование героя на пробел

тоесть одно нажатие пробела означало двойное нажатие на f1

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


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

Моментальное центрирование героя на пробел

тоесть одно нажатие пробела означало двойное нажатие на f1

так

#noenv
#IfWinActive ahk_class Warcraft III

setbatchlines -1
setkeydelay -1
SetMouseDelay -1

pause::suspend
xbutton1::numpad1
xbutton2::numpad2
Space::send {F1 2}

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


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

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

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

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

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

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

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

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

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

Загрузка...

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