Данный скрипт призван облегчить и автоматизировать выполнение различных операций при работе в Народной карте, которые осуществлять обычными средствами — долго, нудно и неудобно, а некоторые — практически невозможно выполнить вручную с желаемой точностью.
Этот скрипт когда-то назывался «Circles and Polygons» и был создан by Falcon & Alexxegorov как инструмент для рисования идеально ровных окружностей. Но, поскольку он уже далеко ушёл от простого рисования кружочков, я рискнул переименовать его в «NMaps Tweaks».
Что на сегодняшний день умеет скрипт
1. Рисование дуги окружности по трём последовательно заданным точкам (условно: М1, М2, М3). Самая главная «фича»! С её помощью очень удобно рисовать округлые участки любых линий и контуров.
Для использования этой функции нужно предварительно войти в режим создания/редактирования объекта и, если необходимо, «продолжить» рисование с нужного узла. Затем используем одно из двух сочетаний клавиш, которые определяют направление: ALT+D — по часовой, ALT+SHIFT+D — против часовой. После этого указываем 3 точки окружности, наводя на них указатель мыши и нажимая ПРОБЕЛ (не кликая мышью). После указания последней точки будет нарисована дуга от М1 до М2 в заданном направлении. Точку М3 можно указывать в любом месте окружности (в т.ч. за пределами рисуемой дуги), однако чем равномернее и дальше друг от друга разнесены все три точки, тем лучше будет результат. Естественно, в процессе выбора точек карту двигать нельзя, иначе получится неизвестно что.
Функцию можно вызывать неограниченное число раз в процессе редактирования объекта.
Необходимое количество узлов определяется автоматически, но можно задать его вручную, если удерживать SHIFT в момент выбора точки М3. Также на автоопределение влияет выбранный масштаб: если хотите, чтобы узлы ставились чаще, — приблизьте карту, реже — отдалите.
Если что-то пошло не так, процесс рисования можно прервать в любой момент, удерживая клавишу ПРОБЕЛ.
2. Рисование полной окружности по трём точкам. Сочетания клавиш: ALT+R и ALT+SHIFT+R. Всё аналогично рисованию дуги, но рисуется полная окружность в заданном направлении, начиная с точки М1.
В процессе рисования дуг и окружностей скрипт автоматически отключает «режим прилипания», имитируя удерживаемую клавишу SHIFT (чтобы не нужно было каждый раз нажимать кнопку с магнитом). Если по какой-то причине Вас такое решение не устраивает, можно отключить эту фичу по умолчанию, задав в файле «NMaps Tweaks.ini» значение параметра «NoSnapping = 0», или включить/выключить уже в загруженном скрипте сочетанием клавиш ALT+N.
3. Удаление вершин контура одним кликом с клавишей CTRL. Скрипт имитирует двойное нажатие ЛКМ, при этом исключая случайное перемещение указателя между двумя кликами, тем самым сберегая ресурс Ваших нервов, пальцев и мыши.
4. Скругление углов одним кликом с клавишей ALT. Скрипт сам ищет и нажимает пункт «скруглить угол» во всплывающем меню. Очень пользительно, когда нужно выборочно скруглить энное количество углов. Метод может сработать не у всех, так как скрипт ищет графическое отображение пункта меню на экране, а в разных браузерах и операционных системах используются разные методы сглаживания экранных шрифтов, из-за чего результирующие картинки могут слишком сильно отличаться.
Если скругление углов у Вас не работает, это можно исправить. Сделайте скриншот, на котором виден пункт меню «скруглить угол». Обрежьте его так, чтобы получилась примерно такая же картина, как в файле «NMaps_RoundCorner.PNG», и сохраните Ваш «образец» поверх этого файла. Должно заработать.
Также существует возможность вернуться к старой версии алгоритма с двумя комбинациями клавиш (Alt+ЛКМ, когда пункт «скруглить угол» находится в 3-й строке всплывающего меню, и Alt+Shift+ЛКМ, когда в 4-й). Для этого нужно в файле «NMaps Tweaks.ini» изменить значение параметра «OldRoundCorner = 1».
5. Включение/выключение всех слоёв клавишами ALT+Q — делает то же самое, что CTRL+SHIFT+H, но удобнее нажимать.
6. Переключение подложки (спутник/схема) клавишами ALT+A
7. Переключение режима линейки клавишами ALT+Z
8. Сохранение объекта с последующим созданием нового по CTRL+SHIFT+S — для тех, кому не нравится комбинация «CTRL+SHIFT+A». Данную фичу можно отключить, задав в файле «NMaps Tweaks.ini» значение параметра «CtrlShiftS = 0».
Также существует возможность сохранять объекты по Ctrl+Enter и Ctrl+Shift+Enter, которая по умолчанию — выключена. Чтобы её задействовать, нужно всё в том же файле «NMaps Tweaks.ini» указать значение параметра «CtrlEnter = 1».
Включая данную фичу, следует помнить, что скрипт не понимает, что Вы делаете в данный момент времени. Он будет тупо «нажимать» Ctrl+S вместо Ctrl+Enter, и, например, вместо отправки личного сообщения или комментария у Вас по Ctrl+Enter может вылезти диалог «сохранить страницу».
9. Нахождение центра отрезка (ALT+C) или окружности (ALT+SHIFT+C). В некоторых случаях помогает найти оптимальное расположение, например, адресной точки в здании или значка фонтана в чаше. Рекомендуется выполнять команду одновременно с перетаскиванием маркера (то есть предварительно «захватить» его мышью и удерживать до окончания выполнения алгоритма).
10. Авторазметка подъездов в типовых многоэтажках. Скрипт при помощи линейки ставит вдоль здания отметки напротив тех мест, где должны быть подъезды. Вы задаёте две крайние точки и количество подъездов. Целиться нужно не в край здания, а немного сместившись внутрь или вовне, иначе линейка закроет ребро контура. У инструмента два режима работы: ALT+E — в качестве крайних точек указываете торцы здания, ALT+SHIFT+E — указываете два крайних подъезда.
11. Изменение масштаба карты с клавиатуры. Используйте + и – на дополнительной клавиатуре с нажатой клавишей ALT.
12. Точное позиционирование узлов и контуров. Многие наверняка сталкивались с ситуацией, когда хочешь подвинуть узел или целый контур буквально совсем чуть-чуть, но не можешь этого сделать, потому что, во-первых, существует некий радиус (примерно 4 пикселя), до превышения которого объект не следует за мышью и только потом срывается с места, в результате чего теряешь точку, где объект находился изначально, а, во-вторых, часто очень трудно подвинуть объект на минимальное расстояние, потому что указатель то совсем не реагирует на перемещение мыши, то уезжает слишком далеко.
Теперь стало проще. Схватив объект или узел левой кнопкой мыши, нажмите ПРОБЕЛ. Скрипт дёрнет указатель мыши в сторону и тут же вернёт обратно. Теперь вы можете свободно двигать объект, не потеряв его исходное местоположение. Кроме того, продолжая удерживать нажатой левую кнопку, можно двигать объект с точностью до пикселя клавишами WASD или стрелками.
13. Переход к следующей/предыдущей правке в списке c клавиатуры. Используйте клавишу ALT со стрелками ВВЕРХ/ВНИЗ. Работает с любыми списками (история, подписки, задачи модерации...) Для корректной работы необходимо, чтобы была выбрана одна из строчек списка, иначе скрипт будет только проматывать его вверх/вниз.
14. Альтернативный режим набора символов «0» и «/» вместо «`» и «~» («ё» и «Ё»). Включается сочетанием клавиш Ctrl+~ (Ctrl+Ё). Букву Ё, тильду и обратный апостроф в данном режиме тоже можно ввести, используя клавишу ALT. Функция узкоспециализированная, создана в рамках моего эксперимента по использованию игровой клавиатуры для быстрого и удобного ввода адресов. Поскольку на данной клавиатуре отсутствовали ноль и слэш, которые очень нужны при работе с адресами, пришлось изобретать.
15. Несколько хоткеев для модераторов:
ALT + NUM 0 — открыть консоль модерации;
ALT + СТРЕЛКА ВПРАВО — принять правку;
ALT + NUM * — отложить правку;
ALT + NUM / или ALT + M — написать сообщение автору правки;
ALT + СТРЕЛКА ВЛЕВО — перейти в историю объекта (также работает в подписках и в карточке объекта).
Примеры использования скрипта (видео):
- Рисование окружности (Alt+R)
- Рисование кругового перекрёстка и газонов на нём при помощи дуг (Alt+D)
- Рисование здания правильной восьмиугольной формы (Alt+R)
- Рисование леса с использованием дуг (Alt+D) и скругления углов (Alt+ЛКМ)
Если вдруг у кого-то не работают хоткеи, связанные с нажатием экранных кнопок (например, линейки по ALT+Z или подложки по ALT+A), попробуйте вместо ALT использовать клавишу WIN. Убедитесь, что масштаб страницы в браузере — 100% (нажмите Ctrl+0).
Если не работают никакие хоткеи, проверьте, не блокирует ли Ваш антивирус активность скрипта. Добавьте исполняемый файл скрипта в список доверенных.
Если у кого-то возникнут проблемы/вопросы/пожелания, фидбэк в комментариях приветствуется! :)
Скачать:
Исполняемый файл скрипта желательно поместить в отдельную папку, так как при первом запуске он создаёт рядом с собой вспомогательные файлы, в том числе:
ReadMe.txt — содержит краткое описание скрипта и историю версий;
NMaps Tweaks.ini — содержит настройки, влияющие на работу скрипта;
NMaps Tweaks.ahk — исходный код скрипта (для тех, кому это интересно)
и несколько картинок в формате PNG.
ВАЖНО! Скрипт НЕ будет перезаписывать файлы, которые уже существуют, чтобы случайно не затереть изменения, внесённые пользователем. (Кроме файла «ReadMe.txt», содержащего описание текущей версии, он обновляется всегда.) Поэтому, если Вам интересно, что изменилось в исходниках, запускайте свежескачанный файл в пустой папке.
Последние обновления:
16.04.2019
* Адаптация под изменившийся интерфейс Народной карты
08.12.2018
* Адаптация под изменившийся интерфейс Народной карты
26.07.2018
* Адаптация под изменившийся интерфейс Народной карты
* Мелкие улучшения-исправления
13.02.2018:
* Добавлен альтернативный режим набора символов «0» и «/»
* Уменьшена задержка при рисовании узлов дуг и окружностей
* Указатель мыши теперь возвращается в исходное положение после применения сочетаний клавиш ALT со стрелками и других хоткеев для модераторов
* Ещё некоторые небольшие изменения
12.09.2017:
* Добавлено сочетание клавиш Alt+Q для скрытия/показа всех слоёв
* Исправлено несколько незначительных багов
08.07.2017:
* Добавлена возможность точного позиционирования объектов при помощи клавиатуры
* Добавлена возможность переключаться на следующую/предыдущую правку в списке при помощи клавиатуры
* Добавлены хоткеи для модераторов: открыть консоль модерации, принять/отложить правку, перейти в историю объекта, написать письмо автору
* Улучшена работа функции скругления углов с клавишей ALT