Total Annihilation

Форум сайта http://www.total-annihilation.org/
Текущее время: 21 фев 2018 05:11

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 10 июн 2013 17:17 
Не в сети
Золотой железяка
Золотой железяка

Зарегистрирован: 27 ноя 2011 20:49
Сообщений: 117
Это несколько не так просто. Дело в том, что отправка комбинации кнопок, это отправка 4-х сообщений в игру:
1. Нажать Ctrl
2. Нажать В
3. Отпустить В
4. Отпустить Ctrl

В общем-то можно поставить в очередь обработки все 4 кнопки, но тут есть тонкость обработки этих кнопок самим ddraw.dll (TA Demo Recorder). Вот пример его кода:
Код:
      case WM_KEYDOWN:
         if ((GetAsyncKeyState(VK_LCONTROL)&0x8000)>0 && (GetAsyncKeyState(VK_LSHIFT)&0x8000)==0)
         {
            if (0x53==(int)wParam)        //ctrl+s
            {
               SelectOnlyInScreenWeaponUnit(MOVEUNITSELECTABLE);

Немного поясню код: когда приходит событие нажатия кнопки (WM_KEYDOWN), то ddraw.dll ещё проверяет нажаты ли Ctrl и Shift через функцию GetAsyncKeyState(). А насколько я знаю, эта функция работает вне событий игры, она как бы считывает состояние кнопок сразу с устройства. И вот как сделать имитацию нажатия кнопки - я не знаю (попытки были, но не получалось). :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 10 июн 2013 17:36 
Не в сети
Золотой железяка
Золотой железяка

Зарегистрирован: 27 ноя 2011 20:49
Сообщений: 117
Версия 0.5.3:
  • Уменьшен размер TAP.exe промерно в 4 раза, переделка парсера настроек
  • Переделан код перехвата кнопок: Z перехватывается


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 10 июн 2013 18:25 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2009 18:00
Сообщений: 2049
[bl] писал(а):
Об этой проблеме предупреждал последний пункт Рекомендаций из первого сообщения.
Пока не удалось найти место, где сохраняется статус открытого диалога для ввода сообщения. Как только найду - сразу реализую возможность. Но ещё будет проблема с вводом текста для маркера, который ставится через DemoRecorder, его диалоги существует вне кода Total Annihilation.
Пока могу посоветовать только отключение Activation Key или снятие выделения с активного юнита.

так может по однократному энтеру - отключить хоткеи, по повторному -включить?
Конечно такой метод может запороться если где-то ты нажмешь энтер а чат не откроется(хотя с ходу не могу назать таких моментов, разве что при открытом меню)

_________________
Почётный картостроитель v.3.0!
За развитие сайта. v.1.0.
Изображение Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 10:38 
Не в сети
Золотой железяка
Золотой железяка

Зарегистрирован: 27 ноя 2011 20:49
Сообщений: 117
Удалось найти переменную в игре, которая отвечает за открытый диалог ввода сообщения в чат или открытое меню в игре. :super: Дело за тестированием. Скоро будет новая версия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 11:57 
Не в сети
Аватара пользователя

Зарегистрирован: 23 июн 2009 15:29
Сообщений: 1906
[bl] писал(а):
Удалось найти переменную в игре, которая отвечает за открытый диалог ввода сообщения в чат или открытое меню в игре. :super: Дело за тестированием. Скоро будет новая версия.

Лучше бы с cntr+B нашел вариант.

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 12:33 
Не в сети

Зарегистрирован: 12 июн 2013 20:49
Сообщений: 6
[bl]
Ну привет. Если это ты :)))
подтверди ка: 980...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 14:35 
Не в сети
Золотой железяка
Золотой железяка

Зарегистрирован: 27 ноя 2011 20:49
Сообщений: 117
KruFFT
755. Нашел меня тут, не спрячешься :) Помочь что ли хочешь? :this: Отдать бы тебе разработку, а то времени не хватает на неё. :bore:

gBopKuH
Ctrl+B реализуется не в ТА, это сделано в ddraw.dll. Версий ddraw.dll довольно много разных и я не представляю пока с чего начинать его ковырять. Если только когда нибудь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 14:47 
Не в сети
Аватара пользователя

Зарегистрирован: 23 июн 2009 15:29
Сообщений: 1906
[bl] писал(а):
KruFFT
755. Нашел меня тут, не спрячешься :) Помочь что ли хочешь? :this: Отдать бы тебе разработку, а то времени не хватает на неё. :bore:

gBopKuH
Ctrl+B реализуется не в ТА, это сделано в ddraw.dll. Версий ddraw.dll довольно много разных и я не представляю пока с чего начинать его ковырять. Если только когда нибудь.

можно реализовать именно так
1. Нажать Ctrl
2. Нажать В
3. Отпустить В
4. Отпустить Ctrl

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 16:53 
Не в сети
Золотой железяка
Золотой железяка

Зарегистрирован: 27 ноя 2011 20:49
Сообщений: 117
Я выше уже отмечал, что пробовал делать подобное, ещё в первых версиях TAP, и ничего хорошего из этого не вышло. Это сложно сделать именно для ТА, потому что в ней есть своя функция обработки кнопок, потом в ddraw.dll есть своя и мне пришлось добавить ещё и свою в ТАР. Этот бутерброд всех обработчиков довольно трудно подружить между собой. Если я найду возможность это сделать - сделаю, но это пока в очень низком приоритете. И мне непонятно, чем же так сложна комбинация Ctrl+B, ведь одной рукой нажимается?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа Total Annihilation Plus (TAP)...
СообщениеДобавлено: 14 июн 2013 17:53 
Не в сети

Зарегистрирован: 12 июн 2013 20:49
Сообщений: 6
А чего помощь нужна? Ты мне исходники то дай поглядеть? :) Ты наверно уже все сделал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



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

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


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

Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB