Vlad2 Опубликовано 22 февраля, 2014 Поделиться Опубликовано 22 февраля, 2014 Всем привет! Поздравляю всех защитников и всех бушующих защитников с праздников! В общем, у меня проблема...Не могу сделать отслеживание прокрутки колесика на мыши. Хотелось бы что-то на подобие isKeyPressed() сделать.Например когда колесико назад крутишь, то в переменную записывалось число 2, вперед 1, а нечего не крутишь 0.Помогите реализовать такую штуку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 25 февраля, 2014 Автор Поделиться Опубликовано 25 февраля, 2014 проблема остается актуальной! Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 25 февраля, 2014 Поделиться Опубликовано 25 февраля, 2014 На CE Lua, скорее всего, не поддерживается, я не увидел.Обычно горячие клавиши можно ставить так на CE Lua:function OnCheckHotKey() print('test')endcreateHotkey(OnCheckHotKey, [VK_., VK...])Но нет ни одного кей кода в defines.lua, который был бы связан с поворотом колеса мыши.Готового решения нет.Обходные путиПуть1. Изменить исходники CE и перекопилироватьПуть2. Патч CE на основе пути1Путь3. Инжект в прцоесс игры на чтение данных ввода:На С++, MSDN(WM_MOUSEWHEEL message)POINT mouse;while (GetMessage (&msg, NULL, 0, 0) > 0){ //Any other message. if (msg.message != WM_MOUSEWHEEL) { TranslateMessage (&msg); DispatchMessage (&msg); } //Send the message to the window over which the mouse is hovering. else { GetCursorPos (&mouse); msg.hwnd = WindowFromPoint (mouse); TranslateMessage (&msg); DispatchMessage (&msg); }}Можно попробовать через generateAPIHookScript (пример работы) перехватив GetMessage() в процессе игры.В случае с чтением от DirectInput искать примеры "DirectInput mouse whell".Путь4. Написать Дарк Байту просьбу включить кеи колеса мыши----------В общем как простое решение советую поставить кей на клавиши "плюс" и "минус" вместо колеса мыши. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения