|
![]() |
#1381 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
А шаг при этом регулировался?
В ФМ у каких Ла-5ФН прописан металлический лонжерон? +++++++++ В каких единицах измерения движок игры считает давление наддува? Последний раз редактировалось Dimas1999; 27.07.2023 в 21:24. |
![]() |
![]() |
![]() |
#1382 | ||
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]() Цитата:
Цитата:
Второе - хрупкость самолёта в целом. Поскольку в полевых условиях Лавки не любили дожди и снег - прописал 10. Хотя Ла-7 можно уже и 10.5/11. Это нужно проводить тесты без кокпита - на скольких Джи будут хрустеть планер. Можно первым Лавкам поставить Джи 9.5. К сожалению в последних патчах крылья не отстёгиваются. Фока у меня имеет 14 джи. Но там и "кузов чугиниевый". Пробовал в боях Лавки - мне 10 Джи нормально, на большинстве маневров превысить сложно, хотя если на 650 резко дёрнуть ручку, то сломать можно не только Лавку. У Яков тоже десятка прописана, хотя для 42 года можно и 9 писать - какчество сборки упало. По мере поступления дюраля в Яках могли ставить нормальные лонжероны. У Яка всё крыло съёмное, поэтому при больших повреждениях крылья на аэродромах могли ставить любые. Поэтому поставил 10 - типа некий усреднённый коэфициент. По коду прибора наддува: Код:
super.mesh.chunkSetAngles("zManifold1a", floatindex(cvt(((FlightModelMain) (super.fm)).EI.engines[0].getManifoldPressure(), 0.399966F, 2.133152F, 3F, 16F), manifoldScale), 0.0F, 0.0F); И смотреть на соотношение номинал/форсаж(950/1000 мм. рт.ст.). Переводчик давления, которым пользуюсь. https://www.translatorscafe.com/unit...я%20атмосфера/ Ил читает техническую атмосферу в моторах. Например. При настройке мотора для Д-520 у меня "точно совпали" высоты и давление наддува как в скринах документов по мотору. В емд писал в тех.атмосферах, а прибор показывал в мм. рт.ст. Последний раз редактировалось Vasya; 30.07.2023 в 12:12. |
||
![]() |
![]() |
![]() |
#1383 | |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Разве материал лонжерона не влиял на вес? Вроде, даже центровка на Ла-5ФН тип 41 с металлическим лонжероном поменялась.
Цитата:
1 цифра должна быть в ат и соответствовать 300 мм рт. ст., а последняя 1600 мм рт. ст. Сейчас эти цифры никакой атмосфере не соответствуют. Затем в конце класса есть что-то типа ManifoldScale и много цифр. Каждая цифра соответствует углу поворота стрелки каждые 100 мм рт. ст. Пока выкладываю версию с неоткалиброванными датчиками. https://drive.google.com/file/d/1BHq...usp=drive_link Ещё в прошлой версии сделал анимацию совка радиатора для линейки Ла-5. Добавил забытый скин для позднего Ла-5 ФН. Для раннего Ла-5 сделал переплёт фонаря от gemgi, а так же из его мода добавил некоторые мелочи в кабины всей линейка Ла-5/7. Добавил ЛаГГ-3 М-82. ЛаГГ-5 теперь имеет неубирающееся шасси и нет предкрылок. Ещё в прошлый раз были добавлены углы отклонения рулей от Васи. Сейчас уточнил немного углы. Убрал по ошибке добавленный код протектора бака. По имеющимся данным, он пропал в момент перехода на трёхбачную систему. Отсоединил жалюзи капота от пропеллера. У ранних Ла-5 Тип 37 теперь нет маленьких воздухозаборников кабины. Только теперь появился шов на стыке меша капота и меша кабины. Такие швы есть между килем и хвостом у "новых" моделей и у Ла-5Ф раннего между кабиной и хвостом. Долго искал как их убрать, нашёл информацию на САС. Пока мне не удалось это исправить. В той или иной степени подобным страдают некоторые старые дефолтные, а так же некоторые модные самолёты. Старался не трогать меши дефолтных моделей, чтобы они были без косяков. Но у Ла-5 теперь шов на капоте, его можно убрать, если закинуть в папку с самолётом меши Engine1 из предыдущей версии, но тогда вернутся лишние воздухозаборники. |
|
![]() |
![]() |
![]() |
#1384 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]() Цитата:
На сколько изменилась центровка позднего Ла-5ФН(лучше написать САХ в проц.)? Потому что сейчас у нас наоборот увеличена до 22.6%. На "ощупь" джоем в игре 22 или 24 проц. - не определить. Только в реальном самолёте по поведению в маневрах. По наддуву: прибор показывает в мм. рт. ст. Смотрим в мотор сколько там АТА, потом в игре на прибор - номинал/форсаж и думает куда двигать шкалу в коде. Например - переделывал код шкали наддува в Лео-451, там шкалу взяли от темературы масла почему то... в модах ещё и не такое бывает. Вот разница в коде и существенная. Код:
// mesh.chunkSetAngles("STRELKA_BOOST", cvt(pictManf = 0.91F * pictManf + 0.09F * fm.EI.engines[0].getManifoldPressure(), 0.7242097F, 2.103161F, 60F, -240F), 0.0F, 0.0F); mesh.chunkSetAngles("STRELKA_BOOST", cvt(pictManf = 0.91F * pictManf + 0.09F * fm.EI.engines[0].getManifoldPressure(), 0.7242097F, 1.75F, 60F, -360F), 0.0F, 0.0F); У нас для каждой Лавки прописано в классе давление при форсаже. Например для Ла-5ФН: у тебя в моде Код:
protected void afterburnerhud() { if(super.FM.isPlayers() && ((FlightModelMain) (super.FM)).EI.engines[0].getControlAfterburner()) HUD.logRightBottom("\u041D\u0430\u0434\u0434\u0443\u0432 1200 \u043C\u043C!"); } У меня в старом моде Лавок Код:
protected void afterburnerhud() { if(super.FM.isPlayers() && ((FlightModelMain) (super.FM)).EI.engines[0].getControlAfterburner()) HUD.logRightBottom("Supercharging 1200 mm!"); } показывать 1000/1200 мм. рт.ст. Последний раз редактировалось Vasya; 28.07.2023 в 01:26. |
|
![]() |
![]() |
![]() |
#1385 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Откалибровал датчики наддува всей линейки.
https://drive.google.com/file/d/1HCm...ew?usp=sharing Про САХ нашёл на форуме БзС. https://forum.il2sturmovik.ru/topic/...D1%8B/page/13/ Испытания НИИ ВВС Ла-5 №37210444 с мотором №65021043 (М-82Ф) Полётный вес самолёта 3360 кг При этом центровка - 22,3% САХ Ла-5ФН №39210104 центровка 18,9% САХ при полётном весе 3305 кг. Вираж 25 сек на 5000м. Фильм НИИ ВВС. |
![]() |
![]() |
![]() |
#1386 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#1387 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Слегка обновил сборку ЛаГГ-3.
Добавил коллизию бронестекла для ЛаГГ-3 66 серии. Добавил код протектора бензобака. Снова поменял код работы РПК, теперь работает как было изначально задумано. Сломал работу компаса, буду исправлять. Последний раз редактировалось Dimas1999; 30.07.2023 в 12:48. |
![]() |
![]() |
![]() |
#1388 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]() Цитата:
А "код работы РПК" - а это где можно посмотреть? ------------------------- Фм с предкрылками, кроме Лагг-5, и у позднего Ла-5ФН сдвинута вперёд развесовка (САХ 18.9 проц.). В остальных Лавках выставлял развесовку более-мение правильно. |
|
![]() |
![]() |
![]() |
#1389 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Уже много лет есть дефолтный код для протектора бака. Для Ла-5 ввели где-то в 4.06-4.09.
Код:
public void rareAction(float dt, boolean bMaster) { super.rareAction(dt, bMaster); if(bMaster) { for(int i = 0; i < 4; i++) if(((FlightModelMain) (super.FM)).AS.astateTankStates[i] > 0 && ((FlightModelMain) (super.FM)).AS.astateTankStates[i] < 5 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.repairTank(i); } } xxtank, насколько я понял, задаёт "энергию попадания" при которой происходит пробитие или пожар. Протектор бензобаков был только на ранних Ла-5, вроде, только на пятибачных. Про ЛаГГ-3 у меня нет сведений об упразднении протектора. На серии Як, насколько я знаю, не было протекторов на учебных машинах, консольных баках Як-9ДД, а так же не было системы нейтрального газа на ранних Яках (вероятно, придётся делать копию класса YAK со своим хитбоном с отличным xxtank чтобы лучше горел). С Яками ещё буду работать, нашёл интересную информацию на форуме про Яки от Karabas-Barabas, надо будет подправить некоторые мелочи. В классе кабины в нескольких местах дела правки. В 4.10 сделали чтобы при реалистичной навигации стрелка РПК показывала на выбранный маяк, а при аркадной навигации показывала на следующую точку маршрута. Потом в каком-то патче у советских самолётов сломали эту систему и при реалистичной навигации вместо РПК было отверстие. Сейчас код вставил от A6M, работает как в 4.10. Код:
public boolean tick() { ... ... ... setNew.azimuth.setDeg(setOld.azimuth.getDeg(1.0F), fm.Or.azimut()); setNew.vspeed = (199F * setOld.vspeed + fm.getVertSpeed()) / 200F; float f1 = waypointAzimuth(); if(useRealisticNavigationInstruments()) { setNew.waypointAzimuth.setDeg(setOld.waypointAzimuth.getDeg(1.0F), getBeaconDirection()); } else { setNew.waypointAzimuth.setDeg(setOld.waypointAzimuth.getDeg(0.1F), f1 - setOld.azimuth.getDeg(1.0F)); } } return true; } Код:
private class Variables { ... ... ... AnglesFork azimuth; AnglesFork waypointAzimuth; private Variables() { azimuth = new AnglesFork(); waypointAzimuth = new AnglesFork(); } } protected float waypointAzimuth() { return super.waypointAzimuthInvertMinus(5F); } Код:
public CockpitLAGG_3SERIES1() { ... ... ... if(Mission.getMissionDate(false) < 0x1285681) // дата появления РПК в 16-ричной системе счисления (19420801 взял данные для Ла-5, когда начали ставить первые РПК) { mesh.materialReplace("prib_three", "EmptyGauge"); mesh.materialReplace("prib_three_dd", "EmptyGaugeD"); mesh.materialReplace("prib_three_night", "EmptyGauge_night"); mesh.materialReplace("prib_three_dd_night", "EmptyGaugeD_night"); mesh.chunkVisible("zRPK10", false); setNightMats(true); setNightMats(false); } } Код:
public void reflectWorldToInstruments(float f) { ... ... ... mesh.chunkSetAngles("zAzimuth1b", setNew.azimuth.getDeg(0.05F), 0.0F, 0.0F); /// заменил эту строчку, т.к. не стыкуется с кодом выше mesh.chunkSetAngles("zRPK10", 0.0F, cvt(setNew.waypointAzimuth.getDeg(f * 0.2F), -25F, 25F, -35F, 35F), 0.0F);/// сам код стрелочки РПК Последний раз редактировалось Dimas1999; 30.07.2023 в 12:47. |
![]() |
![]() |
![]() |
#1390 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]()
Спасибо за пояснения!
Не знал, что на ранних Яках не было протектора. А на поздних Лавках точно не было протектора? В коде ххтанк потухание бака можна задать цифрами. Где то в японцах есть и взрыв бака. Надо посмотреть код в классах. |
![]() |
![]() |
![]() |
#1391 | ||
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Немного не совсем ясно написал. На ранних Яках был протектор, но не было системы нейтрального газа.
Цитата:
В 1943 выпустили 2 самолёта Як-1 М-105ПФ для ПВО Саратова без протектора, системы нейтрального газа, бронеспинки и бронестёкол. Про баки читал, что были предложения по облегчению самолёта от лётчиков. Так же вот ещё: Цитата:
Последний раз редактировалось Dimas1999; 30.07.2023 в 21:13. |
||
![]() |
![]() |
![]() |
#1392 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]()
Код:
Код:
if(s.startsWith("xxtank")) { int k = s.charAt(6) - 49; if(getEnergyPastArmor(0.5F, 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(World.Rnd().nextFloat() < 0.08F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.5F) { FM.AS.hitTank(shot.initiator, k, 4); debuggunnery("Fuel Tank (" + k + "): Hit.."); } } return; } Розовый время горения и потухаемость - типа(опознано опытным путём). Первую цифру можно увеличивать до 0.4, вторую уменьшать до 0.2. Всё нужно проверять в тэстах. Можно комбинировать, в зависимости что есть на конкретной модели и вписывать прямо в класс самолёта - так видел делают в дефолте. Розовые цифры(именно эти, которые взял из японца) можно сразу потэстить на Лавках без нейтрального газа. Если будут тухнуть, то попробовать увеличить первую цифру до 0.1. Дополнительный код для протектора для Лавок лучше опустить в классе ниже хит-бон, что бы Ил читал сначала код ххТанк. Последний раз редактировалось Vasya; 30.07.2023 в 22:16. |
![]() |
![]() |
![]() |
#1393 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]()
У меня не получается собрать дамаж И-180.
Вписал в Хит-бон названия коллизий, но фиг-вам - только крылья отстреливаются и пилот погибает. Если будет время - посмотри пожалуйста! https://drive.google.com/file/d/14JL...usp=drive_link Все веса настроил, фм почистил от очепяток. |
![]() |
![]() |
![]() |
#1394 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Обновил сборку ЛаГГов.
Починил компас, надеюсь, другое снова не сломал) Добавил некоторые элементы из мода Ла-5 от gemgi. Бонус: освежил кабину ЛаГГ-3РД элементами от поршневых ЛаГГов. https://drive.google.com/file/d/1tw4...ew?usp=sharing Про ДМ баков вот что я понял. Сначала отрабатывается код xxtank, т.к. пришло попадание по колижену xxtank. (пытаюсь читать приведённый выше код, прошу поправить меня знатоков джавы) если энергия попадания 0.5 (больше нуля?) с вероятностью меньше 0.45 если бак k имеет состояние 0 (целый) в отладочный лог "бак k пробит" присвоить баку k состояние 1 (утечка) с вероятностью меньше 0.08 или тип снаряда равен 3 (зажигательный?) с вероятностью меньше 0.5 присвоить баку k состояние 4 в отладочный лог топливный бак k повреждён Тут бак получает урон от попадания, а затем метод RareAction добавляет случайные события. Код:
public void rareAction(float dt, boolean bMaster) { super.rareAction(dt, bMaster); if(bMaster) { for(int i = 0; i < 4; i++) if(((FlightModelMain) (super.FM)).AS.astateTankStates[i] > 0 && ((FlightModelMain) (super.FM)).AS.astateTankStates[i] < 5 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.repairTank(i); } } починить бак i (сработал протектор) Про этот код дошло до меня, это не имитация нейтрального газа, попутал немного с другим модом) Код:
if(paramBoolean) { if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[0] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 1, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 2, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[1] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 0, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[2] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 0, 1); } Если состояние бака 0 более 4, с вероятностью 0.14 присвоить баку 1 состояние 1 (типа распространение огня) ... ... ... Подобный код, но для затухания видел у WxTech в моде для Б-17. https://www.sas1946.com/main/index.p...c,66857.0.html Надо ещё подумать про всё это. По И-180. У него коллизии очень посредственные и кривые, есть дыры и несовпадения с очертаниями фюзеляжа. Есть бак, стойки шасси, блок цилиндров, картер, маслорадиатор, "оборудование" (вероятно, магнето). |
![]() |
![]() |
![]() |
#1395 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]()
Дело в том, что эти коллизи не работают вообще и никак.
В хиер-хим они есть, конечно. Хотя бы что бы бак и маслорадиатор тёк... Потому что в упор глотает пару снарядов в нос/фюзеляж... и ничего... воюет дальше. shot.powerType == 3 пишут для всех баков. Возможно имеется в виду сила воспламенения? Потому как эта строка отвечает(выяснил на практике) за какчество горения и частоту/возможность затухания. При большой первой розовой цифре бак взрывается - так буд то на японцах. Когда тестил пару лет назад код для Яка - бак тоже взрывался. Сейчас бак Яка может проглотить 7-10 пуль 12.7, в зависимости от ракурса. |
![]() |
![]() |
![]() |
#1396 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Надо смотреть имена коллизий в самом планере и думать что там не так.
Для всех т.к. логично что от зажигательного будут гореть баки (выстрел тип мощности 3). Розовые цифры - это вероятности. Как я понял, вероятность 0.08 (первая розовая) воспламенения от любого попадания с энергией выше 0.5 (первая синяя) или если тип выстрела 3, то вероятность возгорания 0.5 (вторая розовая) . Ниже строчка ... k, 4 ... K номер бака 4 тип повреждения присваиваемый Б баку k |
![]() |
![]() |
![]() |
#1397 |
Местный
Регистрация: 23.03.2018
Сообщений: 330
|
![]()
Простой редактор, Лагг-3 серия 66 нет кабины, в логе:
[7:38:44] INTERNAL ERROR: Can't open file '3do/plane/LaGG-3series66/Cockpit_D0_Glass2.mat' [7:38:44] WARNING: object '3do/plane/LaGG-3series66/Cockpit_D0_Glass2.mat' of class 'TMaterial' not loaded [7:38:44] INTERNAL ERROR: Material: Can't load 'Cockpit_D0_Glass2.mat' [7:38:44] Mission error, ID_04: java.lang.RuntimeException: INTERNAL ERROR: Material: Can't load 'Cockpit_D0_Glass2.mat' |
![]() |
![]() |
![]() |
#1398 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,293
|
![]()
Подтверждаю!
Кокпит не собирается вообще - в папке кокпита нет файла Can't load 'Cockpit_D0_Glass2.mat Не нашёл. Нужен фикс. Жаль удалил вчера все скачанные ране сборки Лаггов. В патче 4.13.4 только апрельская сборка. |
![]() |
![]() |
![]() |
#1399 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Это ошибка в планере, кинуть меш в папку с планером 66 серии.
|
![]() |
![]() |
![]() |
#1400 |
Местный
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,636
|
![]()
Играю с кодом повреждения баков. Отладку делаю на ЛаГГ-3 4 серии.
Код:
public void rareAction(float paramFloat, boolean paramBoolean) { super.rareAction(paramFloat, paramBoolean); if(paramBoolean) { типа какие-то эффекты if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[0] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[1] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[2] + "0", 0, this); if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] > 4 && World.Rnd().nextFloat() < 0.07F) nextDMGLevel(((FlightModelMain) (super.FM)).AS.astateEffectChunks[3] + "0", 0, this); код ниже позволяет перекидываться огню на соседний бак if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 1, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 0, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 3, 1); if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] > 4 && World.Rnd().nextFloat() < 0.14F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 2, 1); код ниже позволяет затухать бакам if(((FlightModelMain) (super.FM)).AS.astateTankStates[0] > 4 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.setTankState(this, 0, ((FlightModelMain) (super.FM)).AS.astateTankStates[0] - 2); if(((FlightModelMain) (super.FM)).AS.astateTankStates[1] > 4 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.setTankState(this, 1, ((FlightModelMain) (super.FM)).AS.astateTankStates[1] - 2); if(((FlightModelMain) (super.FM)).AS.astateTankStates[2] > 4 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.setTankState(this, 2, ((FlightModelMain) (super.FM)).AS.astateTankStates[2] - 2); if(((FlightModelMain) (super.FM)).AS.astateTankStates[3] > 4 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.setTankState(this, 3, ((FlightModelMain) (super.FM)).AS.astateTankStates[3] - 2); } } Код:
public void rareAction(float dt, boolean bMaster) { super.rareAction(dt, bMaster); if(bMaster) { for(int i = 0; i < 4; i++) if(((FlightModelMain) (super.FM)).AS.astateTankStates[i] > 0 && ((FlightModelMain) (super.FM)).AS.astateTankStates[i] < 5 && World.Rnd().nextFloat() < 0.1F) ((FlightModelMain) (super.FM)).AS.repairTank(i); } } Протектор довольно быстро заделывает пробитый бак, код работает. Огонь перекидывается на соседний бак как и положено, но если нет кода затухания бака, то самолёт обречён, у меня всегда в таком случае ломало консоль. Если включён код затухания, то соседний бак успевает получить повреждения, но, скорее всего, бак успеет потухнуть, а соседний бак не успеет разгореться. Так же в классе Ла-5 есть такой код. Особо не понял на что он влияет, будто консоль чаще ломает при горящем баке. Код:
protected boolean cutFM(int paramInt1, int paramInt2, Actor paramActor) { switch(paramInt1) { case 33: // '!' if(World.Rnd().nextFloat() < 0.233F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 1, 6); return super.cutFM(34, paramInt2, paramActor); case 36: // '$' if(World.Rnd().nextFloat() < 0.233F) ((FlightModelMain) (super.FM)).AS.hitTank(this, 2, 6); return super.cutFM(37, paramInt2, paramActor); case 34: // '"' case 35: // '#' default: return super.cutFM(paramInt1, paramInt2, paramActor); } } |
![]() |
![]() |
![]() |
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|