Клуб Народной карты

NMaps Tweaks — скрипт для Народной карты

Okclick
22 сентября 2016, 18:05

Очередное обновление скрипта для Народной карты, который раньше назывался «Circles and Polygons», но, поскольку он уже ушёл от простого рисования кружочков, я рискнул переименовать его в «NMaps Tweaks».

Файл скрипта желательно сохранить в отдельную папку, так как при первом запуске он создаёт рядом с собой вспомогательные файлы, в том числе:
NMaps Tweaks Info.txt — содержит краткое описание скрипта и историю версий;
NMaps Tweaks.ini — содержит настройки, влияющие на работу скрипта;
NMaps Tweaks.ahk — исходный код скрипта (для тех, кому это интересно)
и несколько картинок в формате PNG.

Что на сегодняшний день умеет скрипт

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+A или WIN+A

6. Переключение режима линейки клавишами ALT+Z или WIN+Z

Зачем второй вариант с клавишей «Win»? Потому что внезапно обнаружилось, что в моём Firefox в Народной карте не работают экранные кнопки, если нажата клавиша «Alt»... В «чистом» Firefox — всё фунциклирует как надо. Я сам не использую FF для работы с НК (и никому не советую), но раз уж проблема обнаружилась, на всякий случай сделал альтернативу.

7. Сохранение объекта с последующим созданием нового по 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 может вылезти окно «сохранить страницу».

8. Нахождение центра отрезка по ALT+C. В некоторых случаях помогает найти оптимальное расположение адресной точки на здании. Рекомендуется выполнять команду одновременно с перетаскиванием маркера (то есть предварительно «захватить» его мышью и удерживать до окончания выполнения алгоритма).

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

Если у кого-то возникнут проблемы/вопросы/пожелания, фидбэк в комментариях приветствуется! :)

UPD 24.11.2016:

* Восстановлена работоспособность скрипта после очередного изменения заголовка окна Народной карты.

* Исправлена ошибка, из-за которой не работало или раньше времени прерывалось рисование дуг и окружностей, если окно браузера находилось НЕ в левом верхнем углу экрана.

* Немного скорректирована функция скругления углов, вызываемая сочетанием ALT+ЛКМ.

ВНИМАНИЕ! Как упоминалось выше, исполняемый файл создаёт рядом с собой вспомогательные файлы, но при этом он НЕ будет перезаписывать файлы, которые уже существуют, чтобы случайно не затереть изменения, внесённые пользователем. (Кроме файла «NMaps Tweaks Info.txt», содержащего описание текущей версии, он обновляется всегда.) Так что, если Вам интересен исходный код, то перед первым запуском уберите из папки со скриптом старый файл «NMaps Tweaks.ahk», если он там есть. Остальные файлы с прошлого релиза не менялись.

Скачать последнюю версию скрипта можно здесь.

11 комментариев
Подписаться на комментарии к посту
только за  ALT+D :) скачал, спасибо
Когда я рисовал народную, я не отвлекался на сторонние программы и всел все комбинации клавиш с привычных трех кнопок или двух в одну. Но раз все же приходилось что-то иное открывать, то самыми частыми были клавиши включения и отключения клавиш, а все остальное было по одной клавише.
Большое спасибо! Очень удобно сделано :)
Далеко скрипт пошёл :)
Пригодится.
Спасибо за труд. Часто пользуясь скриптом.
Бегущий Forest
24 сентября 2016, 21:54
Спасибо! Очень классный скрипт, в разы упрощающий рисование =)
Волшебный скрипт. Огромное спасибо!
Дмитрий Митин
24 ноября 2016, 17:04
Сейчас скрипт не работает. Проверял на двух пк. 


Еще пару дней назад все было ок.
Нажимаю хоткеи - ничего не происходит. Состояние твика в трее — зелененькая буковка "Н", т.е. скрипт не спит, кнопки не в саспенде
Дмитрий Митин,
это из-за того, что с последним обновлением изменился заголовок окна Народной карты. Теперь скрипт её не идентифицирует. Скоро выложу исправленную версию.
Виталий Рупп
30 ноября 2016, 22:56
Как запускать, где инструкция?
Виталий Рупп
30 ноября 2016, 23:03
Виталий Рупп,
Жэсть на 10ке блокировка была)))