26.06.2018, 08:10 | #981 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
Бо ніц не втямлю цього казання. |
|
26.06.2018, 12:07 | #982 | |
Пенсионер
Регистрация: 24.06.2007
Адрес: Нерезиновая
Сообщений: 2,086
|
Цитата:
А на счёт бревна... В зеркало посмотритесь.
__________________
|
|
26.06.2018, 12:44 | #983 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
---------------------------- А просил перевести текст ваш выше, потому как украинский для меня родной и такой "шарварок" слов на мове составить сложно. Я - вообще - довольно строгого воспитания: моя мама родилась ещё в 1937 году и - соотвественно - стебаться в отношениях в их семье было не только ужасно стыдно, но и не согласовалось с честью, рода в том числе. Я сегодня жене с утра рассказывал об отвественности перед предками рода., сказал, что хотелось бы так прожить, что бы мне не было стыдно перед родом. Кто там судить будет - не знаю: Один или Осарис, но всё же. А если буду осмотрительным в словах и делах, то и девственницу выдадут (их там много есть красивых/арийских) и шоколадкой угостят. Вот такие надежды. |
|
26.06.2018, 14:12 | #984 |
Пенсионер
Регистрация: 24.06.2007
Адрес: Нерезиновая
Сообщений: 2,086
|
Кто говорит о каких-то обязанностях? Можете вещать хоть на суахили, это Ваше право. Я просто попросил не коверкать русский язык. Что в этом странного или оскорбительного лично для Вас? Или это слишком трудно?
__________________
|
26.06.2018, 15:07 | #985 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Отстранившись от "шарварка",
предлагаю поправленный мод Лаггов, включены и "финские" типа. Внизу архив. Замечания приветствуются! --------------------------------------- Проверял с модом 3До из Д-Ген-пака. https://drive.google.com/file/d/1Yzu...ew?usp=sharing Подарил мне наш участник Димас - ему отдельное БОЛЬШОЕ СПАСИБО! Всем приятных полётов! П.С. В фм(выше выкладывал) изменения почти не вносились, за исключением сопромата фюзеляжа. Его(сопромат) пришлось немного снизить что бы Лагг летал по ттх близких к заводским Лаггам(не по ттх эталонов). В модели серия70(фантазия) установлен двигатель М-107А, но со старым радиатором - будет у земли греться через 1.5-2 минуты. ФМ Серия-29. Код:
[Aircraft] Type 1 Crew 1 Wingspan 9.8 Length 8.81 Seaplane 0 Canard 0 Jet 0 JetHiV 0 [Mass] Empty 2430.0 TakeOff 3160.0 Oil 45.0 Fuel 340.0 [Controls] CAileron 1 CAileronTrim 0 CElevator 1 CElevatorTrim 1 CRudder 1 CRudderTrim 1 CFlap 1 CFlapPos 3 CDiveBrake 0 CInterceptor 0 CEngine 1 CVectoredThrust 0 CUndercarriage 1 CLockTailwheel 1 CStabilizer 0 CArrestorHook 0 CWingFold 0 OnlineCockpitDoor 0 CCockpitDoor 1 CockpitDoorPeriod 2.0 CAileronThreshold 460.0 CRudderThreshold 500.0 CElevatorThreshold 420.0 DefaultAileronTrim -0.012 DefaultElevatorTrim -0.05 DefaultRudderTrim -0.0587 [Squares] Wing 17.51 Aileron 1.32 Flap 2.53 Stabilizer 1.90 Elevator 1.20 Keel 0.70 Rudder 1.10 Wing_In 2.48 Wing_Mid 3.225 Wing_Out 2.93 AirbrakeCxS 0.00 [Arm] Aileron 3.9 Flap 1.6 Stabilizer 5.25 Keel 5.25 Elevator 5.75 Rudder 5.9 Wing_In 1.0 Wing_Mid 2.35 Wing_Out 3.9 Wing_V 1.5 GCenter 0.10 GCenterZ 0.00 GC_AOA_Shift 0.45 GC_Flaps_Shift 0.15 GC_Gear_Shift -0.15 [Toughness] AroneL 50 AroneR 50 CF 300 Engine1 50 Engine2 50 Engine3 50 Engine4 50 GearL2 200 GearR2 200 Keel1 50 Keel2 50 Nose 50 Oil 20 Rudder1 50 Rudder2 50 StabL 50 StabR 50 Tail1 80 Tail2 80 Turret1B 50 Turret2B 50 Turret3B 50 Turret4B 50 Turret5B 50 Turret6B 50 VatorL 50 VatorR 50 WingLIn 100 WingLMid 80 WingLOut 80 WingRIn 100 WingRMid 80 WingROut 80 Flap01 50 Flap02 50 Flap03 50 Flap04 50 [Engine] Engine0Family M-100_Series_MOD_LAGG:LAGG Engine0SubModel M-105PF/LAGG-3EARLY/SERIYA-29 [Gear] H 1.827538 Pitch 13.241 SinkFactor 1000.0 SpringsStiffness 0.8 [Params] CriticalAOA 21.00 CriticalCy 01.70 CxCurvature 00.80 CxStraightness 00.20 CriticalAOAFlap 18.00 CriticalCyFlap 02.10 SpinTailAlpha 17.00 SpinCxLoss 0.05 SpinCyLoss 0.02 Vmin 165.0 Vmax 550.0 Vyfac 0.9 Tfac 1.02 Vmin 170.0 Vmax 520.0 VmaxAllowed 690.0 VmaxH 590.0 HofVmax 5000.0 VminFLAPS 140.0 VmaxFLAPS 235.0 Vz_climb 15.0 V_climb 270.0 T_turn 23.0 V_turn 340.0 K_max 15.0 Cy0_max 0.15 FlapsMult 1.0 FlapsAngSh 3.0 ReferenceWeight -56.0 G_class_coeff 18.5 G_class 09.5 Range 870.0 CruiseSpeed 390.0 SensYaw 0.39 SensPitch 0.67 SensRoll 0.34 [Polares] lineCyCoeff 0.094 AOAMinCx_Shift 0.2 Cy0_0 0.13 AOACritH_0 19.0 AOACritL_0 -15.0 CyCritH_0 1.41 CyCritL_0 -0.89 CxMin_0 0.0182 parabCxCoeff_0 4.3E-4 Cy0_1 0.675 AOACritH_1 17.0 AOACritL_1 -26.0 CyCritH_1 1.760134 CyCritL_1 -0.87 CxMin_1 0.09099 parabCxCoeff_1 5.9E-4 parabAngle 6.0 Decline 0.010 maxDistAng 40.0 draw_graphs 0 mc3 -17.551,-9.8474,-2.4053,19.44,-11.492,-2.7464,1.6612,3.9875 mc4 37.807,28.078,69.235,26.054,89.944,41.96,21.532,14.707 mm 0.678,0.738,0.772,0.771,0.748,0.694,0.641,0.584 mz 0.281,0.26,0.127,0.086,0.129,0.147,0.151,0.115 [SOUND] Engine Std |
26.06.2018, 19:01 | #986 | |
Местный
Регистрация: 12.04.2009
Сообщений: 5,063
|
Цитата:
Джо... я сам был уверен что Товарищ Маузер Олбанский язык использует и любит ... оказалось нет... по другой это причине... не бери близко к сердцу ...
__________________
ищется идейный Программер ) |
|
26.06.2018, 19:31 | #987 |
Местный
Регистрация: 12.04.2009
Сообщений: 5,063
|
вот тролина то
__________________
ищется идейный Программер ) |
27.06.2018, 08:26 | #988 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
Зарание БЛАГОДАРЮ! |
|
27.06.2018, 08:58 | #989 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
|
27.06.2018, 09:04 | #990 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Исправил некоторые циферки в фм моих модов Мессеров
!!!_000_UP_RealFWs_4.12.2+ !!!_000_COD_FOR_BF-109G-6+ которые работают с САСовским модом 00_BF109_Ultimate_Pack_v4 Исправления: длинна и размах крыльев в моделях Фридрих-Густав-Курфюрст выставлены по документу - картинки внизу. --------------------------------------- Заодно Лаггам чуть подправил триммирование рулей(ещё будут донастраиваться после дальнейших тестов на управляемость). Последний раз редактировалось Vasya; 27.06.2018 в 09:05. Причина: исправление ошибок |
27.06.2018, 10:29 | #991 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
Тут: http://www.deutscheluftwaffe.com/arc.../Dokumente.htm Вы отказались предоставить документы с верными размерами. Хотя бы скрин с кусочком документа. Я так понял, что длинна Мессершмита есть секретная информация. На нет и суда нет. Пока пользуюсь теми документами, которые есть в открытом доступе. Ничем не хотел обидеть! |
|
27.06.2018, 12:08 | #992 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
Если можно - дайте пожалуйста (!!!) ссылку на DLW, что бы я мог поискать нужную мне документацию. |
|
27.06.2018, 12:12 | #993 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
|
28.06.2018, 16:23 | #994 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Цитата:
То что не пощитан колпачёк закрывающий в коке винта втулку - то невелика беда. Разница в 6 см. и 20 милиметров. В симуляторе это не отразится на лётные характеристики. Тем более, что в других документах/книжках(handbuch) указываеться именно Length 8.94. Вы изолили выразиться, что их нужно выкинуть. Ну что ж - это ваше личное мнение. Я привык доверять документам - и немецким и западных созников(с известными поправками на "очепятки"). Большое СПАСИБО (!!!) вам за внимание ко мне и моим изысканиям в симулировании полёта самолётов в виртуальном мире. ------------------------------------------- Итересно - какие размеры для Курфюрста-4 прописаны в "самом точном" симуляторе ДКС? Может кто посмотрит - там код должен быть открытым. |
|
29.06.2018, 20:31 | #995 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Расскажу нашим участникам и захожим посетителям немного о мододелании.
Сел за комп и думаю себе: нужно поставить новую карту Белоруссии и потестить там Мессер с новыми крыльями. Класс там несложный и ваяеться всё неспеша за пол-часа. Ага... не тут то было. Залез в папку. где складываю папки с 3До для работы и зацепился взглядом за Ки-94. О! Вспомнил - я ему фм правил(чуть-чуть) года два назад. Думаю: щас быстренько перевскрою классы, закомпилю и сделаю фм за часок(знания уже типа позволяют). Вскрыл я основной класс того Ки-94 и начал офуевать от "поэзии скульптора". Сразу зацепился взглядом за корявость: Код:
public abstract class KI_94_V2 extends Scheme1 implements TypeFighter, TypeBNZFighter, TypeStormovik { public KI_94_V2() { Class class1 = com.maddox.il2.objects.air.KI_94_V2.class; new NetAircraft.SPAWN(class1); Property.set(class1, "originCountry", PaintScheme.countryItaly); } Для штурмовика свой код бомбометания нужно вписывать. Где он? И Япония уже примыкает к Италии? Не, ну, оно канешна страны оси, но однако... просто в итальянских миссиях в патчах ниже 4.13.4 будет краш системы. Дальше 4-5 разделов сложного кода, похоже выдранного из класса Лавок. Но потом економия и ещё раз економия - коды ужаты - как буд то ваятель очень спешил и напихал что было под рукой. Хотя есть же похожий крафт - Ки-84., есть и Ки-100. В них подробно и просто расписаны повреждения и работа агрегатов. Можно было при ваянии 3До просто одинаково(подобно как в Ки-84) назвать все меши и коллизии. Добавить чего нибуть вкусненького и дописать разделы кода из Ки-100 - например. В общем: сидел я и пересобирал часа ТРИ основной класс, переставлял скобки и выправлял "скачущий в неизвесность" ужатый код. Конечно - это всё получилось не идеально., в самолёт - в 3До - нужно добавлять и масло-бак и топливную систему и гидравлику и много ещё чего. Только после нормальной сборки 3До с коллизиями можно потихоньку выписать всё в классе и это будет весьма гут. На скорую руку делать самолёты невозможно. Иначе это будут летающие брёвна. Извините за откровенность. Правленный класс Ки-94 до состояния "може буты" ниже в посте. Последний раз редактировалось Vasya; 29.06.2018 в 21:48. |
29.06.2018, 20:34 | #996 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Код:
package com.maddox.il2.objects.air; import com.maddox.JGP.Point3d; import com.maddox.JGP.Vector3d; import com.maddox.il2.ai.*; import com.maddox.il2.engine.*; import com.maddox.il2.engine.Actor; import com.maddox.il2.engine.HierMesh; import com.maddox.il2.fm.*; import com.maddox.il2.game.Main3D; import com.maddox.rts.Property; public abstract class KI_94X extends Scheme1 implements TypeFighter, TypeBNZFighter { public KI_94X() { flapps = 0.0F; } public float getEyeLevelCorrection() { return 0.05F; } public void doMurderPilot(int i) { switch(i) { case 0: // '\0' hierMesh().chunkVisible("Pilot1_D0", false); hierMesh().chunkVisible("Head1_D0", false); hierMesh().chunkVisible("HMask1_D0", false); hierMesh().chunkVisible("Pilot1_D1", true); break; } } protected boolean cutFM(int i, int j, Actor actor) { if(i == 19) FM.Gears.hitCentreGear(); return super.cutFM(i, j, actor); } public void moveCockpitDoor(float f) { resetYPRmodifier(); Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.005F); Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.635F); Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F); hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr); if(Config.isUSE_RENDER()) { if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null) Main3D.cur3D().cockpits[0].onDoorMoved(f); setDoorSnd(f); } } public void update(float f) { float f1 = FM.EI.engines[0].getControlRadiator(); if(Math.abs(flapps - f1) > 0.01F) { flapps = f1; for(int i = 1; i < 13; i++) { String s = "Water" + i + "_D0"; hierMesh().chunkSetAngles(s, 0.0F, -32F * f1, 0.0F); } } super.update(f); } public void rareAction(float f, boolean flag) { super.rareAction(f, flag); if(FM.getAltitude() < 3000F) hierMesh().chunkVisible("hmask1_D0", false); else hierMesh().chunkVisible("hmask1_D0", hierMesh().isChunkVisible("Pilot1_D0")); if(flag) { if(FM.AS.astateEngineStates[0] > 3 && World.Rnd().nextFloat() < 0.39F) FM.AS.hitTank(this, 0, 1); if(FM.AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.1F) nextDMGLevel(FM.AS.astateEffectChunks[0] + "0", 0, this); if(FM.AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.1F) nextDMGLevel(FM.AS.astateEffectChunks[1] + "0", 0, this); if(FM.AS.astateTankStates[2] > 4 && World.Rnd().nextFloat() < 0.1F) nextDMGLevel(FM.AS.astateEffectChunks[2] + "0", 0, this); if(FM.AS.astateTankStates[3] > 4 && World.Rnd().nextFloat() < 0.1F) nextDMGLevel(FM.AS.astateEffectChunks[3] + "0", 0, this); } } public static void moveGear_old(HierMesh hiermesh, float f, float f1, float f2) { hiermesh.chunkSetAngles("GearL2_D0", 0.0F, Aircraft.cvt(f, 0.18F, 0.99F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("GearL4_D0", 0.0F, Aircraft.cvt(f, 0.02F, 0.2F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("Gearl6_D0", 0.0F, Aircraft.cvt(f, 0.18F, 0.99F, 0.0F, -30F), 0.0F); Aircraft.xyz[0] = Aircraft.xyz[1] = Aircraft.xyz[2] = Aircraft.ypr[0] = Aircraft.ypr[1] = Aircraft.ypr[2] = 0.0F; Aircraft.xyz[1] = Aircraft.cvt(f, 0.3F, 0.99F, 0.0F, 0.45F); hiermesh.chunkSetLocate("Gearl9_D0", Aircraft.xyz, Aircraft.ypr); hiermesh.chunkSetAngles("GearR2_D0", 0.0F, Aircraft.cvt(f1, 0.18F, 0.99F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("GearR4_D0", 0.0F, Aircraft.cvt(f1, 0.02F, 0.2F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("GearR6_D0", 0.0F, Aircraft.cvt(f1, 0.18F, 0.99F, 0.0F, 30F), 0.0F); Aircraft.xyz[0] = Aircraft.xyz[1] = Aircraft.xyz[2] = Aircraft.ypr[0] = Aircraft.ypr[1] = Aircraft.ypr[2] = 0.0F; Aircraft.xyz[1] = Aircraft.cvt(f1, 0.3F, 0.99F, 0.0F, 0.45F); hiermesh.chunkSetLocate("GearR9_D0", Aircraft.xyz, Aircraft.ypr); hiermesh.chunkSetAngles("GearC2_D0", 0.0F, Aircraft.cvt(f2, 0.11F, 0.67F, 0.0F, -70F), 0.0F); hiermesh.chunkSetAngles("GearC3L_D0", 0.0F, Aircraft.cvt(f2, 0.0F, 0.15F, 0.0F, 80F), 0.0F); hiermesh.chunkSetAngles("GearC3R_D0", 0.0F, Aircraft.cvt(f2, 0.0F, 0.15F, 0.0F, -80F), 0.0F); } protected void moveGear_old(float f, float f1, float f2) { moveGear(hierMesh(), f, f1, f2); } public static void moveGear(HierMesh hiermesh, float f, float f1, float f2, boolean flag) { hiermesh.chunkSetAngles("GearL2_D0", 0.0F, Aircraft.cvt(f, 0.18F, 0.89F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("GearL4_D0", 0.0F, Aircraft.cvt(f, 0.02F, 0.2F, 0.0F, 90F) + Aircraft.cvt(f, 0.6F, 0.79F, 0.0F, -90F), 0.0F); hiermesh.chunkSetAngles("Gearl6_D0", 0.0F, Aircraft.cvt(f, 0.18F, 0.89F, 0.0F, -30F), 0.0F); Aircraft.xyz[0] = Aircraft.xyz[1] = Aircraft.xyz[2] = Aircraft.ypr[0] = Aircraft.ypr[1] = Aircraft.ypr[2] = 0.0F; Aircraft.xyz[1] = Aircraft.cvt(f, 0.3F, 0.99F, 0.0F, 0.45F); hiermesh.chunkSetLocate("Gearl9_D0", Aircraft.xyz, Aircraft.ypr); hiermesh.chunkSetAngles("GearR2_D0", 0.0F, Aircraft.cvt(f1, 0.28F, 0.99F, 0.0F, 90F), 0.0F); hiermesh.chunkSetAngles("GearR4_D0", 0.0F, Aircraft.cvt(f1, 0.12F, 0.3F, 0.0F, 90F) + Aircraft.cvt(f, 0.7F, 0.89F, 0.0F, -90F), 0.0F); hiermesh.chunkSetAngles("GearR6_D0", 0.0F, Aircraft.cvt(f1, 0.28F, 0.99F, 0.0F, 30F), 0.0F); Aircraft.xyz[0] = Aircraft.xyz[1] = Aircraft.xyz[2] = Aircraft.ypr[0] = Aircraft.ypr[1] = Aircraft.ypr[2] = 0.0F; Aircraft.xyz[1] = Aircraft.cvt(f1, 0.3F, 0.99F, 0.0F, 0.45F); hiermesh.chunkSetLocate("GearR9_D0", Aircraft.xyz, Aircraft.ypr); Aircraft.xyz[0] = Aircraft.xyz[2] = Aircraft.ypr[0] = Aircraft.ypr[1] = Aircraft.ypr[2] = 0.0F; float f3 = -0.1F; Aircraft.xyz[1] = Aircraft.cvt(f, 0.18F, 0.35F, 0.0F, f3) - Aircraft.cvt(f, 0.38F, 0.5F, 0.0F, f3); hiermesh.chunkSetLocate("GearL8_D0", Aircraft.xyz, Aircraft.ypr); Aircraft.xyz[1] = Aircraft.cvt(f1, 0.28F, 0.45F, 0.0F, f3) - Aircraft.cvt(f1, 0.48F, 0.6F, 0.0F, f3); hiermesh.chunkSetLocate("GearR8_D0", Aircraft.xyz, Aircraft.ypr); if(flag) { hiermesh.chunkSetAngles("GearC2_D0", 0.0F, Aircraft.cvt(f2, 0.63F, 0.99F, 0.0F, -70F), 0.0F); hiermesh.chunkSetAngles("GearC3L_D0", 0.0F, Aircraft.cvt(f2, 0.52F, 0.67F, 0.0F, 80F), 0.0F); hiermesh.chunkSetAngles("GearC3R_D0", 0.0F, Aircraft.cvt(f2, 0.52F, 0.67F, 0.0F, -80F), 0.0F); } else { hiermesh.chunkSetAngles("GearC2_D0", 0.0F, Aircraft.cvt(f2, 0.11F, 0.47F, 0.0F, -70F), 0.0F); hiermesh.chunkSetAngles("GearC3L_D0", 0.0F, Aircraft.cvt(f2, 0.0F, 0.15F, 0.0F, 80F), 0.0F); hiermesh.chunkSetAngles("GearC3R_D0", 0.0F, Aircraft.cvt(f2, 0.0F, 0.15F, 0.0F, -80F), 0.0F); } } public static void moveGear(HierMesh hiermesh, float f, float f1, float f2) { moveGear(hiermesh, f, f1, f2, true); } protected void moveGear(float f, float f1, float f2) { moveGear(hierMesh(), f, f1, f2, FM.CT.GearControl > 0.5F); } public static void moveGear(HierMesh hiermesh, float f, boolean flag) { moveGear(hiermesh, f, f, f, flag); } public static void moveGear(HierMesh hiermesh, float f) { moveGear(hiermesh, f, f, f, true); } protected void moveGear(float f) { moveGear(hierMesh(), f, FM.CT.GearControl > 0.5F); } public void moveWheelSink() { resetYPRmodifier(); Aircraft.xyz[1] = Aircraft.cvt(FM.Gears.gWheelSinking[0], 0.0F, 0.2085F, 0.0F, -0.2085F); hierMesh().chunkSetLocate("GearL8_D0", Aircraft.xyz, Aircraft.ypr); Aircraft.xyz[1] = Aircraft.cvt(FM.Gears.gWheelSinking[1], 0.0F, 0.2085F, 0.0F, -0.2085F); hierMesh().chunkSetLocate("GearR8_D0", Aircraft.xyz, Aircraft.ypr); } protected void moveFlap(float f) { if(thisWeaponsName.equalsIgnoreCase("2x250kg") && FM.CT.Weapons[3] != null && FM.CT.Weapons[3][0] != null && FM.CT.Weapons[3][FM.CT.Weapons[3].length - 1].haveBullets() && f > 0.33F) { FM.CT.forceFlaps(0.33F); FM.CT.FlapsControl = 0.33F; f = 0.33F; } resetYPRmodifier(); Aircraft.xyz[0] = Aircraft.cvt(f, 0.0F, 0.2F, 0.0F, 0.45F); Aircraft.xyz[2] = Aircraft.cvt(f, 0.1F, 0.15F, 0.0F, -0.014F) + Aircraft.cvt(f, 0.2F, 1.0F, 0.0F, 0.014F); Aircraft.ypr[1] = Aircraft.cvt(f, 0.0F, 0.2F, 0.0F, -5F) + Aircraft.cvt(f, 0.2F, 0.33F, 0.0F, -15F) + Aircraft.cvt(f, 0.33F, 1.0F, 0.0F, -35F); hierMesh().chunkSetLocate("FlapInL_D0", Aircraft.xyz, Aircraft.ypr); hierMesh().chunkSetLocate("FlapInR_D0", Aircraft.xyz, Aircraft.ypr); hierMesh().chunkSetLocate("FlapOutL_D0", Aircraft.xyz, Aircraft.ypr); hierMesh().chunkSetLocate("FlapOutR_D0", Aircraft.xyz, Aircraft.ypr); } protected void setControlDamage(Shot shot, int i) { if(World.Rnd().nextFloat() < 0.01F && getEnergyPastArmor(4F, shot) > 0.01F) FM.AS.setControlsDamage(shot.initiator, i); } |
29.06.2018, 20:35 | #997 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Код:
protected void moveAileron(float f) { float f1 = -(f * 30F); hierMesh().chunkSetAngles("AroneL_D0", 0.0F, f1, 0.0F); f1 = -(f * 30F); hierMesh().chunkSetAngles("AroneR_D0", 0.0F, f1, 0.0F); } protected void moveRudder(float f) { hierMesh().chunkSetAngles("Rudder1_D0", 0.0F, -31F * f, 0.0F); } protected void moveElevator(float f) { if(f < 0.0F) { hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -20F * f, 0.0F); hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -20F * f, 0.0F); } else { hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -30F * f, 0.0F); hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -30F * f, 0.0F); } } protected void hitBone(String s, Shot shot, Point3d point3d) { if(s.startsWith("xx")) { if(s.startsWith("xxarmor")) { if(s.startsWith("xxarmorp")) { int i = s.charAt(8) - 48; switch(i) { case 1: // '\001' getEnergyPastArmor(22.760000228881836D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot); if(shot.power <= 0.0F) doRicochetBack(shot); break; case 3: // '\003' getEnergyPastArmor(9.366F, shot); break; case 5: // '\005' getEnergyPastArmor(12.699999809265137D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot); break; } return; } if(s.startsWith("xxcontrols")) { int j = s.charAt(10) - 48; switch(j) { case 1: // '\001' case 2: // '\002' if(getEnergyPastArmor(0.28F / ((float)Math.sqrt(Aircraft.v1.y * Aircraft.v1.y + Aircraft.v1.z * Aircraft.v1.z) + 0.0001F), shot) > 0.0F) { if(World.Rnd().nextFloat() < 0.05F) FM.AS.setControlsDamage(shot.initiator, 1); if(World.Rnd().nextFloat() < 0.75F) FM.AS.setControlsDamage(shot.initiator, 2); } break; case 3: // '\003' if(getEnergyPastArmor(3.6F, shot) > 0.0F) { FM.AS.setControlsDamage(shot.initiator, 2); FM.AS.setControlsDamage(shot.initiator, 1); FM.AS.setControlsDamage(shot.initiator, 0); } break; case 4: // '\004' if(getEnergyPastArmor(0.22F, shot) > 0.0F) { FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 8); FM.AS.setEngineSpecificDamage(shot.initiator, 0, 1); FM.AS.setEngineSpecificDamage(shot.initiator, 0, 6); } break; case 5: // '\005' case 7: // '\007' if(getEnergyPastArmor(0.125F, shot) > 0.0F) FM.AS.setControlsDamage(shot.initiator, 0); break; case 6: // '\006' case 8: // '\b' if(getEnergyPastArmor(4D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot) > 0.0F && World.Rnd().nextFloat() < 0.5F) FM.AS.setControlsDamage(shot.initiator, 0); break; } return; } if(s.startsWith("xxeng")) { if(s.endsWith("case") || s.endsWith("gear")) { if((s.endsWith("prop") || s.endsWith("pipe")) && getEnergyPastArmor(0.2F, shot) > 0.0F && World.Rnd().nextFloat() < 0.5F) FM.EI.engines[0].setKillPropAngleDevice(shot.initiator); if(getEnergyPastArmor(0.1F, shot) > 0.0F) { if(World.Rnd().nextFloat() < shot.power / 140000F) { FM.AS.setEngineStuck(shot.initiator, 0); debugprintln(this, "*** Engine Crank Case Hit - Engine Stucks.."); } if(World.Rnd().nextFloat() < shot.power / 85000F) { FM.AS.hitEngine(shot.initiator, 0, 2); debugprintln(this, "*** Engine Crank Case Hit - Engine Damaged.."); } } else if(World.Rnd().nextFloat() < 0.01F) { FM.EI.engines[0].setCyliderKnockOut(shot.initiator, 1); } else { FM.EI.engines[0].setReadyness(shot.initiator, FM.EI.engines[0].getReadyness() - 0.002F); debugprintln(this, "*** Engine Crank Case Hit - Readyness Reduced to " + FM.EI.engines[0].getReadyness() + ".."); } getEnergyPastArmor(14F, shot); } if(s.endsWith("cyl1") || s.endsWith("cyl2")) if(getEnergyPastArmor(5.85F, shot) > 0.0F && World.Rnd().nextFloat() < FM.EI.engines[0].getCylindersRatio() * 0.75F) { FM.EI.engines[0].setCyliderKnockOut(shot.initiator, World.Rnd().nextInt(1, (int)(shot.power / 19000F))); debugprintln(this, "*** Engine Cylinders Hit, " + FM.EI.engines[0].getCylindersOperable() + "/" + FM.EI.engines[0].getCylinders() + " Left.."); if(World.Rnd().nextFloat() < shot.power / 48000F) { FM.AS.hitEngine(shot.initiator, 0, 2); debugprintln(this, "*** Engine Cylinders Hit - Engine Fires.."); } } getEnergyPastArmor(25F, shot); } else if(s.endsWith("supc") && getEnergyPastArmor(0.1F, shot) > 0.0F && World.Rnd().nextFloat() < 0.89F) { ((FlightModelMain) (super.FM)).EI.engines[0].setKillCompressor(shot.initiator); Aircraft.debugprintln(this, "*** Engine Supercharger Out.."); } if(s.startsWith("xxeng1oil")) { if(getEnergyPastArmor(0.25F, shot) > 0.0F && World.Rnd().nextFloat() < 0.125F) { ((FlightModelMain) (super.FM)).AS.hitOil(shot.initiator, 0); getEnergyPastArmor(0.22F, shot); debuggunnery("Engine Module: Oil Tank Pierced.."); } return; } if(s.startsWith("xxtank")) { int k = s.charAt(6) - 49; if(getEnergyPastArmor(0.12F, shot) > 0.0F && World.Rnd().nextFloat() < 0.45F) { if(FM.AS.astateTankStates[k] == 0) { debuggunnery("Fuel Tank (" + k + "): Pierced.."); FM.AS.hitTank(shot.initiator, k, 1); FM.AS.doSetTankState(shot.initiator, k, 1); } if(FM.AS.astateTankStates[k] == 1) { debuggunnery("Fuel Tank (" + k + "): Pierced.."); FM.AS.hitTank(shot.initiator, k, 1); FM.AS.doSetTankState(shot.initiator, k, 2); } if(World.Rnd().nextFloat() < 0.01F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.4F) { FM.AS.hitTank(shot.initiator, k, 4); debuggunnery("Fuel Tank (" + k + "): Hit.."); } } return; } |
29.06.2018, 20:38 | #998 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Код:
if(s.startsWith("xxmgun")) { if(s.endsWith("01")) FM.AS.setJamBullets(0, 0); if(s.endsWith("02")) FM.AS.setJamBullets(1, 0); getEnergyPastArmor(World.Rnd().nextFloat(0.5F, 15.6F), shot); } return; } if(s.startsWith("xxcannon")) { if(s.endsWith("02")) FM.AS.setJamBullets(3, 0); if(s.endsWith("03")) FM.AS.setJamBullets(4, 0); getEnergyPastArmor(World.Rnd().nextFloat(0.5F, 15.6F), shot); } return; } if(s.startsWith("xxlock")) { debuggunnery("Lock Construction: Hit.."); if(s.startsWith("xxlockr") && getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debuggunnery("Lock Construction: Rudder1 Lock Shot Off.."); nextDMGLevels(3, 2, "Rudder1_D" + chunkDamageVisible("Rudder1"), shot.initiator); } if(s.startsWith("xxlockvl") && getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debuggunnery("Lock Construction: VatorL Lock Shot Off.."); nextDMGLevels(3, 2, "VatorL_D" + chunkDamageVisible("VatorL"), shot.initiator); } if(s.startsWith("xxlockvr") && getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debuggunnery("Lock Construction: VatorR Lock Shot Off.."); nextDMGLevels(3, 2, "VatorR_D" + chunkDamageVisible("VatorR"), shot.initiator); } if(s.startsWith("xxlockal") && getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debuggunnery("Lock Construction: AroneL Lock Shot Off.."); nextDMGLevels(3, 2, "AroneL_D" + chunkDamageVisible("AroneL"), shot.initiator); } if(s.startsWith("xxlockar") && getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debuggunnery("Lock Construction: AroneR Lock Shot Off.."); nextDMGLevels(3, 2, "AroneR_D" + chunkDamageVisible("AroneR"), shot.initiator); } if(s.startsWith("xxlockf")) getEnergyPastArmor(5.5F * World.Rnd().nextFloat(1.0F, 3F), shot); return; } if(s.startsWith("xxspar")) { debugprintln(this, "*** Spar Construction: Hit.."); if((s.endsWith("li1") || s.endsWith("li2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingLIn") > 2 && getEnergyPastArmor(2.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingLIn Spars Damaged.."); nextDMGLevels(1, 2, "WingLIn_D3", shot.initiator); } if((s.endsWith("ri1") || s.endsWith("ri2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingRIn") > 2 && getEnergyPastArmor(2.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingRIn Spars Damaged.."); nextDMGLevels(1, 2, "WingRIn_D3", shot.initiator); } if((s.endsWith("lm1") || s.endsWith("lm2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingLMid") > 2 && getEnergyPastArmor(2.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingLMid Spars Damaged.."); nextDMGLevels(1, 2, "WingLMid_D3", shot.initiator); } if((s.endsWith("rm1") || s.endsWith("rm2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingRMid") > 2 && getEnergyPastArmor(2.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingRMid Spars Damaged.."); nextDMGLevels(1, 2, "WingRMid_D3", shot.initiator); } if((s.endsWith("lo1") || s.endsWith("lo2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingLOut") > 2 && getEnergyPastArmor(1.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingLOut Spars Damaged.."); nextDMGLevels(1, 2, "WingLOut_D3", shot.initiator); } if((s.endsWith("ro1") || s.endsWith("ro2")) && (double)World.Rnd().nextFloat() < 1.0D - 0.92000001668930054D * Math.abs(v1.x) && chunkDamageVisible("WingROut") > 2 && getEnergyPastArmor(1.5F * World.Rnd().nextFloat(1.0F, 1.2F), shot) > 0.0F) { debugprintln(this, "*** WingROut Spars Damaged.."); nextDMGLevels(1, 2, "WingROut_D3", shot.initiator); } if(s.startsWith("xxsparsl") && World.Rnd().nextFloat(0.0F, 0.115F) < shot.mass && getEnergyPastArmor(6.8F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debugprintln(this, "*** StabL Spar Damaged.."); nextDMGLevels(1, 2, "StabL_D" + chunkDamageVisible("StabL"), shot.initiator); } if(s.startsWith("xxsparsr") && World.Rnd().nextFloat(0.0F, 0.115F) < shot.mass && getEnergyPastArmor(6.8F * World.Rnd().nextFloat(1.0F, 1.5F), shot) > 0.0F) { debugprintln(this, "*** StabR Spar Damaged.."); nextDMGLevels(1, 2, "StabR_D" + chunkDamageVisible("StabR"), shot.initiator); } if(s.startsWith("xxspark") && World.Rnd().nextFloat() < 0.5F && getEnergyPastArmor((double)(6.8F * World.Rnd().nextFloat(1.0F, 1.5F)) / (Math.abs(v1.x) + 9.9999997473787516E-005D), shot) > 0.0F) { debugprintln(this, "*** Keel Spars Damaged.."); nextDMGLevels(1, 2, "Keel1_D" + chunkDamageVisible("Keel1"), shot.initiator); } if(s.startsWith("xxspart") && chunkDamageVisible("Tail1") > 2 && getEnergyPastArmor(3.86F / (float)Math.sqrt(v1.y * v1.y + v1.z * v1.z), shot) > 0.0F && World.Rnd().nextFloat() < 0.25F) { debuggunnery("Spar Construction: Tail1 Ribs Hit, Breaking in Half.."); nextDMGLevels(1, 2, "Tail1_D3", shot.initiator); } return; } |
29.06.2018, 20:38 | #999 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Код:
if(s.startsWith("xcf") || s.startsWith("xblister")) { setControlDamage(shot, 0); setControlDamage(shot, 1); setControlDamage(shot, 2); if(chunkDamageVisible("CF") < 3) hitChunk("CF", shot); if(s.startsWith("xblister")) FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 1); if(point3d.x > -0.60499999999999998D && point3d.x < -0.29499999999999998D) FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 0x40); if(point3d.x > -1.7050000000000001D && point3d.x < -0.49199999999999999D && point3d.z > 0.082000000000000003D && World.Rnd().nextFloat() < 0.5F) if(World.Rnd().nextFloat() < 0.25F) FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 4); else if(World.Rnd().nextFloat() < 0.33F) FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 8); else if(World.Rnd().nextFloat() < 0.5F) FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 0x10); else FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 0x20); return; } if(s.startsWith("xeng")) { if(chunkDamageVisible("Engine1") < 2) hitChunk("Engine1", shot); } else if(s.startsWith("xtail")) { setControlDamage(shot, 1); setControlDamage(shot, 2); if(chunkDamageVisible("Tail1") < 3) hitChunk("Tail1", shot); } else if(s.startsWith("xkeel")) hitChunk("Keel1", shot); else if(s.startsWith("xrudder")) { setControlDamage(shot, 2); if(chunkDamageVisible("Rudder1") < 1) hitChunk("Rudder1", shot); } else if(s.startsWith("xstab")) { if(s.startsWith("xstabl")) hitChunk("StabL", shot); if(s.startsWith("xstabr")) hitChunk("StabR", shot); } else if(s.startsWith("xvator")) { if(s.startsWith("xvatorl") && chunkDamageVisible("VatorL") < 1) hitChunk("VatorL", shot); if(s.startsWith("xvatorr") && chunkDamageVisible("VatorR") < 1) hitChunk("VatorR", shot); } else if(s.startsWith("xwing")) { if(s.startsWith("xwinglin") && chunkDamageVisible("WingLIn") < 3) { setControlDamage(shot, 0); hitChunk("WingLIn", shot); } if(s.startsWith("xwingrin") && chunkDamageVisible("WingRIn") < 3) { setControlDamage(shot, 0); hitChunk("WingRIn", shot); } if(s.startsWith("xwinglmid") && chunkDamageVisible("WingLMid") < 3) { setControlDamage(shot, 0); hitChunk("WingLMid", shot); } if(s.startsWith("xwingrmid") && chunkDamageVisible("WingRMid") < 3) { setControlDamage(shot, 0); hitChunk("WingRMid", shot); } if(s.startsWith("xwinglout1") && chunkDamageVisible("WingLOut") < 3) hitChunk("WingLOut", shot); if(s.startsWith("xwingrout1") && chunkDamageVisible("WingROut") < 3) hitChunk("WingROut", shot); } else if(s.startsWith("xarone")) { if(s.startsWith("xaronel") && chunkDamageVisible("AroneL") < 1) hitChunk("AroneL", shot); if(s.startsWith("xaroner") && chunkDamageVisible("AroneR") < 1) hitChunk("AroneR", shot); } else if(s.startsWith("xoil")) { if(World.Rnd().nextFloat() < 0.12F) FM.AS.hitOil(shot.initiator, 0); } else if(s.startsWith("xgear")) { if(World.Rnd().nextFloat() < 0.05F) { debuggunnery("Hydro System: Disabled.."); FM.AS.setInternalDamage(shot.initiator, 0); } if(World.Rnd().nextFloat() < 0.1F && getEnergyPastArmor(World.Rnd().nextFloat(1.2F, 3.435F), shot) > 0.0F) { debuggunnery("Undercarriage: Stuck.."); FM.AS.setInternalDamage(shot.initiator, 3); } } else if(!s.startsWith("xblister") && (s.startsWith("xpilot") || s.startsWith("xhead"))) { byte byte0 = 0; int l; if(s.endsWith("a")) { byte0 = 1; l = s.charAt(6) - 49; } else if(s.endsWith("b")) { byte0 = 2; l = s.charAt(6) - 49; } else { l = s.charAt(5) - 49; } hitFlesh(l, shot, byte0); } } static java.lang.Class _mthclass$(java.lang.String s) { java.lang.Class class1; try { class1 = java.lang.Class.forName(s); } catch(java.lang.ClassNotFoundException classnotfoundexception) { throw new NoClassDefFoundError(classnotfoundexception.getMessage()); } return class1; } private float flapps; static { Class class1 = com.maddox.il2.objects.air.KI_94X.class; Property.set(class1, "originCountry", PaintScheme.countryJapan); } } |
29.06.2018, 20:58 | #1000 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,088
|
Хотелось бы поправленный планер И-180.
Ну шо бы крылья отрывались в двух местах - у фюзеля и половинка. Не помешало бы ломающийся хвост как в И-16 из поздних патчей. Если назвать меши как в планеры И-16 - то можно почти весь класс Ишака задействовать. Нужно только маслобак и маслорадиатор. Если сделать меш козырька диед с замызганным стеклом маслом - то и код из Яка или Месса можно "присунуть" для разбрызгивания масла. О! Мечты, мечты - где ваша сладость...? Последний раз редактировалось Vasya; 29.06.2018 в 21:40. |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|