|
![]() |
#9 |
Звичайна людина на Землі
Регистрация: 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); } } Прочитал. Сделали не совсем хорошо - сдвинули центр тяжести вперёд и изменили площадь крыла. В принципе может быть будет похожий еффект, но стаб менял именно угол атаки крыла и в целом самолёта. Мне кажется, что цель поворота стабилизатора было изменение Су_0. Последний раз редактировалось Vasya; 27.07.2021 в 03:14. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|