Кстати, сейчас проверил мануал - операнда XOR в этом языке нет. Ну, я могу попробовать перевести всё - неохота, конечно же. Но людям будет полезно.
Кстати, сейчас проверил мануал - операнда XOR в этом языке нет. Ну, я могу попробовать перевести всё - неохота, конечно же. Но людям будет полезно.
Значит ты считаешь, что без матподготовки серьезно настраивать СН невозможно? Ну ты тогда вывод - либо СН не совсем озабочена нуждами юзеров, либо ты несколько горячишся... Эт не наезд, эт раздумья вслух.Сообщение от aeropunk
Да нет, это-то как раз понятно...Сообщение от aeropunk
ЗЫ. А профайлик твой хорош, данке!!
Хорошее дело, но заберет много времени. Трудно будет довести его до конца. Но если сподвигнешься, бери за основу сразу версию 4.0.Сообщение от EgorKA
Никакой особой матподготовки не нужно. Достаточно той алгебры логики, которую я привел чуть выше. ЕгорКа может подтвердить.Сообщение от Varga
Основным препятствием будет скорее незнание английского.
Во, 4.0 версию я пока не ставил. Но переводить, действительно, надо уже её. Интересно, что новенького там появилось?
Кстати, в мануале к 3.6 приводился пример программирования триммеров - так вот он работает не корректно. Т.е. пользоваться этими примерами со 100% уверенностью не получится.
Крайний раз редактировалось EgorKA; 28.12.2005 в 23:43.
Да, совсем забыл, в версии 1.03 моего профайла есть ошибка. Из-за опечатки сброс триммера по одной оси и сброс триммеров по всем осям попали на одну физическую кнопку (точнее на одно и то же положение хатки). Поэтому выкладываю здесь исправленную версию 1.04.Сообщение от EgorKA
Крайний раз редактировалось aeropunk; 29.12.2005 в 23:18.
Людям ИНТЕРСНО и ПОЛЕЗНО!Сообщение от EgorKA
Присоединяюсь. Многим будет полезно!Сообщение от _letchik_
Да какой "полезно"?? НУЖНО!
Я хоть и свобождно шпрехаю на зарубежной мове, однако на их хэлпах все мозги свернул.. Технический английский - эт вам не фунт изюму...
Ладно! я попробоваю. Тока построение фраз у этих англичан - все через Ж.....у. Пока в русском грамотно построишь переведенное предложение, все мозги закипят . Но времени займет, конечно.
Лана-лана! Ты цену-то не набивай, ты работай:-()))
Есть один вопрос , можно-ли в CH Fighterstick запрограмировать макросы как в Siteke , тоесть ,одно нажатие кнопки джойстика давалобы например 20 нажатий кнопки G на клавиатуре или комбинацию клавиш ???Если можно то как ? Пожалуйста с примером ???
Тебе обязательно макросы? В "Control Menedger" это делается без проблем и без всяких макросов, см. рис. Там на шасси забиндено, если мне не изменяет память - 43 нажатия.
И комбинацию клавиш можешь вводить какую хочешь. http://www.gennadich.com/posts/134/index.html В этой статье все очень толково расписано.
Крайний раз редактировалось Chibis; 31.12.2005 в 15:10.
Такой пример есть в моем профайле.Сообщение от CHIEF[PKA]
Да-а.. профайл у тя богатый, серьезная работа, респектище.
Вот только не заводится в нем тот вопрос, с которого в общем-то и пошел побочный тред - цитирую:
"Кто нить смог при помощи скриптов привязать триммера к кнопке? Ну, чтоб нажал её и триммер ходил за русом, отпустил, он остался на месте. Если у кого есть такой скрипт, поделитесь плиз!"
Или я дурак, не нашел...
У меня был такой - я сделал виртуальную ось (включаемую и выключаемую кнопкой на РУСе). Причем можно сделать, чтобы включением одной кнопкой врубались оси триммеров и крена и тангажа, а можно раздельно включать. НО... есть для меня в этом большое но - в играх, я экспериментировал, триммера обладают некоторой инертностью и точности управления, по моему опыту, это только вредило. Есть и еще один момент - это обычно, небольшой угол отклонения РУСа для удобного пилотирования - а для триммеров, например, для компенсации крена и т.д., потребуются большие углы отклонения того же РУСа (если триммера привязывать к нему). А при этом будет еще и самолет от курса отклоняться - в общем не удобно, т.к. невозможно отследить необходимый угол триммеров при этом (ведь вместе с триммером отклоняются и основные управляющие плоскости ЛА) и настройку триммера надо корректировать под мгновенное значение управляющих плоскостей ЛА.
Все это я к тому написал - был у меня такой профайл, но затер я его за ненадобностью.
Правда, если интересует возможность одновременного управления ШАГОМ и ГАЗОМ на одной оси (кнопкой вкл/выкл ШАГовая виртуальная ось и остается в последнем своем значении), то могу положить здесь профайл (применимо 100% для Ил2 - в нем и пользовал)
Крайний раз редактировалось EgorKA; 12.01.2006 в 21:13.
Ну как работают совместно триммера и оси - эт другая тема.. И давно кста решенная даж на простых устройствах методом хорошо известного чита... И мое имхо - управление нисколько не страдает, бо юзаешь ты это в игре в очень крайних случаях (эт если по кнопке, а не читом).. Вот висят у меня щас триммера на ротари РУСа и что, мешает? Да нисколько... Бо включается "когда нада" а не всегда..
Мне сама методология интересна.. Видно же, что софт джоя умеет многое. Интересно - насколько. Да и другие применения этому вижу..
прошу прощения, но я не знаю (или не догоняю), про какой чит разговор ? Я ведь тоже говорил, что у меня триммеры включались (и выкл) по кнопке и запоминали свое положение. Вобщем не понял я тут немного ...
Насчет применения и функциональности - я имею педали и РУС от СН (тротл пока не брал - места на столе нет для него) - так вот в ЛокОне все боевые режимы, управление оперением и шасси, обзор, управление стробом и радаром - все висит на РУСе и очень удобно управляться одной рукой, поэтому пока нет надобности в тротле.
Да есть такой чит - пишешь в конфиг пару строк, и у тя триммера начинают ходить ВМЕСТЕ с осями Х и У. Не бери в голову, эт я к слову упомянул.. А как ты реализовывал свой алгоритм?Сообщение от EgorKA
Да про троттл и слова не было) У меня тож на РУСе СН хватает места для всего (РУД - х45 "два-в-одном")..Сообщение от EgorKA
(чертыхается) Мне сам принцип интересен!
Эээ, ну как там было -это еще вспомнить надо Давай позже я расскажу об этом, а то с этим переводом башка пухнетСообщение от Varga
Конечно, не вопрос...
В профайле Аэропанка, за который ему большой респект, простому юзеру, к которым отношусь и я, трудно понять - что, где и как выполняется. По крайней мере, у меня на это ушло немало времени. Но именно благодаря его профайлу, я хоть немного разобрался в этом лабиринте и разбил его на отдельные скрипты, чтобы нужный без особой мороки можно было вставить в свой профайл. Вот три скрипта которые можно использовать как по отдельности, так и вместе. Нужно лишь переназначить свои кнопки и в 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.
Самое интересное - это то, что разница между значением оси для шага и для газа(в игре Ил2) = 22 (у меня тоже именно такое значение получилось - видимо не зря ). Но... почему у Аэропанка (или это у тебя, Тарзан?) минимальное значение физической оси = 6? Это джой так не доводит ось в ноль?
А вообще, я рад, что Аэропанк такой академический подход проявил при создании профайла. Честно говоря, у меня почти все тоже самое заняло несколько меньше места - но я знаю в чем эти отличия . Например, я не стал обе педали ставить на тормоз - хоть и жму обе, но только одна из них работающая.
Критерий экономии кнопок на джое Файтерстик в игре Ил2 не такой значимый - поэтому управление шасси с помощью всего одной кнопки, на мой взгляд, не насущно. У меня это заняло 2 кнопки - подъем и выпуск. Причем неважно - И16 это или Ла5.
Это не критика - просто у всех вирпилов своя логика и свой подход к рабочему месту.
Еще бы вот увидеть комментарий функции FirstScan - хотя интуитивно немного понятно.
Крайний раз редактировалось EgorKA; 15.01.2006 в 23:19.
Да у меня джой так не доводит ось. Говорят, можно разобрать джойстик и поправить какие-то противошумные резинки, тогда оси будут нормально отрабатывать. Но мне неохота и боязно этим заморачиваться. Я умею программировать (давить на клавиши), а вот работать руками у меня плохо получается. Если начну отворачивать винт, обязательно шлиц попорчу.Сообщение от EgorKA
Выложив сюда свой профайл, я фактически передал его в public domain. Настоящим подтверждаю, что выложенный мной профайл, я действительно и сознательно передал в public domain.Сообщение от TAP3AH