Нужна помощь знатоков ZDS

Обсуждение общих вопросов симулятора
Аватара пользователя
Locomotive
Сообщения: 15
Зарегистрирован: 17 сен 2021, 14:31
Город: Батайск
Настоящее имя: Алексей

Re: Нужна помощь знатоков ZDS

Сообщение Locomotive » 22 фев 2023, 03:45

Тогда интересно как быть-то, если восстановит? Просто в Cheat Engine при установке нужного мне значения позиции контроллера симулятор его не восстанавливал. За пример кода спасибо.

SITT
Сообщения: 7
Зарегистрирован: 02 сен 2019, 06:25
Город: Старый Оскол

Re: Нужна помощь знатоков ZDS

Сообщение SITT » 22 фев 2023, 16:01

Как я понял логику работы -- сначала ZDS провряет положение рукоятки контроллера и исходя из этого переключает позицию, а записав позицию напрямую и при этом НЕ ДВИГАЯ рукоятку мы нарушаем логику работы движка соотвественно ZDS выставит ту позицию на какую указывает рукоятка контроллера а не ту которую мы записали.
Будет прикольно если ручка контроллера в ноле а мы выставим максимальную позицию.
Поэтому правильно будет эмулировать в окне ZDS виртуальные нажатия клавиш A или D так чтобы попасть на нужную позицию.

Аватара пользователя
Locomotive
Сообщения: 15
Зарегистрирован: 17 сен 2021, 14:31
Город: Батайск
Настоящее имя: Алексей

Re: Нужна помощь знатоков ZDS

Сообщение Locomotive » 22 фев 2023, 18:45

Спасибо, товарищ SITT. Алгоритм понятен. Но теперь нужен ещё образец кода эмуляции нажатия клавиш и их сочетаний :D Будьте любезны. ;)

SITT
Сообщения: 7
Зарегистрирован: 02 сен 2019, 06:25
Город: Старый Оскол

Re: Нужна помощь знатоков ZDS

Сообщение SITT » 23 фев 2023, 08:11

Есть много способов:
  1. SendMessage(...);
  2. keybd_event(...);
  3. SendInput(...);
  4. SetKeyboardState(...);
Я использовал SendInput как более простой и универсальный, но надо следить за текущим активным окном и если например открыть блокнот то калвиши будут печататься в блокноте вместо управления контроллером.

Код: Выделить всё

INPUT ip;

//нажали клавишу A
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0;
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
ip.ki.wVk = 'a';
ip.ki.dwFlags = 0;
SendInput(1, &ip, sizeof(INPUT));

//дали ZDS время отреагировать (задержка подбирается индивидуально)
Sleep(200);

//отпустили клавишу A
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0;
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
ip.ki.wVk = 'a';
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));

Почтовик
Сообщения: 25
Зарегистрирован: 26 мар 2021, 10:04

Re: Нужна помощь знатоков ZDS

Сообщение Почтовик » 26 сен 2023, 13:41

Ребят, подскажите, где ,,ломать,, файл siglight.dmd из папки global?
скрин линз Ромы:
Изображение
скрин линз у меня:
Изображение
Не могу понять, почему стали такие маленькие.

siglight.dmd в папке global стоит от чистого ZDS, линзы установлены Ромы

Аватара пользователя
lord_vl80
Модератор
Сообщения: 52
Зарегистрирован: 30 авг 2019, 19:34
Настоящее имя: Сергей
VK: https://vk.com/id219639449

Re: Нужна помощь знатоков ZDS

Сообщение lord_vl80 » 26 сен 2023, 13:52

Это особенность сима, он уменьшает линзы по мере приближения к ним. На скрине Ромы камера стоит далеко от линзы, но при этом сделано "оптическое" приближение (чтобы рассмотреть линзу), а у вас камера находится близко к линзе и сим её уменьшил. Тут ничего не сделать.

Ответить

Вернуться в «Всё об игре»