???
Математика на уровне МГУ

Показано с 1 по 25 из 297

Тема: CH Fighterstick программирование

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Зашедший Аватар для Chibis
    Регистрация
    13.05.2005
    Возраст
    70
    Сообщений
    336

    Ответ: CH Fighterstick программирование

    В профайле Аэропанка, за который ему большой респект, простому юзеру, к которым отношусь и я, трудно понять - что, где и как выполняется. По крайней мере, у меня на это ушло немало времени. Но именно благодаря его профайлу, я хоть немного разобрался в этом лабиринте и разбил его на отдельные скрипты, чтобы нужный без особой мороки можно было вставить в свой профайл. Вот три скрипта которые можно использовать как по отдельности, так и вместе. Нужно лишь переназначить свои кнопки и в Control Menedger указать соответствующие реальные и виртуальные оси. Надеюсь Аэропанк не будет на меня в обиде.

    //------------------------------------------------------------------------------
    // CMS Script File
    //
    // Game Title: IL-2 Forgotten Battles (+ AEP +PF) ver. 4.02
    // Written By: aeropunk
    // Date: 18 Decebmer 2005
    // Script Version: 1.04
    //
    //------------------------------------------------------------------------------
    //------------------------------------------------------------------------------
    // 1. Раздельное и синхронное управление тягой и шагом винта.
    //------------------------------------------------------------------------------
    // Real Controllers axes
    %DEFINE js_throttle JS2.A3

    //------------------------------------------------------------------------------
    // Real Controllers buttons (Здесь указываем нужные реальные кнопки)
    %DEFINE js_throttle_pitch_sync JS1.B15; //Тяга и шаг синхронно
    %DEFINE js_throttle_pitch_select JS1.B13; //Переключатель: Тяга/Шаг

    //------------------------------------------------------------------------------
    // CMS Controls axes
    %DEFINE cms_throttle CMS.A1
    %DEFINE cms_pitch CMS.A2

    //------------------------------------------------------------------------------
    // Internal buttons
    %DEFINE b_pitch_mapping B2
    %DEFINE b_pitch_or_throttle B3

    //------------------------------------------------------------------------------
    script

    if(FIRSTSCAN) then
    b_pitch_or_throttle = TRUE;
    b_pitch_mapping = FALSE;
    endif

    sequence
    wait(js_throttle_pitch_select);
    b_pitch_or_throttle = NOT b_pitch_or_throttle;
    if(b_pitch_or_throttle) then
    b_pitch_mapping = NOT b_pitch_mapping;
    endif
    endsequence

    if(js_throttle_pitch_sync) then
    cms_throttle = js_throttle;
    cms_pitch = js_throttle;
    else if(b_pitch_or_throttle) then
    if(b_pitch_mapping) then
    cms_pitch = js_throttle;
    else
    cms_throttle = js_throttle;
    endif endif endif

    endscript
    //------------------------------------------------------------------------------
    //------------------------------------------------------------------------------
    // 2. Управление колесным тормозом любой педалью.
    //------------------------------------------------------------------------------
    // Real Controllers axes
    %DEFINE js_brake_1 JS3.A1
    %DEFINE js_brake_2 JS3.A2

    //------------------------------------------------------------------------------
    // CMS Controls axes
    %DEFINE cms_brake CMS.A3

    //------------------------------------------------------------------------------
    script

    if([js_brake_1 > js_brake_2]) then
    cms_brake = js_brake_1;
    else
    cms_brake = js_brake_2;
    endif

    endscript
    //------------------------------------------------------------------------------
    //------------------------------------------------------------------------------
    // 4. Ручное и автоматическое управление шасси одной кнопкой.
    //------------------------------------------------------------------------------
    // Specific constants
    %DEFINE GEAR_LOOP_BEGIN 0
    %DEFINE GEAR_LOOP_END 51
    %DEFINE GEAR_PRESS_DELAY 2
    %DEFINE GEAR_RELEASE_DELAY 2

    //------------------------------------------------------------------------------
    // Real Controllers buttons
    %DEFINE js_gear JS2.B16

    //------------------------------------------------------------------------------
    // CMS Controls buttons (В закладке "CMS controls" кликаем на B6,затем снимаем галочку DX Mode и в поле "Press" указываем реальную кнопку которая управляет шасси например "g". Для "B7” указываем кнопку выпуска шасси вручную - например "n", Для B8 - кнопка уборки шасси вручную - например "h")
    %DEFINE cms_gear CMS.B6
    %DEFINE cms_gear_down CMS.B7
    %DEFINE cms_gear_up CMS.B8

    //------------------------------------------------------------------------------
    // Internal axes
    %DEFINE a_gear_down_counter A1
    %DEFINE a_gear_up_counter A2

    //------------------------------------------------------------------------------
    // Internal buttons
    %DEFINE b_gear_direction B1

    //------------------------------------------------------------------------------
    script

    if(FIRSTSCAN) then
    cms_gear = FALSE;
    cms_gear_down = FALSE;
    cms_gear_up = FALSE;
    a_gear_down_counter = GEAR_LOOP_END;
    a_gear_up_counter = GEAR_LOOP_END;
    b_gear_direction = FALSE;
    endif

    cms_gear = js_gear;

    sequence
    wait(js_gear);
    if(b_gear_direction) then
    a_gear_down_counter = GEAR_LOOP_BEGIN;
    a_gear_up_counter = GEAR_LOOP_END;
    else
    a_gear_down_counter = GEAR_LOOP_END;
    a_gear_up_counter = GEAR_LOOP_BEGIN;
    endif
    b_gear_direction = NOT b_gear_direction;
    endsequence

    sequence
    while([GEAR_LOOP_END > a_gear_down_counter]);
    cms_gear_down = TRUE;
    delay(GEAR_PRESS_DELAY);
    cms_gear_down = FALSE;
    delay(GEAR_RELEASE_DELAY);
    a_gear_down_counter = a_gear_down_counter + 1;
    endsequence

    sequence
    while([GEAR_LOOP_END > a_gear_up_counter]);
    cms_gear_up = TRUE;
    delay(GEAR_PRESS_DELAY);
    cms_gear_up = FALSE;
    delay(GEAR_RELEASE_DELAY);
    a_gear_up_counter = a_gear_up_counter + 1;
    endsequence

    endscript
    //------------------------------------------------------------------------------

    Ну и в добавок прикрепляю свой профайл где эти скрипты реализованы.
    Вложения Вложения
    Крайний раз редактировалось Chibis; 15.01.2006 в 19:46.

Ваши права

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