1. В связи с тем, что автор не стал улучшать и дополнять, данное ПО мной начата летом 2015 года разработка своей программы KeysExtSkyrim. 2. Так какв SkyFlow был использован упрощённый механизм обработки, без учёта особенностей развития версий OS Windows: - я полностью изменил технологию и функционал внутри ПО, тем самым обеспечив полную совместимость, устойчивость, модульность и не требовательность к ресурсам; - KeysExtSkyrim ver 0.16 Pre на работу и устойчивость тестировалась в игре The Witcher 3: Wild Hunt;
- программа требует для работы OS Windows 2000 или выше;
- GUI для настройки INI-файлов пока не будет, т.к. это отдельная и большая работа;
- KeysExtSkyrim работает по принципу - "То что поддерживается OS, то и поддерживается программой", хотя есть пока ограничения. 3. Программа KeysExtSkyrim :
- "тотальная" диагностика ошибок в INI-файлах;
- редактирование/изменение конфигурационных INI-файлов программы не выходя из игры;
- почти все функции, что в SkyFlow и дополнительные(всё опционально);
- резерв для создания функций по просьбе;
- упрощена работа и запуск групповых консольных команд;
- переназначение клавиши на другую клавишу/на группу клавиш;
- всё настраиваемо-опциональное с помощью INI-файлов под свои желания;
- программа инсталлируется и деинсталлируется средствами своими/Windows.
5. Исходник могу дать, но KeysExtSkyrim состоит более чем 16 модулей.
Технические детали.
Программа написана на языке AutoHotKey Среда разработки: OS - Windows 7 x64 SP1 Ultimate Rus Исходный текст (кодировка): UTF-8 AutoHotKey:
- AHK_L version 1.1.22.03.
- x86/x64.
- Unicode - 32 bits.
- Use MPRESS.
EXE - файл (x86)
Как с ПО работать? 1. Скачать и распаковать, получив файл KeysExtSkyrim.exe
2. Запустить его. 3. При первом запуске он выйдет по ошибке, но создаст папку KeysExtSkyrim.res 4. В папке KeysExtSkyrim.res находится:
- файла KeysExtSkyrim.ini основной файл конфигурации;
- файл KeysExtSkyrim.HASH (CRC для файла KeysExtSkyrim.ini для BackUp и отката);
- файл ReadMe.txt в нём нет ничего ценного.
Читаем и правим только файл KeysExtSkyrim.ini он содержит комментариев с избытком, первый вылет был из не верного указания путей, находим и пишем свои, остальные параметры читаем и ставим их как вам удобно. Все не протестированные функции отключены во избежании ошибок.
5. В папке KeysExtSkyrim.res находится папка Bats.ini в которой находиться только один файл sample.ini - образец файла для консольных команд, просто читаем. Консольная обработка отключена в файле KeysExtSkyrim.ini не пытайтесь её включить, т.к. вы не знаете функцию обработки. Файл sample.ini приведён для ознакомления, отключено еще около 50 функций, но консольный файл остался, т.к. я посчитал, что у кого то возникнут пожелания/дополнения по реализации консольных команд, хотя я постарался учесть практически всё.
Так как файл KeysExtSkyrim.ini мягко говоря сложный, то я сделал видио инструкцию
Смотреть в HD качестве.
Глобальная правка от 09.08.2015
Убран системный курсор, срабатывание 100%. Работает во всех видио режимах игры.
При вылете игры показ курсора по тайм-ауту через 30 секунд.
В INI можно задать меньшее значение:
Секция [Timers]
Переменная TimerGameExit=30 Это секунды, просто уменьшаем значение.
Остальные правки я описывать не буду, до глобальных модификаций и правок.
Для распаковки архивов *.7z используйте архиватор 7z.
Для распаковки архивов *.Rar используйте архиватор WinRar.
Скриншоты | Images:
Хотите больше русскоязычных модов? Станьте нашим переводчиком! Научим и поможем. Обращайтесь в тему на форуме. Будем рады вас видеть
Помогите нам в поиске качественных модов на локализацию! Если знаете хорошую модификацию, которой нет в базе, пишите в тему на форуме и мы постараемся добавить ее в базу. Большое вам спасибо!
Сделать замену клавиш? Пример: Клавиша МЕНЮ работает как клавиша E, т.е. нажимаем на МЕНЮ(она слева от правого CTRL), а отрабатывается E А? Это всё описывается в ini-файле и работает по принципу клавиша/клавиши на клавиша/клавиши
P.S. Клавиша MENU это вызов контекстного меню в Windows и её реальное название АppsKey.
Эта секция описывает: 1. Заблокированные клавиши переменная BlockListKeys Пока окно игры активно эти клавиши не работают. Это сделано для устойчивости программы, но если они нужны в одиночном исполнении, то они просто предназначаются и могут использоваться в виде - "~ Ctrl AppsKey" или же просто как замена, т.е. E назначается на AppsKey - Скайрим этого делать не умеет.
2. Зарезервированные клавиши переменная ReservedListKeys Пока окно игры активно эти клавиши использует программа - это модификаторы. Ctrl и Shift лучше не трогать, последствия не предсказуемы. Клавишу Alt можно переназначать, она не задействована на прямую, она, так сказать резерв.
3. Перехват клавиш LAppsKey, RAppsKey, Fn и мультимединых я не реализовал - надо искать клавиатуру с такими, у меня простая клавиатура на ней отсутствуют и Win и AppsKey. Я её специально заказывал в компании Hewlett-Packard.
Если вы очень долго ждёте, то можете получить забавную ошибку, вот её скриншот, я около часа ждал её появления.
Условия её появления. 1. В свернули игру Ctrl+PgDn 2. Пошли пить чай, курить, кино смотреть и т.д. Очень на долго. 3. Вернулись закрыли программу по щелчку мышкой в трее. 4. Тут же запустили программу. 5. Получили ошибку, прочли и запускайте программу повторно.
Объяснение забавности - ниже, можете не читать.
Это баг всех версий Windows и Windows 10 не исключение. Появился в Windows 95/98/NT - точно не помню, и прижился...
Эту ошибку генерирует Windows, это конфликт Read/Write и он прав, так это баг, и его надо устранять , но всем по фиг... много писать и т.д. Сообщение диагностике в духе MicroSoft - "Канал был закрыт". Так и напрашивается что то не приличное Вот более правильное: "Файловый канал ввода/вывода закрыт из конфликта процессов" Или верно перевести из MSDN.
Вот оригинальный перевод ошибок из MSDN от MicroSoft Диск занят или заблокирован другим процессом. Код ошибки: 109 Канал был закрыт. Код ошибки: 110 Системе не удается открыть указанное устройство или файл. Код ошибки: 111 Ошибка № 109 чудесным образом превратилась в ошибку №110 И похоже MicroSoft использует Google-Translate или что похуже А всё намного проще...
Один процесс пишет в INI, а другой начинает читать то что ещё пишется. Устранить можно, это фоновое R|W выполнение одним и тем же процессом.
Хотя у процессов разные PID-ы, но Widows резко забывает, что у него есть очередь на R|W, детект процессов по PID-ам и куча всего, он ведёт себя MS Windows 3.1 - склеротик, шалун или просто даун - единого мнения так и нет.
Я устраню её, если ошибка будет регулярной, а по сути, мне её вызвать оказалось очень сложно, пришлось посмотреть кино.
Совсем забыл... 1. Получили её, т.е. ошибку. 2. Прочли, ну если хотите. 3. Нажали ОК Всё, т.е. можете запускать программу... тут дело в миллисекундах на освобождение "кАнала" Сорри не удержался, M$ "отмачивает" как всегда.
Глобальная правка от 09.08.2015 Убран системный курсор, срабатывание 100%. Работает во всех видио режимах игры. При вылете игры показ курсора по тайм-ауту через 30 секунд. В INI можно задать меньшее значение: Секция [Timers] Переменная TimerGameExit=30 Это секунды, просто уменьшаем значение. Архив перезалит.
Правка сделана, что бы избежать показа двух курсоров - игрового и системного, что обычно доставляет головную боль многим игрокам и разработчикам.
Информация
Для того, чтобы оставлять комментарии к данной публикации необходимо зарегистрироваться .
Я её давно написал, просто забыл опубликовать.
Сделать замену клавиш?
Пример:
Клавиша МЕНЮ работает как клавиша E, т.е. нажимаем на МЕНЮ(она слева от правого CTRL), а отрабатывается E
А?
Это всё описывается в ini-файле и работает по принципу клавиша/клавиши на клавиша/клавиши
P.S. Клавиша MENU это вызов контекстного меню в Windows и её реальное название АppsKey.
В основном файле INI есть такая секция.
У вас её нет, т.к. я не включаю в раздачу то что не проверено на 100%
[SpecialKeys]
BlockListKeys=AppsKey,LWin,RWin
ReservedListKeys=Ctrl,LCtrl,RCtrl,Shift,LShift,RShift,Alt,LAlt,RAlt
Эта секция описывает:
1. Заблокированные клавиши переменная BlockListKeys
Пока окно игры активно эти клавиши не работают.
Это сделано для устойчивости программы, но если они нужны в одиночном исполнении, то они просто предназначаются и могут использоваться в виде - "~ Ctrl AppsKey" или же просто как замена, т.е. E назначается на AppsKey - Скайрим этого делать не умеет.
2. Зарезервированные клавиши переменная ReservedListKeys
Пока окно игры активно эти клавиши использует программа - это модификаторы.
Ctrl и Shift лучше не трогать, последствия не предсказуемы.
Клавишу Alt можно переназначать, она не задействована на прямую, она, так сказать резерв.
3. Перехват клавиш LAppsKey, RAppsKey, Fn и мультимединых я не реализовал - надо искать клавиатуру с такими, у меня простая клавиатура на ней отсутствуют и Win и AppsKey.
Я её специально заказывал в компании Hewlett-Packard.
Условия её появления.
1. В свернули игру Ctrl+PgDn
2. Пошли пить чай, курить, кино смотреть и т.д. Очень на долго.
3. Вернулись закрыли программу по щелчку мышкой в трее.
4. Тут же запустили программу.
5. Получили ошибку, прочли и запускайте программу повторно.
Объяснение забавности - ниже, можете не читать.
Это баг всех версий Windows и Windows 10 не исключение.
Появился в Windows 95/98/NT - точно не помню, и прижился...
Эту ошибку генерирует Windows, это конфликт Read/Write и он прав, так это баг, и его надо устранять , но всем по фиг... много писать и т.д.
Сообщение диагностике в духе MicroSoft - "Канал был закрыт".
Так и напрашивается что то не приличное
Вот более правильное:
"Файловый канал ввода/вывода закрыт из конфликта процессов"
Или верно перевести из MSDN.
Вот оригинальный перевод ошибок из MSDN от MicroSoft
Диск занят или заблокирован другим процессом. Код ошибки: 109
Канал был закрыт. Код ошибки: 110
Системе не удается открыть указанное устройство или файл. Код ошибки: 111
Ошибка № 109 чудесным образом превратилась в ошибку №110
И похоже MicroSoft использует Google-Translate или что похуже
А всё намного проще...
Один процесс пишет в INI, а другой начинает читать то что ещё пишется.
Устранить можно, это фоновое R|W выполнение одним и тем же процессом.
Хотя у процессов разные PID-ы, но Widows резко забывает, что у него есть очередь на R|W, детект процессов по PID-ам и куча всего, он ведёт себя MS Windows 3.1 - склеротик, шалун или просто даун - единого мнения так и нет.
Я устраню её, если ошибка будет регулярной, а по сути, мне её вызвать оказалось очень сложно, пришлось посмотреть кино.
Совсем забыл...
1. Получили её, т.е. ошибку.
2. Прочли, ну если хотите.
3. Нажали ОК
Всё, т.е. можете запускать программу... тут дело в миллисекундах на освобождение "кАнала"
Убран системный курсор, срабатывание 100%. Работает во всех видио режимах игры.
При вылете игры показ курсора по тайм-ауту через 30 секунд.
В INI можно задать меньшее значение:
Секция [Timers]
Переменная TimerGameExit=30 Это секунды, просто уменьшаем значение.
Архив перезалит.
Правка сделана, что бы избежать показа двух курсоров - игрового и системного, что обычно доставляет головную боль многим игрокам и разработчикам.