1 (изменено: vessager, 2014-05-14 16:10:16)

Тема: Вопрос по поводу макросов для mk9

В общем, я в AHK не разбираюсь чуть менее, чем совсем. То есть вообще, ибо залез в данную программу для конкретной вещи.
Вопрос следующий:

vk70::
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 675
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 150
send {vk55 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk55 up}
Sleep, 1
send {vk4F up}
Sleep, 350
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 150
send {vk4F down}
Sleep, 1
send {vk4F up}
Sleep, 15
send {vk4A down}
Sleep, 1
send {vk4A up}
Sleep, 15
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 150
send {vk53 down}
Sleep, 1
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk44 up}
Sleep, 1
send {vk4F up}

Вот этот код на стандартное комбо, когда противник стоит справа.
Скрипт включается по нажатию клавиши F1.
Мне же нужно чтобы скрипт выполнялся когда я удерживаю данную клавишу. То есть, если она отпускается, то скрипт резко останавливается и при последующем зажатии F1 (в след. раз) начинается не с места, на котором остановился, а заново.
В общем, запрос тот еще, так что заранее большое спасибо, если кто-то ответит.

И да, проще же вводить в код не всякие "vk44", "vk4F" и т.д., а просто "D" и "O". Что нужно сделать, чтобы такой ввод работал?

2

Re: Вопрос по поводу макросов для mk9


combo := {"{vk41 down}":1, "{vk4F down}":15, "{vk41 up}":1, "{vk4F up}":675, "{vk44 down}":1, "{vk44 up}":15
        , "{vk44 down}":15, "{vk44 up}":150, "{vk55 down}":1, "{vk4F down}":15, "{vk55 up}":0}

F1::
    For k, v in combo
    {
        If !GetKeyState(A_ThisHotkey, "P")
            Break
        SendInput % k
        Sleep % v
    } 
    Return

И да, проще же вводить в код не всякие "vk44", "vk4F" и т.д., а просто "D" и "O". Что нужно сделать, чтобы такой ввод работал?

Для буквенных клавиш лучше писать кодами.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: Вопрос по поводу макросов для mk9

Странно, но так сбивается весь тайминг похоже. А он там весьма жесткий. Я понимаю, что вообще-то мне стоит отправиться изучать руководство или FAQ по AHK, но все же.
Раз так не работает (вроде бы), то можно ли сделать по-другому:
Жмется один раз F1, начинается скрипт (комбо). Потом жмется еще раз F1 (или даже другая клавиша) и скрипт останавливается (персонаж перестает наносить удары). Затем, при новом нажатии F1 комбо начинается сначала.
Я извиняюсь за свое незнание простейших вещей, но вы ведь не вручную переписывали скрипт? Тогда в какой программе можно быстро превратить вот такой код (в столбик, развернутый) в строчный и с сокращениями.

Еще раз спасибо.

4

Re: Вопрос по поводу макросов для mk9

Написано руками. И зачем превращать код, если его можно изначально написать как надо. Паузы откоректируйте. Или напишите например:

Sleep % v - 20
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: Вопрос по поводу макросов для mk9

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

6

Re: Вопрос по поводу макросов для mk9

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

7 (изменено: serzh82saratov, 2014-05-14 19:16:35)

Re: Вопрос по поводу макросов для mk9


SetBatchLines -1

combo := {"{vk41 down}":1, "{vk4F down}":15, "{vk41 up}":1, "{vk4F up}":675, "{vk44 down}":1, "{vk44 up}":15
        , "{vk44 down}":15, "{vk44 up}":150, "{vk55 down}":1, "{vk4F down}":15, "{vk55 up}":0}

F1:: 
    For k, v in combo
    {
        If !GetKeyState(A_ThisHotkey, "P")
            Break
        SendInput % k
        Sleep % v
    } 
    KeyWait, % A_ThisHotkey
    Return  
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: Вопрос по поводу макросов для mk9

Все равно комбо не воспроизводит как надо. Даже начало не работает верно. В тот раз все было слишком быстро, в этот же - слишком медленно (воспроизводится нажатие только пары первых клавиш, и то как-то неверно). Ладно, не буду дальше докучать. Пойду учить матчасть пожалуй.

9

Re: Вопрос по поводу макросов для mk9

Может дело в SendInput. Попробуйте заменить на Send или SendPlay.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: Вопрос по поводу макросов для mk9

Нет, тоже самое. Плохая была идея, я лучше сделаю бинд на кнопку, нажатие на которую остановит комбо. Так проще. Все равно спасибо.

11

Re: Вопрос по поводу макросов для mk9

Не выходит сделать бинд именно на остановку комбо, получается только на паузу. Подскажите пожалуйста, какой код должен быть для этого. И можно ли сделать break скрипта на ту же кнопку, что и запуск (то есть если скрипт не выполняется - запуск, а если да - остановка). Если нельзя или это сложно - просто подскажите как сделать это хотя бы на другую кнопку. А то я уже всякое перепробовал. Либо пауза, либо не работает (если break прописывать).

12

Re: Вопрос по поводу макросов для mk9

Ну тогда прописывать везде так:


send {vk41 down}
Sleep, 1
If !GetKeyState(A_ThisHotkey, "P")
    Return
send {vk4F down}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
    Return 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

13 (изменено: vessager, 2014-05-14 22:10:30)

Re: Вопрос по поводу макросов для mk9

Спасибо, почти то что надо. Но проблема со спамом комбо осталась. Из-за того что тайминг очень ограничен (поменять не могу, тогда комбо работать не будет), а скрипт начинает повторятся, последние движения персонаж делает неверно. Проблема здесь в том, что скрипт начинает уже по новой нажимать клавиши из своего начала. А вот начало и середина работают отлично.

14 (изменено: serzh82saratov, 2014-05-14 22:13:45)

Re: Вопрос по поводу макросов для mk9

Но проблема со спамом комбо осталась


***
    send {vk4F up}
    KeyWait, % A_ThisHotkey
    Return  
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15 (изменено: vessager, 2014-05-14 22:18:43)

Re: Вопрос по поводу макросов для mk9

Вот теперь идеально. Правда, в 1 случае из 10 после скрипта заедает (или что там может быть?) клавиша и висит это секунд 5, но это уже мелочи. В остальном отлично стало работать. Спасибо.

16

Re: Вопрос по поводу макросов для mk9

Правда, в 1 случае из 10 после скрипта заедает


F1Up := 1

#If F1Up

F1:: 
    F1Up := 0
    Код без KeyWait в конце
    Return  
#If

F1 Up:: F1Up := 1
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

17

Re: Вопрос по поводу макросов для mk9

Это я так понял после KeyWait прописывать или наоборот?

18

Re: Вопрос по поводу макросов для mk9

Вообще без KeyWait.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

19

Re: Вопрос по поводу макросов для mk9

Прописал. Вроде исчезло. Больше никаких глюков или ошибок нет.

20

Re: Вопрос по поводу макросов для mk9

Доброго времени суток, я тоже новичёк в этом деле. Не все видоизменения кода понял. Готовый код не скините? Я в нем разберусь и под себя подредактирую...

21

Re: Вопрос по поводу макросов для mk9

jakita7355608 пишет:

Доброго времени суток, я тоже новичёк в этом деле. Не все видоизменения кода понял. Готовый код не скините? Я в нем разберусь и под себя подредактирую...

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

Кенши - стандартное комбо влево.
Делается пока зажата кнопка. Отпускаете - комбо стопится и след. его часть не воспроизводится (если неудачно заинициировали).

+ открыть спойлер
vk36::
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk55 up}
Sleep, 800
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk4A down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 250
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk44 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk44 up}
Sleep, 1
send {vk55 up}
Sleep, 800
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk4A down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk20 down}
Sleep, 15
send {vk20 up}
KeyWait, % A_ThisHotkey
Return 

Кенши - стандартное комбо вправо.  Отличается только взаимозаменой кнопок "A" и "D".

+ открыть спойлер
vk35::
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk55 up}
Sleep, 800
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1 
send {vk4A down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 250
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk41 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk41 up}
Sleep, 1 
send {vk55 up}
Sleep, 800
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk4A down}
Sleep, 15
send {vk44 up}
Sleep, 1 
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 15
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk20 down}
Sleep, 15
send {vk20 up}
KeyWait, % A_ThisHotkey
Return 

Вот это пример рабочего кода. Есть еще на Джейд и Скорпиона. Кидаю в спойлерах ниже.

+ Скорпион

Влево

vk38::
send {vk41 down}
send {vk57 down}
Sleep, 15
send {vk41 up}
send {vk57 up}
Sleep, 400
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 15
send {vk55 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk20 down}
Sleep, 15
send {vk55 up}
Sleep, 1
send {vk20 up}
Sleep, 2000
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk57 down}
Sleep, 100
send {vk57 up}
Sleep, 400
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep,1
send {vk55 up}
Sleep,350
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,1
Send,{vk41 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,15
Send,{vk41 up}
Sleep,200
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,1
Send,{vk4F down}
Sleep,15
Send,{vk44 up}
Sleep,1
Send,{vk4F up}
Sleep,450
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,1
Send,{vk41 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,15
Send,{vk41 up}
Sleep,400
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk55 down}
Sleep,15
Send,{vk55 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk55 down}
Sleep,15
Send,{vk55 up}
Sleep,250
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk44 down}
Sleep, 1
send {vk4A down}
Sleep,15
send {vk53 up}
Sleep, 1
send {vk44 up}
Sleep, 1
send {vk4A up}
Sleep,450
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,1
Send,{vk44 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,15
Send,{vk44 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep,150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4C down}
Sleep, 1
send {vk4C up}
KeyWait, % A_ThisHotkey
Return 

Вправо

vk37::
send {vk44 down}
send {vk57 down}
Sleep, 15
send {vk44 up}
send {vk57 up}
Sleep, 400
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 15
send {vk55 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk20 down}
Sleep, 15
send {vk55 up}
Sleep, 1
send {vk20 up}
Sleep, 2000
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk57 down}
Sleep, 100
send {vk57 up}
Sleep, 400
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep,1
send {vk55 up}
Sleep,350
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,1
Send,{vk44 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,15
Send,{vk44 up}
Sleep,200
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,1
Send,{vk4F down}
Sleep,15
Send,{vk41 up}
Sleep,1
Send,{vk4F up}
Sleep,450
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,1
Send,{vk44 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk44 down}
Sleep,15
Send,{vk44 up}
Sleep,400
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk55 down}
Sleep,15
Send,{vk55 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk55 down}
Sleep,15
Send,{vk55 up}
Sleep,250
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk41 down}
Sleep, 1
send {vk4A down}
Sleep,15
send {vk53 up}
Sleep, 1
send {vk41 up}
Sleep, 1
send {vk4A up}
Sleep,450
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,1
Send,{vk41 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
Send,{vk41 down}
Sleep,15
Send,{vk41 up}
Sleep, 200
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep,15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk55 up}
Sleep,150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4C down}
Sleep, 1
send {vk4C up}
KeyWait, % A_ThisHotkey
Return 
+ Джейд

Влево

vk77::
send {vk44 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk55 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 950
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep,350
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk44 down}
Sleep, 1 
send {vk4F down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 700
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 160
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk55 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk55 up}
Sleep, 1
send {vk4F up}
Sleep, 375
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk41 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 15
send {vk41 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4F down}
Sleep, 1
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk4A down}
Sleep, 1
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return 
send {vk53 down}
Sleep, 1
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep,1
send {vk20 down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 1
send {vk20 up}
KeyWait, % A_ThisHotkey
Return 

Вправо

vk76::
send {vk41 down}
Sleep, 1
send {vk55 down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk55 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk53 down}
Sleep, 1
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 950
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep,350
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk41 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk41 up}
Sleep, 1
send {vk4F up}
Sleep, 700
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 160
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk55 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk55 up}
Sleep, 1
send {vk4F up}
Sleep, 375
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 1
send {vk44 up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 15
send {vk44 up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk4F down}
Sleep, 1
send {vk4F up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk4A down}
Sleep, 1
send {vk4A up}
Sleep, 15
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep, 15
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 150
If !GetKeyState(A_ThisHotkey, "P")
Return
send {vk53 down}
Sleep, 1
send {vk44 down}
Sleep, 1
send {vk4F down}
Sleep,1
send {vk20 down}
Sleep, 15
send {vk53 up}
Sleep, 1
send {vk44 up}
Sleep, 1
send {vk4F up}
Sleep, 1
send {vk20 up}
KeyWait, % A_ThisHotkey
Return 

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

22 (изменено: jakita7355608, 2014-07-08 02:53:28)

Re: Вопрос по поводу макросов для mk9

Таймить я умею, посижу подгоню(и переделаю под свои кнопки), а вот писать код нет. Спасибо вам огромное! Где "плюс" я на этом форуме не нашел


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

PS2 Решил на джейд затестить... какие бинды у вас? Вплане VK55 - Это U на клаве и это либо Квадрат либо треугольник на джойстике... и так далее. Значения O и J я ещё не нашел))))