10 аккаунтов на одном компьютере (нужны 2 макроса)

Ход создания этого скрипта и другие подробности смотрите в материале Эксперимент с HotkeyNet: избавляемся от макросов. Вот краткая инструкция по применению:

  1. Добавьте каждому персонажу такой макрос с именами героев из первой группы:
    /target [nomod, target=Nickname_1]
    /target [mod:ctrl, nomod:alt, target=Nickname_2]
    /target [nomod:ctrl, mod:alt, target=Nickname_3]
    /target [mod:shift, target=Nickname_4]
    /target [mod:ctrl, mod:alt, target=Nickname_5]
  2. Добавьте каждому персонажу такой макрос с именами героев из второй группы:
    /target [nomod, target=Nickname_6]
    /target [mod:ctrl, nomod:alt, target=Nickname_7]
    /target [nomod:ctrl, mod:alt, target=Nickname_8]
    /target [mod:shift, target=Nickname_9]
    /target [mod:ctrl, mod:alt, target=Nickname_10]
  3. Настройте клавиши в игре согласно таблице:
    Действие Кнопка
    Макрос для выбора цели (группа 1) F11
    Макрос для выбора цели (группа 2) F12
    Assist Target (Помочь цели)  F
    Follow Target (Следовать за целью) Alt+F
    SetView 4 (Восстановить ракурс 4) End
  4. Сохраните текст, который вы видите ниже, в файл и загрузите в HotkeyNet.
  5. Убедитесь, что путь к игре в секции запуска указан верно.
  6. Чтобы не вводить имена учётных записей при каждом входе, укажите их в скрипте (Login1-5 в секции запуска). Чтобы они вводились корректно, в системе должен быть установлен английский язык ввода по умолчанию.
  7. Макет расположения окон, применяемый здесь, рассчитан на один монитор с разрешением 1920х1080. Если у вас установлено другое разрешение, воспользуйтесь конструктором и замените цифры на подходящие.
  8. В вашей системе установлен не 4-ядерный процессор? Измените значения в команде SetAffinity для лучшего распределения нагрузки.
  9. Экранные кнопки, которые появляются в левом нижнем углу, выполняют следующие функции:
    • Hotkeys - включение/выключение горячих клавиш (кнопка Pause),
    • Typing - включение режима отправки всех нажатий в окна для набора текста (кнопка ScrollLock),
    • Start - запуск окон, которые ещё не запущены (комбинация Ctrl+Alt+L),
    • Exit - закрытие окон (комбинация Alt+F4).
  10. Как добавить ещё клавиш для атаки с автоматическим содействием (или, например, для взаимодействия с целью)? Найдите в скрипте список "KeyList AssistList" и допишите здесь клавиши через запятую.
  11. Для передачи кликов мыши используйте Insert (ЛКМ) и Delete (ПКМ). Дополнительные кнопки мыши отправляют в окна обычные нажатия: 0 - средняя кнопка, - и + - боковые.
  12. Используйте Shift+(1-5) для переключения между окнами или экранные кнопки на верхней панели. Переключайтесь между группами, нажимая Alt+Tab, и используйте обычные кнопки для переключения окон внутри активной группы.
  13. Используйте Alt+F4 для закрытия игровых окон вместо обычного выхода из игры. Это вернёт в исходное состояние некоторые другие функции, например, скрытую панель задач или активное отслеживание окон.
//======================================================================
// Экспериментальный скрипт для управления десятью окнами World of Warcraft
// с помощью программы HotkeyNet на одном компьютере без использования
// макросов "focus", "follow" и "assist".
//
// Автор скрипта: Pashted
// Источник: www.slashfocus.ru
//======================================================================


//----------------------------------------------------------------------
// Команда, автоматически запускаемая при загрузке скрипта.
//
// Перейдите в настройки HotkeyNet и убедитесь, что название команды в разделе
// "Execute command automatically" совпадает с указанным здесь.
//----------------------------------------------------------------------
<Command AutoExec>
// объявление переменной, отвечающей за то, какая группа активна на данный момент
<SetVar ActiveParty 1>

// создание панелей на экране
<CreatePanel SwitchPanel 468 0 600 24>
<CreatePanel ControlPanel 0 937 80 128>

<SetPanelStyle SwitchPanel Frameless>
<SetPanelStyle ControlPanel Frameless>

<TargetWin SwitchPanel>
<SetWinOpacity 92>
<TargetWin ControlPanel>
<SetWinOpacity 92>

// создание кнопок
<CreateColoredButton Button1 0 0 60 24 0x0B0B0B 0xED1C24 1>
<CreateColoredButton Button2 0 0 60 24 0x0B0B0B 0xED1C24 2>
<CreateColoredButton Button3 0 0 60 24 0x0B0B0B 0xED1C24 3>
<CreateColoredButton Button4 0 0 60 24 0x0B0B0B 0xED1C24 4>
<CreateColoredButton Button5 0 0 60 24 0x0B0B0B 0xED1C24 5>
<CreateColoredButton Button6 0 0 60 24 0x0B0B0B 0xED1C24 6>
<CreateColoredButton Button7 0 0 60 24 0x0B0B0B 0xED1C24 7>
<CreateColoredButton Button8 0 0 60 24 0x0B0B0B 0xED1C24 8>
<CreateColoredButton Button9 0 0 60 24 0x0B0B0B 0xED1C24 9>
<CreateColoredButton Button10 0 0 60 24 0x0B0B0B 0xED1C24 10>
<CreateColoredButton ButtonH 0 0 80 32 0x33AA33 0xFFFFFF Hotkeys> // состояние горячих клавиш
<CreateColoredButton ButtonS 0 0 80 32 0x101010 0xFFFFFF Typing> // состояние отправки всех нажатий в окна
<CreateColoredButton ButtonL 0 0 80 32 0x0B0B0B 0x808080 Start> // запуск недостающих окон
<CreateColoredButton ButtonE 0 0 80 32 0x660B0B 0xEEEEEE Exit> // закрытие окон

// назначение команд кнопкам
<SetButtonCommand Button1 ForceSwitch 1 1>
<SetButtonCommand Button2 ForceSwitch 1 2>
    <SetButtonCommand Button3 ForceSwitch 1 3>
    <SetButtonCommand Button4 ForceSwitch 1 4>
    <SetButtonCommand Button5 ForceSwitch 1 5>
    <SetButtonCommand Button6 ForceSwitch 2 1>
    <SetButtonCommand Button7 ForceSwitch 2 2>
    <SetButtonCommand Button8 ForceSwitch 2 3>
    <SetButtonCommand Button9 ForceSwitch 2 4>
    <SetButtonCommand Button10 ForceSwitch 2 5>
    <SetButtonHotkey ButtonH Hotkey Pause>
    <SetButtonHotkey ButtonS Hotkey ScrollLockOff ScrollLock>
    <SetButtonHotkey ButtonL Hotkey Ctrl Alt L>
<SetButtonHotkey ButtonE Hotkey Alt F4>

// перемещение кнопок на панели
<AddButtonToPanel Button1 SwitchPanel 0 0>
<AddButtonToPanel Button2 SwitchPanel 60 0>
<AddButtonToPanel Button3 SwitchPanel 120 0>
<AddButtonToPanel Button4 SwitchPanel 180 0>
<AddButtonToPanel Button5 SwitchPanel 240 0>
<AddButtonToPanel Button6 SwitchPanel 300 0>
<AddButtonToPanel Button7 SwitchPanel 360 0>
<AddButtonToPanel Button8 SwitchPanel 420 0>
<AddButtonToPanel Button9 SwitchPanel 480 0>
<AddButtonToPanel Button10 SwitchPanel 540 0>
<AddButtonToPanel ButtonH ControlPanel 0 0>
<AddButtonToPanel ButtonS ControlPanel 0 32>
<AddButtonToPanel ButtonL ControlPanel 0 64>
<AddButtonToPanel ButtonE ControlPanel 0 96>

// принудительный перенос панелей на передний план
<TargetWin SwitchPanel>
<AlwaysOnTop On>
<TargetWin ControlPanel>
<AlwaysOnTop On>


//----------------------------------------------------------------------
// Подпрограмма для изменения цвета кнопок на панели после переключения.
//----------------------------------------------------------------------
<Command SwitchColors>
<SetButtonColors Button%1% 0xAA1515 0xFFFFFF>
<SetButtonColors Button%2% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%3% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%4% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%5% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%6% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%7% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%8% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%9% 0x0B0B0B 0xED1C24>
<SetButtonColors Button%10% 0x0B0B0B 0xED1C24>


//----------------------------------------------------------------------
// Подпрограмма для изменения размеров и размещения окон на одном мониторе с разрешением 1920x1080.
//
// Дополнительные схемы расположения окон есть на странице
// www.slashfocus.ru/hotkeynet/window-layout-builder
//----------------------------------------------------------------------
<Command ResizeAndPosition>
<SendWinM WoW%1%>
<SetWinRect 0 0 1536 864>
<SendWinM WoW%2%>
<SetWinRect 0 864 384 216>
<SendWinM WoW%3%>
<SetWinRect 384 864 384 216>
<SendWinM WoW%4%>
<SetWinRect 768 864 384 216>
<SendWinM WoW%5%>
<SetWinRect 1152 864 384 216>
<SendWinM WoW%6%>
<SetWinRect 1536 0 384 216>
<SendWinM WoW%7%>
<SetWinRect 1536 216 384 216>
<SendWinM WoW%8%>
<SetWinRect 1536 432 384 216>
<SendWinM WoW%9%>
<SetWinRect 1536 648 384 216>
<SendWinM WoW%10%>
<SetWinRect 1536 864 384 216>


//----------------------------------------------------------------------
// Шаблон для запуска и переименования окон.
//
// В начале программа проверяет, существует ли окно, которое она собирается запустить.
// Благодаря этому повторное открытие окон добавит лишь те, которых не хватает.
//----------------------------------------------------------------------
<Template LaunchAndRename>
<If WinDoesNotExist WoW%1%>
<Run "C:\Games\World of Warcraft\WoW.exe"> // путь к исполняемому файлу игры

<WaitForWin "World of Warcraft" 10000>
<RenameTargetWin WoW%1%> // переименование окна
<RemoveWinFrame> // удаление рамки окна

<SetAffinity %3% %4%> // распределение нагрузки на процессор

<SendWin WoW%1%>
<Text %2%> // вставка имени аккаунта
<Key Tab>

// перемещение окон на исходные позиции
<ResizeAndPosition 1 2 3 4 5 6 7 8 9 10>

// создание эффекта полосы загрузки
<SetButtonColors Button%1% 0x500000 0xFFFFFF>

// принудительный перенос панелей на передний план
<TargetWin SwitchPanel>
<AlwaysOnTop On>
<TargetWin ControlPanel>
<AlwaysOnTop On>
<EndIf>
<EndTemplate>


//----------------------------------------------------------------------
// Старт игровых клиентов.
//
// Для открытия недостающих окон просто запустите процесс еще раз. Закрывать все окна необязательно.
//
// В шаблон LaunchAndRename подставляются в виде двух последних цифр номера логических ядер процессора.
// Применяемая здесь схема рассчитана на четыре логических ядра.
// Подробности смотрите в описании команды SetAffinity:
// www.slashfocus.ru/hotkeynet/commands/item/setaffinity
//----------------------------------------------------------------------
<Hotkey Ctrl Alt L>
<TurnHotkeysOn> // включение отправки нажатий в окна
<SetButtonColors ButtonH 0x33AA33> // изменение цвета кнопки H на зелёный

<TargetWin HotkeyNet>
<MinimizeWin> // сворачивание главного окна HotkeyNet

<SetTaskbarAutoHide On> // скрытие панели задач

<ApplyTemplate LaunchAndRename 1 Login1 0 1>
<ApplyTemplate LaunchAndRename 2 Login2 0 1>
<ApplyTemplate LaunchAndRename 3 Login3 2 3>
<ApplyTemplate LaunchAndRename 4 Login4 2 3>
<ApplyTemplate LaunchAndRename 5 Login5 2 3>
<ApplyTemplate LaunchAndRename 6 Login6 0 1>
<ApplyTemplate LaunchAndRename 7 Login7 0 1>
<ApplyTemplate LaunchAndRename 8 Login8 2 3>
<ApplyTemplate LaunchAndRename 9 Login9 2 3>
<ApplyTemplate LaunchAndRename 10 Login10 2 3>

<SwitchColors 1 2 3 4 5 6 7 8 9 10>

<SetActiveWindowTrackingDelay 35> // установка задержки перед активацией окна в мс
<SetActiveWindowTracking On> // включение активного отслеживания окон


//----------------------------------------------------------------------
// Закрытие игровых клиентов.
//----------------------------------------------------------------------
<Command Exit>
<SendWin %1%>
<CloseWin>


<Hotkey Alt F4>
<Exit WoW1>
<Exit WoW2>
<Exit WoW3>
<Exit WoW4>
<Exit WoW5>
<Exit WoW6>
<Exit WoW7>
<Exit WoW8>
<Exit WoW9>
<Exit WoW10>
<Exit "World of Warcraft">

<SetVar ActiveParty 1> // сброс номера активной группы

<SetTaskbarAutoHide Off> // восстановление панели задач

<SetActiveWindowTracking Off> // выключение активного отслеживания окон

<TurnHotkeysOff> // выключение отправки нажатий
<SetButtonColors ButtonH 0x151515> // изменение цвета кнопки H на чёрный

<TargetWin HotkeyNet>
<RestoreWinSize> // восстановление главного окна HotkeyNet

<ResetToggles> // сброс состояния переключателей
<Cancel> // отмена текущих и запланированных действий


//----------------------------------------------------------------------
// Назначение меток окнам для отправки нажатий.
//----------------------------------------------------------------------
<Label w1 local SendWinM WoW1>
<Label w2 local SendWinM WoW2>
<Label w3 local SendWinM WoW3>
<Label w4 local SendWinM WoW4>
<Label w5 local SendWinM WoW5>
<Label w6 local SendWinM WoW6>
<Label w7 local SendWinM WoW7>
<Label w8 local SendWinM WoW8>
<Label w9 local SendWinM WoW9>
<Label w10 local SendWinM WoW10>


//----------------------------------------------------------------------
// Создание списка и назначение основных горячих клавиш.
//
// Напротив except указаны исключения, которые не нужно назначать или уже были назначены.
//----------------------------------------------------------------------
<KeyList AssistList 0-9, Minus, Plus> // содействие главному перед нажатием

<KeyList MainList A-Z, F1-F12, NumpadMinus, NumpadPlus except AssistList> // простые нажатия


<Template Assign>
<Hotkey %1%>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %Trigger%>
<EndTemplate>


<ApplyTemplate Assign "ScrollLockOff MainList except W, A, S, D, Q, E, M, B, O, L">
<ApplyTemplate Assign "Shift ScrollLockOff MainList">
<ApplyTemplate Assign "Ctrl MainList">
<ApplyTemplate Assign "Alt MainList except F4, F">
<ApplyTemplate Assign "Ctrl Alt MainList except L">


// Используйте в игре ScrollLock для включения режима полной отправки простых нажатий.
<ApplyTemplate Assign "ScrollLockOn AllMainKeys except ScrollLock, Pause">
<ApplyTemplate Assign "Shift ScrollLockOn AllMainKeys except ScrollLock, Pause">


//----------------------------------------------------------------------
// Назначение горячих клавиш c автоматическим содействием ведущему персонажу.
//
// Для корректной работы в игре должны быть назначены дополнительные действия.
//
// Подробнее об этом смотрите на странице:
// www.slashfocus.ru/hotkeynet/item/eksperiment-s-hotkeynet-izbavlyaemsya-ot-makrosov
//----------------------------------------------------------------------
<Template TargetMain>
// отправка каких-то нажатий в какие-то окна
<SendLabel %1%>
<Key %2%>
<Key %3%>
<EndTemplate>


<Template Slaves>
<If ActiveWinIs WoW1>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w6, w7, w8, w9, w10" F11 %1%>

<Else If ActiveWinIs WoW2>
<ApplyTemplate TargetMain "w1, w3, w4, w5, w6, w7, w8, w9, w10" "Ctrl F11" %1%>

<Else If ActiveWinIs WoW3>
<ApplyTemplate TargetMain "w2, w1, w4, w5, w6, w7, w8, w9, w10" "Alt F11" %1%>

<Else If ActiveWinIs WoW4>
<ApplyTemplate TargetMain "w2, w3, w1, w5, w6, w7, w8, w9, w10" "Shift F11" %1%>

<Else If ActiveWinIs WoW5>
<ApplyTemplate TargetMain "w2, w3, w4, w1, w6, w7, w8, w9, w10" "Ctrl Alt F11" %1%>

<Else If ActiveWinIs WoW6>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w1, w7, w8, w9, w10" F12 %1%>

<Else If ActiveWinIs WoW7>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w6, w1, w8, w9, w10" "Ctrl F12" %1%>

<Else If ActiveWinIs WoW8>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w6, w7, w1, w9, w10" "Alt F12" %1%>

<Else If ActiveWinIs WoW9>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w6, w7, w8, w1, w10" "Shift F12" %1%>

<Else If ActiveWinIs WoW10>
<ApplyTemplate TargetMain "w2, w3, w4, w5, w6, w7, w8, w9, w1" "Ctrl Alt F12" %1%>
<EndIf>
<EndTemplate>


<Hotkey ScrollLockOff AssistList; Ctrl AssistList; Alt AssistList except 5, 6>
<ApplyTemplate Slaves F>

// атака общей цели
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %Trigger%>


<Hotkey Alt F> // следование за главным
<ApplyTemplate Slaves %Trigger%>


<Hotkey Shift 7> // следование друг за другом
<SendLabel w2>
<Key F11>
<SendLabel w3>
<Key Ctrl F11>
<SendLabel w4>
<Key Alt F11>
<SendLabel w5>
<Key Shift F11>
<SendLabel w6>
<Key Ctrl Alt F11>
<SendLabel w7>
<Key F12>
<SendLabel w8>
<Key Ctrl F12>
<SendLabel w9>
<Key Alt F12>
<SendLabel w10>
<Key Shift F12>
<SendLabel w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key Alt F>


<Hotkey Alt 5, 6> // лечение главного персонажа
<SendFocusWin>
<Key %Trigger%>

<ApplyTemplate Slaves %TriggerMainKey%>


//----------------------------------------------------------------------
// Назначение дополнительных горячих клавиш.
//
// При обычном нажатии произойдёт отправка в активное окно.
// Нажатие вместе с клавишей Shift отправится во все окна.
//----------------------------------------------------------------------
<Hotkey ScrollLockOff Esc>
<SendFocusWin> // отправка нажатия в активное на данный момент окно
<Key %Trigger%>

<SendPC local>
<ResetToggles> // сброс состояния переключателей
<Cancel> // отмена текущих и запланированных действий


<Hotkey ScrollLockOff Shift Esc, Tab, Enter, Divide, Backspace>
<SendFocusWin>
<KeyUp Shift> // отпускание клавиши Shift

<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %TriggerMainKey%> // отправка нажатия без модификатора Shift


//----------------------------------------------------------------------
// Клавиша Pause быстро включает либо отключает передачу клавиш.
// Требуется в случаях, когда нужно напечатать что-то в чате или другом приложении.
//----------------------------------------------------------------------
<Hotkey Pause>
<If HotkeysAreOn> // если оправка нажатий в окна активна
<TurnHotkeysOff> // выключаем отправку нажатий
<SetActiveWindowTracking Off> // выключаем активное отслеживание окон
<SetButtonColors ButtonH 0x151515> // изменяем цвет кнопки H на чёрный

<Else> // если отправка нажатий в окна неактивна
<TurnHotkeysOn> // включаем отправку нажатий
<SetActiveWindowTracking On> // включаем активное отслеживание окон
<SetButtonColors ButtonH 0x33AA33> // изменяем цвет кнопки H на зелёный
<EndIf>

// принудительно закрепляем панели на переднем плане
<TargetWin SwitchPanel>
<AlwaysOnTop On>
<TargetWin ControlPanel>
<AlwaysOnTop On>


//----------------------------------------------------------------------
// Клавиша ScrollLock переключает режим отправки всех нажатий в окна.
// Требуется в случаях, когда нужно напечатать текст сразу во всех окнах, например, ввести пароль.
//----------------------------------------------------------------------
<Hotkey ScrollLockOff ScrollLock>
// отправка нажатия в активное окно
<PassThrough>
// измененяем цвет кнопки S на жёлтый
<SetButtonColors ButtonS 0xEEEE55 0x151515>
// изменяем команду на кнопке для правильной работы клика
<SetButtonHotkey ButtonS Hotkey ScrollLockOn ScrollLock>


<Hotkey ScrollLockOn ScrollLock>
// отправка нажатия в активное окно
<PassThrough>
// измененяем цвет кнопки S на чёрный
<SetButtonColors ButtonS 0x101010 0xFFFFFF>
// изменяем команду на кнопке для правильной работы клика
<SetButtonHotkey ButtonS Hotkey ScrollLockOff ScrollLock>


//----------------------------------------------------------------------
// Управление расстановкой десяти персонажей
//----------------------------------------------------------------------
<Template Move>
<MovementHotkey ScrollLockOff Ctrl Right>
<SendLabel w2, w3, w4>
<Key %3%>
<SendLabel w8, w9, w10>
<Key %4%>

<MovementHotkey ScrollLockOff Ctrl Left>
<SendLabel w2, w3, w4>
<Key %4%>
<SendLabel w8, w9, w10>
<Key %3%>

<MovementHotkey ScrollLockOff Right>
<SendLabel w2, w5, w8>
<Key %3%>
<SendLabel w4, w7, w10>
<Key %4%>

<MovementHotkey ScrollLockOff Left>
<SendLabel w2, w5, w8>
<Key %4%>
<SendLabel w4, w7, w10>
<Key %3%>

<MovementHotkey ScrollLockOff Ctrl Up>
<SendLabel w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %1%>

<MovementHotkey ScrollLockOff Ctrl Down>
<SendLabel w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %2%>

<MovementHotkey ScrollLockOff Up>
<SendLabel w3, w5, w7, w9>
<Key %1%>

<MovementHotkey ScrollLockOff Down>
<SendLabel w3, w5, w7, w9>
<Key %2%>
<EndTemplate>

<ApplyTemplate Move W S Q E>


//----------------------------------------------------------------------
// Переопределение действий для пробела - после прыжка побочные персонажи продолжат следовать за главным.
// Требуется во время полёта и плавания.
//----------------------------------------------------------------------
<Hotkey ScrollLockOff Space>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<KeyDown Space> // нажатие и удержание клавиши Пробел


<HotkeyUp ScrollLockOff Space>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<KeyUp Space> // отпускание клавиши Пробел

// следование за тем персонажем, от лица которого на данный момент осуществляется управление
<SendPC local>
<DoHotkey Hotkey Alt F>


//----------------------------------------------------------------------
// Переключение между окнами.
//
// Переключение между группами осуществляется по Alt+Tab.
//----------------------------------------------------------------------
<Template Switch> // шаблон для создания кнопок переключения
<Hotkey ScrollLockOff Shift %1%>
<If ActiveParty Is 1>
<SwitchColors %1% %2% %3% %4% %5% 6 7 8 9 10>
<ResizeAndPosition %1% %2% %3% %4% %5% 6 7 8 9 10>

<TargetWin WoW%1%>
<SetActiveWin> // активация окна, на которое было произведено переключение

<SendPC local>
<DoHotkey Hotkey Alt F>

<SendLabel w%2%, w%3%, w%4%, w%5%, w6, w7, w8, w9, w10>
<Key End>
<Key End>

<Else>
<SwitchColors %6% 2 3 4 5 1 %7% %8% %9% %10%>
<ResizeAndPosition %6% 2 3 4 5 1 %7% %8% %9% %10%>

<TargetWin WoW%6%>
<SetActiveWin> // активация окна, на которое было произведено переключение

<SendPC local>
<DoHotkey Hotkey Alt F>

<SendLabel w1, w2, w3, w4, w5, w%7%, w%8%, w%9%, w%10%>
<Key End>
<Key End>
<EndTemplate>


<ApplyTemplate Switch 1 2 3 4 5 6 7 8 9 10>
<ApplyTemplate Switch 2 1 3 4 5 7 6 8 9 10>
<ApplyTemplate Switch 3 2 1 4 5 8 7 6 9 10>
<ApplyTemplate Switch 4 2 3 1 5 9 7 8 6 10>
<ApplyTemplate Switch 5 2 3 4 1 10 7 8 9 6>


<Command ForceSwitch> // подпрограмма, позволяющая переключаться между группами
<SetVar ActiveParty %1%>
<DoHotkey Hotkey ScrollLockOff Shift %2%>


<Hotkey Ctrl Enter>
// если навести курсор на одно из окон и нажать Ctrl+Enter, будет произведено переключение на это окно
<If ActiveWinIs WoW1>
<ForceSwitch 1 1>
<Else If ActiveWinIs WoW2>
<ForceSwitch 1 2>
<Else If ActiveWinIs WoW3>
<ForceSwitch 1 3>
<Else If ActiveWinIs WoW4>
<ForceSwitch 1 4>
<Else If ActiveWinIs WoW5>
<ForceSwitch 1 5>
<Else If ActiveWinIs WoW6>
<ForceSwitch 2 1>
<Else If ActiveWinIs WoW7>
<ForceSwitch 2 2>
<Else If ActiveWinIs WoW8>
<ForceSwitch 2 3>
<Else If ActiveWinIs WoW9>
<ForceSwitch 2 4>
<Else If ActiveWinIs WoW10>
<ForceSwitch 2 5>


<Hotkey Alt Tab> // переключение между группами на 6-е окно или на 1-е
<If ActiveParty Is 1>
<ForceSwitch 2 1>
<Else>
<ForceSwitch 1 1>


//----------------------------------------------------------------------
// Передача кликов мыши.
//
// Клик произойдет только в той группе, над которой находится курсор.
//----------------------------------------------------------------------
<Template Mouse>
<SendWinS WoW%1%>
<ClickMouse %6%>
<SendWinS WoW%2%>
<ClickMouse %6%>
<SendWinS WoW%3%>
<ClickMouse %6%>
<SendWinS WoW%4%>
<ClickMouse %6%>
<SendWinS WoW%5%>
<ClickMouse %6%>
<EndTemplate>


<Hotkey ScrollLockOff Insert> // клик левой кнопкой мыши
<If ActiveWinIs WoW1>
<ApplyTemplate Mouse 1 2 3 4 5 LButton>
<Else If ActiveWinIs WoW2>
<ApplyTemplate Mouse 1 2 3 4 5 LButton>
<Else If ActiveWinIs WoW3>
<ApplyTemplate Mouse 1 2 3 4 5 LButton>
<Else If ActiveWinIs WoW4>
<ApplyTemplate Mouse 1 2 3 4 5 LButton>
<Else If ActiveWinIs WoW5>
<ApplyTemplate Mouse 1 2 3 4 5 LButton>
<Else>
<ApplyTemplate Mouse 6 7 8 9 10 LButton>


<Hotkey ScrollLockOff Delete> // клик правой кнопкой мыши
<If ActiveWinIs WoW1>
<ApplyTemplate Mouse 1 2 3 4 5 RButton>
<Else If ActiveWinIs WoW2>
<ApplyTemplate Mouse 1 2 3 4 5 RButton>
<Else If ActiveWinIs WoW3>
<ApplyTemplate Mouse 1 2 3 4 5 RButton>
<Else If ActiveWinIs WoW4>
<ApplyTemplate Mouse 1 2 3 4 5 RButton>
<Else If ActiveWinIs WoW5>
<ApplyTemplate Mouse 1 2 3 4 5 RButton>
<Else>
<ApplyTemplate Mouse 6 7 8 9 10 RButton>


//----------------------------------------------------------------------
// Дополнительные кнопки мыши.
//
// В связи с тем, что дополнительные кнопки не совершают клик как таковой,
// нам не нужно передавать их нажатия так же, как обычные клики.
// Вместо этого мы передадим в окна нажатие другой клавиши,
// которую можно назначить в самой игре на любое действие.
//----------------------------------------------------------------------
<Template MouseButton>
<Hotkey ScrollLockOff %1%>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key %2%>

<Hotkey ScrollLockOff Shift %1%>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key Shift %2%>

<Hotkey Ctrl %1%>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key Ctrl %2%>

<Hotkey Alt %1%>
<SendLabel w1, w2, w3, w4, w5, w6, w7, w8, w9, w10>
<Key Alt %2%>
<EndTemplate>


<ApplyTemplate MouseButton MButton 0> // средняя кнопка передаст в окна нажатие клавиши 0
<ApplyTemplate MouseButton Button4 Minus> // первая боковая кнопка передаст в окна нажатие клавиши Minus
<ApplyTemplate MouseButton Button5 Plus> // вторая боковая кнопка передаст в окна нажатие клавиши Plus