AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Первым делом, первым делом - самолеты

Важная информация

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.07.2021, 03:00   #9
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,320
Смущение

Код для стаба ФВ-190.
Код:
protected boolean cutFM(int i, int j, Actor actor)
    {
        if(!getOp(i))
            return false;
        switch(i)
        {
        case 17: // '\021'
            cut("StabL");
            cutOp(17);
            super.FM.setCapableOfACM(false);
            if(World.Rnd().nextInt(-1, 8) < ((FlightModelMain) (super.FM)).Skill)
                super.FM.setReadyToReturn(true);
            if(World.Rnd().nextInt(-1, 16) < ((FlightModelMain) (super.FM)).Skill)
                super.FM.setReadyToDie(true);
            ((FlightModelMain) (super.FM)).Sq.liftStab *= 0.5F * Op(18) + 0.1F;
            ((FlightModelMain) (super.FM)).Sq.liftWingLIn *= 1.1F;
            ((FlightModelMain) (super.FM)).Sq.liftWingRIn *= 0.9F;
            ((FlightModelMain) (super.FM)).Sq.dragProducedCx -= 0.06F;
            if(Op(18) == 0.0F)
            {
                super.FM.SensPitch = 0.0F;
                super.FM.setGCenter(0.2F);
            } else
            {
                super.FM.setGCenter(0.1F);
                s17 = 0.0F;
                super.FM.SensPitch *= s17 + s18 + s31 + s32;
                X = 1.0F / (s17 + s18 + s31 + s32);
                s18 *= X;
                s31 *= X;
                s32 *= X;
            }
            // fall through

        case 31: // '\037'
            if(Op(31) == 0.0F)
                return false;
            cut("VatorL");
            cutOp(31);
            if(Op(32) == 0.0F)
            {
                bHasElevatorControl = false;
                super.FM.setCapableOfACM(false);
                if(Op(18) == 0.0F)
                    super.FM.setReadyToDie(true);
            }
            ((FlightModelMain) (super.FM)).Sq.squareElevators *= 0.5F * Op(32);
            ((FlightModelMain) (super.FM)).Sq.dragProducedCx += 0.06F;
            s31 = 0.0F;
            super.FM.SensPitch *= s17 + s18 + s31 + s32;
            X = 1.0F / (s17 + s18 + s31 + s32);
            s17 *= X;
            s18 *= X;
            s32 *= X;
            return false;

        case 18: // '\022'
            cut("StabR");
            cutOp(18);
            super.FM.setCapableOfACM(false);
            if(World.Rnd().nextInt(-1, 8) < ((FlightModelMain) (super.FM)).Skill)
                super.FM.setReadyToReturn(true);
            if(World.Rnd().nextInt(-1, 16) < ((FlightModelMain) (super.FM)).Skill)
                super.FM.setReadyToDie(true);
            ((FlightModelMain) (super.FM)).Sq.liftStab *= 0.5F * Op(17) + 0.1F;
            ((FlightModelMain) (super.FM)).Sq.liftWingLIn *= 0.9F;
            ((FlightModelMain) (super.FM)).Sq.liftWingRIn *= 1.1F;
            ((FlightModelMain) (super.FM)).Sq.dragProducedCx -= 0.06F;
            if(Op(17) == 0.0F)
            {
                super.FM.SensPitch = 0.0F;
                super.FM.setGCenter(0.2F);
            } else
            {
                super.FM.setGCenter(0.1F);
                s18 = 0.0F;
                super.FM.SensPitch *= s17 + s18 + s31 + s32;
                X = 1.0F / (s17 + s18 + s31 + s32);
                s17 *= X;
                s31 *= X;
                s32 *= X;
            }
            // fall through

        case 32: // ' '
            if(Op(32) == 0.0F)
                return false;
            cut("VatorR");
            cutOp(32);
            if(Op(31) == 0.0F)
            {
                bHasElevatorControl = false;
                super.FM.setCapableOfACM(false);
                if(Op(17) == 0.0F)
                    super.FM.setReadyToDie(true);
            }
            ((FlightModelMain) (super.FM)).Sq.squareElevators *= 0.5F * Op(31);
            ((FlightModelMain) (super.FM)).Sq.dragProducedCx += 0.06F;
            s32 = 0.0F;
            super.FM.SensPitch *= s17 + s18 + s31 + s32;
            X = 1.0F / (s17 + s18 + s31 + s32);
            s17 *= X;
            s18 *= X;
            s31 *= X;
            return false;

        default:
            return super.cutFM(i, j, actor);
        }
    }
Тоже лет 12 ему.
Прочитал.
Сделали не совсем хорошо - сдвинули центр тяжести вперёд
и изменили площадь крыла.
В принципе может быть будет похожий еффект, но стаб менял именно
угол атаки крыла и в целом самолёта.
Мне кажется, что цель поворота стабилизатора было изменение Су_0.

Последний раз редактировалось Vasya; 27.07.2021 в 03:14.
Vasya вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:40. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru