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