Мой скрипт для мыши. В первый раз выкладываю, чтобы другие попробовали, может понравится.
Сразу предупрежу - я не уверен что он сработает везде и у всех. Проверялось только на трех компах (вин7 и хп). Сделано для себя, так что может оказаться не слишком юзер-френдли.
Возможности
Перемещение курсора (во всех режимах где он есть) - левой кнопкой.
Сдвиг экрана - зажатие правой и сдвиг мыши в нужную сторону. Срабатывает всегда и везде.
Нажатие энтера (почти всегда начало/конец выделения, и в меню полезно когда лень тянуться до энтера левой рукой) - 4 клавиша мыши
Выделение зон - 5 клавиша мыши, нажимаете, передвигаете мышь, отпускаете. Посылаются два нажатия энтера, так что аккуратнее, не нажмите случайно в режиме меню.
Сработают ли эти боковые 4,5 кнопки, зависит от винды и от мыши, на вашей могут и не сработать.
Ограничения
Только для версии DF 31.25 Graphic (359585 байт), у других версий скорее всего другие смещения в памяти.
После того как скрипт запустился и настроился на игру, нельзя изменять размеры окна или масштаб. Если измените - нажмите потом F11, скрипт перезапустится и настроится на новые клетки.
Запуск
Запускаете DF
Загружаете свою игру
Запускаете скрипт (ехе, если не стоит AutoIt).
Переключаетесь в окошко DF
Если все нормально, в плавающем окошке он напишет дебаг-инфу об окне DF - важно число после слэша, это размер клетки в пикселах.
Если это число нереальное (не в пределах 8-30), значит скрипт не сработал нормально, и лучше дальше не экспериментировать. Скорее всего версия не совпадает с моей, вообще хз в чем может быть дело.
Плавающее окошко - в основном для меня, чтобы дебажить. При действиях с мышкой показываются sbx,sby - абс. координаты видимой части, x,y - абс координаты курсора. В самом начале при запуске - определенный скриптом размер клетки.
Можно в любой момент перезапускать скрипт по F11, ничего страшного не будет от этого.
Чтобы выгрузить скрипт - Shift+F11, или правой кнопкой по иконке в трее и Exit.
Если решите использовать мой скрипт, лучше отключить в DF мышь (MOUSE:OFF в инитах). Иначе будет при перемещении курсора ещё и выделять клетку под ним в режимах копания итп.
Написано на AutoIt3, с использованием чтения/записи координат в память.
В архиве скомпиленный екзешник и исходники. Для того чтобы исходник работал, нужна прога AutoIt, и в её папку в Include надо скинуть приложенный модуль nomadmemory.
Еснно, кто хочет может доработать под себя или взять идеи и написать свой. Я не профессиональный а прикладной программист, у меня работает - и я на этом останавливаюсь.
П.с. при перемещении курсора может заметите быстрый скачок курсора в сторону - это сделано намеренно, т.к. DF его нормально перемещает, но не обновляет статус видимости для клетки под новым курсором. Т.е. без этого был бы эксплойт - можно было бы ставить курсор на неисследованные места и видеть что это за материал.
//edit: на всякий случай перезалил свою последнюю версию, с которой играю сейчас на 31.25 графической виндовс