Содержание

    HotkeyNet: устранение неполадок

    Разбираем сбои с программой Hotkeynet, ищем решение сопутствующих проблем.

    HotkeyNet: устранение неполадок

    Запуск игры

    Я нажимаю Ctrl+Alt+L, но игра не запускается.

    Убедитесь, что:

    1. Программа HotkeyNet запущена и в неё загружен подходящий скрипт. Это делается кнопкой "Load Script" в левом нижнем углу.
    2. Путь к файлу "Wow.exe" внутри скрипта указан верно и не содержит кириллицы. Узнать его точное место хранения можно в свойствах ярлыка World of Warcraft.
    3. В загруженном скрипте существует горячая клавиша Ctrl+Alt+L и именно она отвечает за запуск. А также она не конфликтует с другими комбинациями. Например, вы могли назначить её повторно в другом месте кода.
    4. В логах HotkeyNet после загрузки скрипта не появляются ошибки (отмечены красным). Очень часто нарушения правил написания кода делают неработоспособным весь скрипт.
    5. Для примитивных скриптов: на клавиатуре должна быть включена клавиша ScrollLock.

     

    После запуска я вижу только белые окна с кнопками OK

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

    • Вручную запустите одно игровое окно и проверьте его работу. Скорее всего, на этот раз вы увидите сообщение с той же кнопкой ОК, но уже с текстом. Его содержание поможет пролить свет на причину неполадки. Если уведомление появилось, а затем вы смогли зайти в игру, убедитесь, что оно не появляется снова при следующем запуске.
    • Проверьте права на запись в папку с игрой. Возможно вы скопировали её с другого компьютера либо переустановили ОС и у каталога остались привилегии от другого пользователя. В таком случае достаточно стать владельцем папки (ПКМ на папке > Свойства > Вкладка "Безопасность" > Дополнительно > Владелец - Изменить).
    • Если проблема все равно не уходит, попробуйте самый простой скрипт. Он не меняет размеры окон и делает меньше манипуляций с игровыми окнами. По сути данная рекомендация сводится к тому, что окна надо запустить и переименовать вручную (см. ниже).

     

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

    В зависимости от причины неполадки решение может отличаться:

    • HotkeyNet может слишком рано пытаться осуществить переименование. Тогда достаточно вставить задержку между командами Run и RenameTargetWin, например:

          <Run "C:\Games\World of Warcraft\WoW.exe"> // путь к исполняемому файлу игры

      <Wait 500> // задержка длительностью 0.5 сек

      <RenameTargetWin WoW%1%> // переименование окна

      Или попробуйте такой вызов окон:

          <Run "C:\Games\World of Warcraft\WoW.exe">
      
          <WaitForWin "World of Warcraft" 10000>
      
          <RenameTargetWin WoW%1%>
    • Некоторым мультибоксерам помогает переименование окон отдельной горячей клавишей:

      <Hotkey Ctrl R>
      <SendPC local>
      <RenameWin "World of Warcraft" WoW1>
      <RenameWin "World of Warcraft" WoW2>
      <RenameWin "World of Warcraft" WoW3>
      <RenameWin "World of Warcraft" WoW4>
      <RenameWin "World of Warcraft" WoW5>
    • В новых операционных системах Windows и/или с новыми версиями игры часто бывает так, что после запуска игры невидимое окно "World of Warcraft" в фоновом режиме пытается что-то скачать:

      Это окно не видно даже в диспетчере задач, но скрипт его переименовывает и передаёт нажатия именно в него, а не в игровой клиент. При этом HotkeyNet пишет в логах, что всё работает нормально.

      Для решения проблемы создайте в скрипте такой переключатель и пользуйтесь им:

      <Hotkey Ctrl R>
      <Toggle>
      <TargetForegroundWin> <RenameTargetWin WoW1>
      <Toggle>
      <TargetForegroundWin> <RenameTargetWin WoW2>
      <Toggle>
      <TargetForegroundWin> <RenameTargetWin WoW3>
      <Toggle>
      <TargetForegroundWin> <RenameTargetWin WoW4>
      <Toggle>
      <TargetForegroundWin> <RenameTargetWin WoW5>
      Чтобы переименовать окна с его помощью:
      1. Выделите первое окно WoW, затем нажмите Ctrl+R.
      2. Переключитесь на второе окно, снова нажмите Ctrl+R.
      3. И так далее с каждым окном по очереди.

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

    • Кроме того, может оказаться, что у вас уже открыто окно с фразой "World of Warcraft" в заголовке (например, папка с игрой). В этом случае с большой долей вероятности HotkeyNet переименует открытое окно проводника.

     

    Как отключить автоматическое скрытие панели задач перед стартом игровых клиентов?
    1. Закомментируйте в скрипте строки, содержащие команду SetTaskbarAutoHide. Это делается путём добавления в начало строки двух слешей //.
    2. Сохраните скрипт.
    3. Перезагрузите скрипт кнопкой "Reload Script".

     

    Некорректно вводятся имена учётных записей после запуска окон.

    Обычно это происходит из-за того, что в системе установлен русский язык ввода по умолчанию.

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

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

     

    Игра вылетает без ошибок.

    Чаще всего виноваты кривые/конфликтующие аддоны. Отключайте их по очереди до вылета чтобы распознать сбойный. А ещё стоит удалить кэш (Cache) и файлы с настройками (WTF - эту папку можно временно переместить или переименовать для диагностики).

    Нарушения в системе могут быть более глубокими. Тут лучше покопаться в логах через "Просмотр событий". Обновите драйверы, Windows, BIOS - всё, что вызывает подозрение. Вооружитесь утилитами проверки оперативной памяти и жесткого диска. Если диск имеет сбойные/нестабильные сектора, то файлы с игрой могли повредиться - тогда лучше скачать игру заново и сразу на исправный диск.

    А, может, в системе поселились вирусы? Они могут внедряться в процессы и нарушать их работу. Проверьте систему бесплатной утилитой CureIt или другим антивирусом. Нарушать работу процессов могут и полезные программы, например записывающие видео или показывающие оверлеи с измеренной производительностью.

     

    Где мне взять скрипт на 3 окна?

    Скачайте любой готовый скрипт из этой статьи и закомментируйте в нём лишние строки "LaunchAndRename" в секции запуска клиентов. Должно получиться примерно так:

    <Hotkey Ctrl Alt L>

    // ...

    <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>

    Сохраните изменения. Этого будет достаточно для нормальной работы скрипта.

    Также на сайте имеется генератор скриптов HotkeyNet, который может вам в этом помочь.

     

    Горячие клавиши

    Я назначил новую горячую клавишу в скрипте, но она не работает.

    Проверьте следующее:

    1. Скрипт после сохранения был перезагружен в программу.
    2. В логах HotkeyNet после загрузки скрипта не должно быть ошибок.
      Например, следующая ошибка явно говорит о том, что комбинация назначена несколько раз и будет работать только первая из них:
      <Hotkey F1> has already been defined. Only the first definition will be used.
      А если вы назначаете клавиши целыми списками и забыли указать одно исключение, то будет много ошибок, похожих на эту:
      Disregarding empty hotkey: <Hotkey Alt Z>
      Также могут быть и другие ошибки, мешающие правильной работе. Их исправление сильно повысит шансы починить горячую клавишу.

    3. Посмотрите, что происходит в логах HotkeyNet во время нажатия. Возможно, у вас просто отключены горячие клавиши, или не запущено окно, в которое нажатие должно доставляться.
      Имейте в виду, в отличие от простых нажатий, клавиши движения назначаются немного иначе.

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

     

    Некоторые кнопки на клавиатуре перестали реагировать на нажатия, и теперь я не могу нормально напечатать текст.

    Скорее всего, у вас включены горячие клавиши, назначаемые скриптом. Отключите их на время набора текста. По умолчанию в экспериментальных и базовых скриптах это делает кнопка Pause, а в примитивных ScrollLock.

    Также можно отключить горячие клавиши в главном окне HotkeyNet, сняв галку напротив "Pressed hotkeys" слева вверху. Или через пункт меню "Turn off hotkeys" в системном трее.

    Кстати, в экспериментальных и базовых скриптах можно печатать текст сразу во всех окнах, если при включённых горячих клавишах активировать ScrollLock. Это помогает ввести пароль или какие-нибудь чат-команды.

     

    Персонажи не следуют за главным и не атакуют общую цель. Они стоят на месте и могут только синхронно прыгать.

    Возможные причины:

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

    2. Не все клавиши или макросы в игре настроены правильно. Внимательнее следуйте прилагаемым инструкциям.

    3. Виновата кнопка ScrollLock. В экспериментальных и базовых скриптах она должна быть отключена, а в примитивных, наоборот, включена.

    4. Важно понимать, что специальные макросы выбора главного героя для экспериментальных скриптов требуют, чтобы привязанная к ним игровая клавиша была простой (без модификаторов), а также остальные сочетания с этой кнопкой в игре были свободны.
      Например, вы добавили такой специальный макрос на клавишу F1, но в игре с другими функциями связаны комбинации Shift+F1 и Ctrl+F1. Тогда вместо этого макроса будут вызываться другие функции, и выбор цели происходить не будет.
      Освободите дополнительные комбинации с этой кнопкой (unbind key) либо назначьте макрос на другую клавишу.

    5. WoW испытывает трудности с распознаванием некоторых нажатий в окнах, где установлена русская раскладка. Даже если вы поменяли в системе язык ввода по умолчанию на английский, после общения в чате на русском языке легко забыть вернуть раскладку обратно. После этого может возникнуть ситуация, когда какой-то персонаж "выключается из группы". Если ваш скрипт отправляет нажатия таких проблемных клавиш, добавьте их русские аналоги в игру, например:


    6. То же самое касается клавиш на цифровом блоке клавиатуры, расположенном справа. При разных состояниях NumLock игра может воспринимать их по-разному. 

    7. Если вы обладатель современной мультимедийной клавиатуры, проверьте, не отключили ли вы специальным Fn-переключателем верхний ряд функциональных клавиш F1-F12.

    8. Атака общей цели в экспериментальных скриптах по умолчанию реализована на клавишах от 1 до 9, 0, - и =. Как расширить список, смотрите в инструкции к скрипту на соответствующей странице.

     

    Производительность

    Мой процессор имеет 8 логических ядер, но игра тормозит.

    И при этом в диспетчере задач Windows некоторая часть ядер перегружена, а остальные простаивают? Это может происходить потому, что игра не поддерживает многоядерные процессоры, а ваш скрипт HotkeyNet не настроен должным образом на распределение нагрузки.

    В экспериментальных и базовых скриптах из этой статьи это реализовано для 4-ядерных процессоров. Когда происходит запуск, в шаблон "LaunchAndRename" двумя последними цифрами передаются номера логических ядер, которые должны отвечать за вычисления в запускаемом окне. Вот пример схемы для 8-ядерного процессора:

    <Hotkey Ctrl Alt L>

    // ...

    <ApplyTemplate LaunchAndRename 1 Login1 0 1>
    <ApplyTemplate LaunchAndRename 2 Login2 2 3>
    <ApplyTemplate LaunchAndRename 3 Login3 4 5>
    <ApplyTemplate LaunchAndRename 4 Login4 6 7>
    <ApplyTemplate LaunchAndRename 5 Login5 2 3>

    Подробнее о распределении нагрузки на процессор смотрите в описании команды SetAffinity.

     

    Игра все равно тормозит и даже закрывается с ошибками.

    Вы корректно настроили команду SetAffinity, процессор загружен равномерно и это не помогает? Посмотрите на вкладке "Производительность" в диспетчере задач Windows, какая аппаратная часть загружена сильнее. Иногда игра явно указывает, каких не хватает ресурсов:


    Снизить нагрузку ПК можно, выполнив ряд действий:

    1. Уменьшите качество графики в игре до минимума. Уменьшите число кадров в секунду в основном окне, например до 30fps. Если клиент не позволяет так сделать, можно поискать подобный функционал в панели управления драйвера вашей видеокарты.
    2. Для World of Warcraft доступна команда /console maxfpsbk 10. Она сократит fps в неактивных окнах еще сильнее. Поэкспериментируйте с числом.
    3. Уменьшите разрешение игровых окон. Вместо увеличения размера окна через увеличение количества пикселей можно увеличить размер каждого пикселя. Такой эффект даёт масштабирование текста на рабочем столе Windows. Например, если вы сделали масштаб элементов на экране 200%, то окна станут крупнее. Для размещения их в новом масштабе, площадь в пикселях можно будет уменьшить в 4 (!) раза. Координаты расположения окон и панелей в скрипте надо будет изменить с учетом этих изменений. Грубо говоря, экрану с разрешением 2560x1440 пикс. теперь будет соответствовать разрешение 1280x720 пикс. Конечно, есть еще вариант уменьшить разрешение самого экрана, но большинство современных дисплеев замыливают картинку при работе в неродном разрешении, или могут уменьшать FPS и скорость отклика.
    4. Отключите лишние аддоны. В падении производительности может участвовать какой-нибудь оверлей, квестовый помощник или красивая карта.
    5. Некоторые мультибоксеры используют специальные отредактированные клиенты, в которых заменены некоторые модели и текстуры на менее качественные для оптимизации потребления ресурсов.
    6. Попробуйте в игре ведомым персонажам настроить камеру так, чтобы они все смотрели в небо, или в себе ноги. Так ненужные для обзора окна будут чувствовать себя свободнее.

    Проверьте объём файла подкачки. Неиспользуемые приложения частично отправляются туда для разгрузки оперативной памяти при её нехватке.

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

    Конечно, я не могу не упомянуть банальный апгрейд/замену железа на более производительное. Или, быть может, у вас где-то в шкафу завалялся ноутбук. Тогда можно перенести несколько клиентов на него. Управлять вторым компьютером получится с основного ПК после настройки сетевой передачи кликов и нажатий.

     

    Интерфейс

    Панели, добавляемые скриптом, и окна выползают за пределы экрана.

    Чтобы передвинуть панели, откройте скрипт и в самом начале измените координаты в командах CreatePanel.

    Для изменения положения окон на экране будет удобно воспользоваться конструктором окон. Кнопка "Сохранить" в конструкторе подготовит код, пригодный для вставки в скрипт на место существующего макета.

     

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

    Это делает встроенная в Windows функция. С активным отслеживанием окон не требуется кликать в каждое окно для его активации, что очень удобно в мультибоксинге.

    HotkeyNet может автоматически включать её специальной командой. Чтобы она корректно отключалась, выходите из игры при помощи горячей клавиши Alt+F4. По задумке она также отключается при выключении горячих клавиш кнопкой Pause.

     


    Понравился материал? Расскажи друзьям!

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