DizzyAge по-русски

Русскоязычный форум для любителей игр на движке DizzyAge
Текущее время: 26 фев 2020, 16:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: 12 июл 2019, 03:30 
Не в сети

Зарегистрирован: 04 июл 2019, 22:44
Сообщения: 33
Откуда: г. Краснодар
trz писал(а):
Verm-V, круто, впечатлен, да и вообще ты просто молодчина!

FreeWind, надеюсь, что получите удовольствие от игр!

Конечно получу удовольствие, ещё какое! Ведь я на Диззи вырос, мечтал всегда свою игру сделать. Не зря же создавал свои миры про Диззи прям на уроках в школе (фото приложил). Изучаю 3D моделирование, начал изучать Dizzy Scripting Engine, DizzyAGE, может и воплощу когда-нибудь свою мечту в жизнь. Теперь у меня появится больше возможности!
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2019, 01:17 
Не в сети

Зарегистрирован: 29 янв 2016, 22:41
Сообщения: 357
Итак. Первый ком блином. Встречайте:

Mouse Control V0.99
------------
Сначала немного инфы. Ссылка на скачивание будет в конце поста.

Программа представляет из себя один exe файл плюс один ini файл с настройками. Программа полностью портабельно, т.е. можно скопировать ее куда угодно и запускать откуда угодно. Если ini файл будет отсутствовать в каталоге с программой, то будут взяты настройки по умолчанию и файл пересоздастся по ходу программы.

При запуске программы в трее появляется вот такая иконка:

Изображение

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

Изображение

Для того чтобы спрятать управление нужно нажать F2

Для того чтобы полностью выйти из программы и выгрузить ее из памяти нужно нажать F3 (Так же можно, когда программа не активна, щелкнуть правой кнопкой мыши по иконке и выбрать "Exit"

(кнопки не окончательные, можно в будущем поменять на более удобные)

После активации программы, перемещения мышки блокируются границами ее окна и при наведении на один из квадратов в активное приложение посылается нажатие соответствующей клавиши. Центральный квадрат не посылает никаких клавиш.

Для наглядности нарисовал картинку, какое направление какому прямоугольнику соответствует:

Изображение

Стрелки из сплошных линий, означают, что клавиша считается нажатой до тех пор пока мышка находится в соответствующем прямоугольнике и для того, чтобы прекратить нажатие надо переместить курсор в центральный квадрат. Два нижних прямоугольника посылают однократное нажатие клавиш "влево" или "вправо", и для того чтобы их повторить надо вывести курсор в центральное поле и завести его вновь сюда.

Далее:
Левая кнопка мыши - "ВВЕРХ / ПРЫЖОК"
Правая кнопка мыши - "ДЕЙСТВИЕ / ИНВЕНТАРЬ"
Колесико мыши вверх - клавиша "ESC"
Колесико мыши вниз - "ВНИЗ"

Теперь о дополнительных кнопках управления (действуют только когда окно программы активно)

"1" - открывает в левом-верхнем углу активного приложения небольшое информационное окошко с информацией о клавишах управления, настройках программы и ее версии. Вот такое:

Изображение

"2" - переключает набор управления. Пока забил три основных набора:
- Стандартные курсорные клавиши + Enter
- Синклер джойстик (6, 7, 8, 9, 0)
- Q, A, O, P + Space
Первый вариант подходит для игры в DizzyAGE игры, второй и третий для игры на эмуляторе спектрума.

"3" Изменить размер окна. Всего есть три разных размера: маленький, средний и большой.

"4" Изменить значение задержки перед посыланием однократного нажатия клавиши (от 0 до 50 микросекунд)
"5" Изменить значение длительности однократного нажатия клавиши (от 0 до 100 микросекунд)

Последние два пункта нужны для корректной работы кнопок позволяющих делать единичные шаги влево-вправо.
Первый означает сколько микросекунд пройдет прежде чем в программу будет отправлено нажатие клавиши, его в принципе трогать не нужно, т.к. это оптимальное значение и менять его придется в исключительных случаях, если нажатие будет посылаться слишком быстро и программа просто не будет успевать его получать.
Второе значение регулирует сколько микросекунд продлиться нажатие. А вот этот параметр скорее всего придется регулировать для разных игр. В зависимости от того насколько большая задержка выставлена, столько и будет нажата клавиша и настолько длинный шаг сделает Диззи. Я подобрал более-менее оптимальное значение которое подойдет для большинства игр. Но для некоторых в которых нужно делать очень маленькие шаги (например Fantastic Dizzy Home Alone) придется эту задержку уменьшать. Но тут вылезает еще один неприятный фактор, если задержка слишком маленькая, то программа периодически не будет успевать обрабатывать нажатие клавиши и придется тыкаться в нужный прямоугольник несколько раз мышкой для получения эффектов. К сожалению тут многое зависит от конкретной системы, игры и т.д. поэтому подбирать задержки придется самостоятельно.

"6" поменять местами действия левой и правой кнопок мыши (ну вдруг захочется когда-нибудь)

----------------------

Некоторые ньюансы. Программа сделана так, что мышка не должна покидать пределы ее окна. Если же такое все-таки произойдет (например потеряется фокус на окно или другая программа перехватит курсор мыши), то программа просто станет неактивной и скроет управление, для повторного вызова нужно просто еще раз нажать "F1"

Элементы управления специально сделал полупрозрачными, чтобы при случае можно было их разместить прямо над окном игры.
Если нужно переместить элементы управления в дургое место, нужно просто нажать "F2" переместить мышку в новое место и снова нажать "F1"

----------------------

Возможные глюки и проблемы.

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

Иногда в редких случаях при изменении масштаба пропадают элементы управления, (т.к. во время перерисовки может потерятся фокус окна). В этом случае можно просто нажать F2, а затем F1. Если это не поможет, то просто перезапустить приложение и нажать F1.

--------------

Ну и наконец ссылка на программу:

Mouse Control V0.99

---------------

FreeWind, желаю приятной игры. Ну и если, что не так - пиши, подправлю программу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2019, 01:20 
Не в сети

Зарегистрирован: 29 янв 2016, 22:41
Сообщения: 357
Еще от себя могу добавить, что проверил программу на себе и смог полностью пройти несколько игр используя только эту программу:

1) Dizzy and the Mushrooms Pie
2) Dizzy 4 на эмуляторе (ну почти прошел, времени не хватило)
3) Fantastic Dizzy Home Alone - там как все знают требуются очень точные прыжки
4) Dizzy Visiting Titus - а вот тут требуется очень точно и быстро добегать до определенного места, пока сигнализация отключена и тоже все получилось

Как-то так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2019, 09:04 
Не в сети
Site Admin

Зарегистрирован: 15 окт 2012, 00:51
Сообщения: 3673
Класс!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2019, 19:44 
Не в сети

Зарегистрирован: 01 дек 2016, 13:51
Сообщения: 441
Супер!
Это теперь нужно закинуть в "наши наработки".
И в твиттере обязательно написать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2019, 23:38 
Не в сети

Зарегистрирован: 04 июл 2019, 22:44
Сообщения: 33
Откуда: г. Краснодар
Verm-V писал(а):
Итак. Первый ком блином. Встречайте:
FreeWind, желаю приятной игры. Ну и если, что не так - пиши, подправлю программу.

Друг мой, ты даже не представляешь какое наслаждение я испытал поиграв в Диззи с помощью твоей проги! Я в восторге! Есть небольшие пожелания, но об этом ниже. Прими мою искреннюю Благодарность! И я тут подумал, раз ты отказался от вознаграждения, с твоего позволения и форумчан тоже, я бы хотел вложить свой финансовый вклад в игру на движке DizzyAGE "Новое приключение Диззи" Автор: Verm-V. Прошёл небольшое геймплейное демо, очень понравилась! Блин...так это же ты, а я и не сообразил сразу))) Тем не менее хотел бы хоть как-то помочь ускорить процесс запуска полной версии! Пойду дальше играть и тестить))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июл 2019, 00:09 
Не в сети

Зарегистрирован: 04 июл 2019, 22:44
Сообщения: 33
Откуда: г. Краснодар
Verm-V писал(а):
FreeWind, желаю приятной игры. Ну и если, что не так - пиши, подправлю программу.


Название: Dizzy Mouse para-control (не принципиально).

Вот мои скромные наблюдения, если в твоих силах подкрутить, ты для меня гений-программист)).

1. Возможность отключать весь верхний ряд, кроме среднего окна которое пригодится только вверх на лестницах и т.п (при моём неловком движении Диззи может отправиться в незапланированный боковой или вертикальный полёт).

2. Возможность отключать и включать функцию escp - колёсиком вверх (бывает при прыжке или вызове инвентаря цепляю колёсико). Пусть останется включена по умолчанию, отключать буду с клавиатуры но только при начичии досягаемости этой самой клавиатуры)).

3. Инвентарь открывать и закрывать - ПКМ, но при этом не выкладывая и не используя предмет.

4. В открытом инвентаре использовать колёсико мыши вверх или вниз для перемещения по предметам, а использовать или выложить - ЛКМ (в не зависимости вкл. или выкл. функция escp колёсиком вверх).

5. При перемещении элементов управления в другое место F2, оставлять видимым курсор мыши для более точного выбора расположения окна.

Пока вот так)) Если что опишу подробнее...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июл 2019, 07:40 
Не в сети

Зарегистрирован: 29 янв 2016, 22:41
Сообщения: 357
Рад, что пригодилось. Играй на здоровье.

FreeWind писал(а):
Название: Dizzy Mouse para-control (не принципиально).

Ок. Сойдет.

FreeWind писал(а):
1. Возможность отключать весь верхний ряд, кроме среднего окна которое пригодится только вверх на лестницах и т.п (при моём неловком движении Диззи может отправиться в незапланированный боковой или вертикальный полёт).

Без проблем сделаю отдельной настройкой отключение. Могу так же сделать верхний ряд поуже, и расширить средний ряд, тогда будет меньше ложных попаданий.
Попробуй еще выставить максимальный масштаб окна, тогда будет проще.

FreeWind писал(а):
2. Возможность отключать и включать функцию escp - колёсиком вверх (бывает при прыжке или вызове инвентаря цепляю колёсико). Пусть останется включена по умолчанию, отключать буду с клавиатуры но только при начичии досягаемости этой самой клавиатуры)).

Ок, тоже можно.

FreeWind писал(а):
3. Инвентарь открывать и закрывать - ПКМ, но при этом не выкладывая и не используя предмет.
4. В открытом инвентаре использовать колёсико мыши вверх или вниз для перемещения по предметам, а использовать или выложить - ЛКМ (в не зависимости вкл. или выкл. функция escp колёсиком вверх).

Это к сожалению невозможно. Причина в том, что в играх нет отдельных клавиш для открытия/закрытия инвентаря и выбора предмета. Все это назначено на одну клавишу "действие". А моя программа не отслеживает состояние игры и собственно вообще никак не взаимодействует с ней, кроме того, что посылает в нее нажатия клавиш. И поэтому не может знать, что в данный момент в игре твориться, открыт инвентарь или нет, и что делает пользователь.

Единственное что я могу в данной ситуации предложить:
А) Сделать после нажатия ПКМ регулируемую задержку, чтобы при вызове меню не происходило случайного повторного нажатия и незапланированного выбора.
Б) Убрать с движения "колесиком вверх" нажатие клавиши ESC и переделать его на клавишу "вверх". Тогда вращением колеса будет просто посылаться нажатие "вверх/вниз", т.е. в инвентаре можно будет выбирать предметы. А когда инвентарь закрыт можно будет колесиком вверх прыгать. Или лазить по лестницам. Могу сделать несколько состояний для колесико вверх : "отключено | ESQ | вверх"

Еще хочу добавить, что почти во всех DizzyAGE играх (и по моему в части оригинальных) движение курсора в инвентаре и меню сделано цикличным. Т.е. можно вызвав инвентарь ПКМ, затем перемещать курсов вверх ЛКМ по кругу, т.к. кнопки "прыжок" и "вверх" в играх это одно и то же.

FreeWind писал(а):
5. При перемещении элементов управления в другое место F2, оставлять видимым курсор мыши для более точного выбора расположения окна.

Вот тут не совсем понял. У тебя после нажатия F2 пропадает курсор мыши? Если это так, то это какой-то глюк, т.к. я такое в программу не закладывал.
Если же ты имеешь в виду, просто оставлять рамку для более точного позиционирования, то можешь делать проще. Не обязательно каждый раз нажимать F2. Можно просто при активном окне, слегка сместить курсор мыши и нажать F1 повторно, окно просто отцентрируется по курсору. Так можно делать сколько угодно раз. Я забыл просто про это написать.


Вообще я тестировал все это на Win7 и Win10 все работало идеально. Теоретически должно работать на любой винде, вплоть до XP, т.к. там используются только стандартные виндовские вызовы и библиотеки.
----


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июл 2019, 07:41 
Не в сети

Зарегистрирован: 29 янв 2016, 22:41
Сообщения: 357
Hippiman писал(а):
Это теперь нужно закинуть в "наши наработки".
И в твиттере обязательно написать.

Я потом когда до ума доведу, сделаю отдельную страничку на itch.io и выложу программу туда с исходниками. Ну и в твиттере потом напишу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 июл 2019, 14:41 
Не в сети

Зарегистрирован: 29 янв 2016, 22:41
Сообщения: 357
Версия 1.00 программы

Нововведения

В активном состоянии добавились следующие настройки

7) Изменить поведение колеса мыши при прокрутке вверх. Возможны три варианта:
- эмулируется клавиша "ESC"
- эмулируется клавиша "Прыжок / Вверх"
- действия нет

8) Изменияет размер некоторых контролов. Всего возможны 4 варианта:

Изображение

Возможно с разными вариантами будет поудобнее.

9) Переключение работы верхнего ряда контролов. Тут 3 варианта:
- работают все кнопки (прыжок вверх и прыжки в сторону)
- работает только прыжок вверх (прыжки в сторону отключены)
- верхния ряд полностью отключен

(все настройки меняются циклически)
-------------

Дополнительно кое чего подкрутил в скрипте и теперь должны пропасть вылеты окна при изменении его масштаба. Плюс теперь, при изменении масштаба, расположения или просто при активации не мелькает фантом окна в предыдущем положении курсора.

Дополнительно: теперь можно менять положение окна если зажать клавишу F1 и плавно передвигая курсор мыши. Старые способы так же действуют.

--------------

Ссылка на скачивание:

MouseControl V1.00

-----------


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  

cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB