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

Скрипт, упрощающий работу с Народной картой

Okclick
25 апреля 2016, 09:36

Предлагаю вашему вниманию немного доработанный скрипт, который когда-то создавали Falcon и Alexxegorov: https://yadi.sk/d/FCiQkxKGrEFxn

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

Подробное описание, инструкция по установке и использованию находятся в этой теме: https://yandex.ru/blog/narod-karta/58675

Пользуйтесь на здоровье! :)

Отличия данной версии от исходной:

- Учтён изменившийся заголовок окна («Народная карта — Яндекс.Карты» вместо «Народная карта Яндекса»), из-за чего старый скрипт перестал работать;

- При рисовании окружности по трём точкам: на этапе указания точек вместо вывода диалоговых окон с кнопкой «ОК» скрипт ожидает нажатия клавиши ПРОБЕЛ. Это обусловлено тем, что я использую режим активации окна при наведении мыши (так мне удобно), соответственно, становится невозможным нажать кнопку «ОК», когда указатель мыши находится за пределами окошка. Если требуется отменить рисование окружности, можно сделать это на этапе указания количества точек. Также теперь можно прервать запущенный процесс рисования, нажав клавишу ПРОБЕЛ;

- Удаление вершин в один клик (имитация двойного нажатия) теперь происходит при удерживании левой клавиши CTRL (в исходном скрипте — ALT);

- Добавлена возможность скругления углов в один клик при удерживании клавиш ALT или ALT+SHIFT. Фактически скрипт пытается ткнуть 3-й либо 4-й пункт всплывающего меню. Перед использованием данной фичи проверяйте: если в меню строчка «скруглить угол» 3-я по счёту, значит — нужно удерживать ALT, если 4-я, то — ALT+SHIFT (зависит от типа объекта и некоторых других условий).

Просьба к разработчикам Народной карты: было бы удобнее, если пункт меню «скруглить угол» всегда находился на 3-й строчке.

5 комментариев
Подписаться на комментарии к посту
Спасибо, камрад!
Спасибо!
Просьба к разработчикам Народной карты: было бы удобнее, если пункт меню «скруглить угол» всегда находился на 3-й строчке.


В идеале фичи всего скрипта неплохо бы видеть в сервисе.
Вот так мне кажется лучше:
https://yadi.sk/i/mSOUoVfhrKPUuhttps://yadi.sk/i/mSOUoVfhrKPUu

Окошки "поставьте точку" сместил в левую верхнюю часть экрана, а четвертое окно с вводом точек немного уменьшил. Так же добавил BlockInput, чтобы во время рисования круга случайно не сдвинулась мышь.


Измененные части кода:
1)
#IfWinActive Народная карта — Яндекс.Карты
!r::
n = 30
r = 250
SplashTextOn 300, 50, НЯК , Наведите мышь на 1-ю точку и нажмите пробел...
WinMove, НЯК, , 60, 170
KeyWait, Space, D
MouseGetPos, x1, y1
sleep, 250
SplashTextOn 300, 50, НЯК , Наведите мышь на 2-ю точку и нажмите пробел...
WinMove, НЯК, , 60, 170
KeyWait, Space, D
MouseGetPos, x2, y2
sleep, 250
SplashTextOn 300, 50, НЯК , Наведите мышь на 3-ю точку и нажмите пробел...
WinMove, НЯК, , 60, 170
KeyWait, Space, D
SplashTextOff
MouseGetPos, x3, y3
InputBox, n, Введите число вершин, Чтобы прервать отрисовку нажмите пробел ещё раз, , 350, 125




2)
BlockInput, MouseMove
DrawCircle(x0, y0, r, n)
BlockInput, MouseMoveOffBlockInput, MouseMove
DrawCircle(x0, y0, r, n)
BlockInput, MouseMoveOff
★Daniel Jackson,
спасибо за подсказку! Так, действительно, лучше.