Move My Bags для WoW: сумки запомнят своё место навсегда

Move My Bags для World of Warcraft позволяет перетаскивать окна сумок и сохранять их позицию без замены интерфейса. Узнайте, как установить и настроить аддон.

Move My Bags

Наверняка каждый WoW-игрок сталкивался с этим: вы тратите минуты, аккуратно расставляя окна сумок по экрану, а после нажатия клавиши B всё возвращается в правый нижний угол. Blizzard заново привязывает каждую открытую сумку при каждом её открытии, поэтому ни одно ваше действие не переживает следующего нажатия B. Именно поэтому привычные способы не работают, а переместить сумки раньше означало установить аддон, целиком заменяющий интерфейс инвентаря.

Move My Bags решает задачу иначе: он перемещает те самые окна, которые уже создала Blizzard. Перетащили одну сумку — она осталась там, где вы её оставили. Никакого нового окна инвентаря, никакого меню, настроек или собственного движка раскладки. Пока вы ничего не перетащили, аддон не трогает ни одной привязки — вы получаете дефолтное поведение Blizzard полностью без изменений.

Как работает аддон Move My Bags для World of Warcraft

Принцип работы максимально прост: перетащите окно — и это весь интерфейс. Управление осваивается за десять секунд:

  • Левый перетаск окна сумки (в любую точку, кроме слота с предметом) перемещает её;
  • Shift + правый клик возвращает конкретное окно туда, где его разместила Blizzard;
  • Команда /mmb reset возвращает на место все окна сразу.

Аддон работает и с отдельными окнами сумок, и с объединённым окном &mdash что важно, ведь комбинированное окно изначально вообще не перетаскивается. Оно помечено как перетаскиваемое в XML Blizzard, но обработчик перетаскивания к нему не подключён, поэтому сдвинуть его не может ничто. Move My Bags закрывает и этот пробел. Никакой панели опций здесь нет, потому что и опций никаких нет.

Колонка закрывает дыры

Вытащите одну сумку из стопки &mdash и Blizzard продолжит раскладывать остальные так, будто она никуда не девалась, оставляя дыру на её месте. Move My Bags закрывает этот зазор в момент, когда вы отпускаете мышь. Не при следующем открытии сумок и не после перезагрузки &mdash именно в момент сброса, потому что перетаскивание и есть весь интерфейс, и эффект обязан наступать сразу. Вернёте сумку &mdash и колонка снова раскроется вокруг неё. А если освободившееся место позволяет вернуться сумке из второй колонки, она вернётся.

При этом аддон не пересобирает раскладку Blizzard заново &mdash и физически не мог бы: два нужных числа являются локальными переменными внутри файла самой Blizzard, и их не может прочитать ни один аддон. Вместо этого каждое необходимое значение измеряется прямо по раскладке, которую только что нарисовала Blizzard. Это значит, что аддон не собьётся, даже если Blizzard изменит какую-нибудь константу в патче. Более того, он проверяет собственную работу: на каждом проходе раскладки он заново выполняет вычисления без убранной сумки и сравнивает результат с тем, что реально сделала Blizzard. Если показатели расходятся &mdash запускается отключение функции на сессию с однократным уведомлением.

Сумки помнят, какая из них какая

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

Окна сумок увеличиваются, когда вы ставите сумку большего размера, а окно, растущее не в ту сторону, &mdash это окно, которое «передвинулось само». Поэтому позиция запоминает, за какой край вы «прицеливались»: окно, припаркованное в верхней половине экрана, сохраняет верхний край при росте и не убегает за верх экрана, а окно, припаркованное снизу, сохраняет нижний край и растёт вверх, как родные окна Blizzard.

Если отпустить окно в нескольких пикселях от его исходного слота, это считается случайным сдвигом, а не перемещением &mdash аддон очистит сохранённую позицию, а не «закрепит» сумку под управлением навсегда.

Создан, чтобы не ломать ваши клики

Это та часть, которая важнее всего в рейде, и именно по этой причине аддон остаётся таким компактным. Окна сумок находятся вплотную к защищённому коду Blizzard, и аддон, который неаккуратно туда вторгается, не падает &mdash он блокирует ваши клики по предметам на три пулла боя без каких-либо сообщений на экране. Подобные аддоны в этой нише уже выпускались с такой ошибкой. Move My Bags избегает этого благодаря нескольким принципам:

  • Функция привязки Blizzard хукается после вызова, а не заменяется &mdash перезапись и есть классический способ отравить всё ниже по цепочке;
  • Аддон никогда не вызывает код раскладки Blizzard из собственного пути, ведь тот строит кэши, которые Blizzard читает позже;
  • Перепозиционирование откладывается на один кадр, чтобы никогда не выполняться внутри защищённого стека вызовов &mdash эта деталь и отличает рабочую версию от сломанных кликов;
  • Сброс воспроизводит тот слот, который запросил последний проход раскладки самой Blizzard &mdash никакого рестэка, закрытия сумок или перезагрузки.

Сумки, открытые в бою, ложатся туда, куда вы их переставили. Фреймы контейнеров не защищены, поэтому перепозиционирование в бою легально и не привязано к выходу из него. Смена разрешения экрана, изменение масштаба интерфейса и выход из боя каждый раз перепроверяют раскладку в качестве подстраховки. Если Blizzard когда-нибудь выпустит собственное перетаскивание сумок, Move My Bags отойдёт в сторону, а не наложит второй обработчик поверх их &mdash для каждого окна, как только увидит маркер Edit Mode или нативный обработчик.

Кстати, если вы хотите попробовать аддон без лишней возни, обратите внимание на лаунчер foxygame.net: там Move My Bags устанавливается в один клик прямо из каталога дополнений. Многие начинающие не догадываются, что такая возможность существует, и продолжают вручную раскидывать файлы по папкам.

Чего аддон не делает

Никакого масштабирования, изменения размеров, сортировки, скинов и конфигурационных интерфейсов. Каждая из этих функций затянула бы аддон в математику раскладки Blizzard &mdash туда, где аддоны усложняются и начинают ломаться. Аддон также не предотвращает пересечения: два окна, припаркованных рядом, могут наложиться друг на друга при росте. Подвигать их для исправления значило бы нарушить единственное обещание аддона &mdash что окно остаётся там, где вы его оставили.

Как установить Move My Bags

Для тех, кто предпочитает классический путь: скачать Move My Bags можно с проверенных сайтов дополнений, после чего распаковать архив в папку AddOns внутри каталога игры и перезапустить клиент. В лаунчере foxygame.net процесс ещё проще &mdash каталог сам отслеживает совместимость версий и обновлений, поэтому вам остаётся лишь нажать кнопку установки.

Move My Bags для всех версий игры

Аддон поддерживает World of Warcraft в актуальном виде: свежая сборка ориентирована на текущую версию игры, в то время как сообщество активно использует решение в Classic и различных расширениях &mdash от TBC и WotLK до Cataclysm и MoP. Проверяйте конкретную сборку под вашу версию клиента, чтобы получить стабильную работу.

Команды и вывод

Всё, что нужно знать:

  • /mmb — краткое описание возможностей аддона;
  • /mmb reset — вернуть все окна на места.

Если вы устали от того, что расстановка сумок сбрасывается при каждом открытии инвентаря, Move My Bags для World of Warcraft &mdash это минималистичное и надёжное решение. Установите аддон и просто перетащите сумку: вам ничего не придётся настраивать. Одно движение, и порядок на экране сохраняется навсегда &mdash до тех пор, пока вы сами не решите его изменить.