AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моды для Ил-2 (http://forum.aviaskins.com/forumdisplay.php?f=9)
-   -   Вопросы (http://forum.aviaskins.com/showthread.php?t=86)

deSAD 14.07.2016 15:22

Цитата:

Сообщение от Vasya (Сообщение 155035)
... Нужно смотреть класс на предмет ошибок.

Мда ... похоже, что проблема именно в классе, т. к. крафт - действительно - не вполне адекватно себя ведет при попытке выбрать в наборе вооружения "без оружия" :DONT_KNOW:

Amigo 14.07.2016 22:09

Вложений: 1
Цитата:

Сообщение от Vasya (Сообщение 155035)
Нужно смотреть класс на предмет ошибок.

Вот этот класс

Vasya 14.07.2016 23:57

Вложений: 8
Цитата:

Сообщение от deSAD (Сообщение 155038)
Мда ... похоже, что проблема именно в классе, т. к. крафт - действительно - не вполне адекватно себя ведет при попытке выбрать в наборе вооружения "без оружия" :DONT_KNOW:

Это не в классе дело., это ошибка в файле сод - я вскрывал, там дополнительные цыфры непонятные вылазяют. Я цэлый день ковыряю этот мод Мига.
Всё дело в молодости и поспешности автора.
Он даёт ссылку на открывачку фонаря 2009 года. В поздних патчах использовать её нельзя. В новых патчах добавлены файлы в кокпит и изменено наполнение класса кокпит для всей линейки Мигов.
Я пытался привести к чему то - это гемморойно слегка. У меня к тому же фм не видит Ил. Моя сборка не видит фм заштопанную десяточным ntrkwizard.jar.
По нормальному почти каждый мод нужно собирать под конкретный патч. С выходом нового проверять и корректировать. Новоначальные мододелы этим не занимаються.
Сейчас дошёл до тестов.
Отпишусь позже.

Vasya 15.07.2016 07:47

Вложений: 10
Цитата:

Сообщение от Vasya (Сообщение 155047)
..............
Отпишусь позже.

В общем так:
там целый букет шиповника., в основном связанный с открывачкой фонаря.,
хотя в планере Миг-1 не хватало правильного мат-файла Propellor.mat., он был, но ссылка на тга была в планере модного красивого Мига - при минусовке его папки, самолёт в окне простого редактора не собирался.,
открывачка фонаря старая очень и собрана с файлов дефолтного Мига.,
в хиер-хим кокпита MiG-3UB есть дописка таких файлов:
[CF_D0]
Mesh CF_D0
Parent _ROOT_
Attaching 1 0 0 0 1 0 0 0 1 0 0 0
[Engine1_D0]
Mesh Engine1_D0
Parent CF_D0
Attaching 1 0 0 0 1 0 0 0 1 0.96474 0 0.20843
с ними в кабине Миг-3УБ и Миг-3Швак часть капота в розовом цвете., без дописки этих мешей в хиер-хим в капоте здоровенные дыры по краям - видно как топорщаться меши от старого дефолтного Мига.,
модный Миг-1 так же собран на основе многополигонного Мига-3(тот что красивый), поэтому при виде из кабины видны слегка дыры с неплотно прилегающими мешами капота.,
это потому что файлы
CF_D0.msh
Engine1_D0.msh
Engine1_D0_E.msh
и возможно
treug.msh
treug2.msh
нужно моделить заново или резать из планера многополигонного Мига.
Моделить 3До я не умею, к сожалению(или к счастью, ибо сложно очень).
Если бы многополигонный планер допричесали и всунули в один из патчей (уже и ещё вчера это нужно было сделать), то такого геммороя в виде несовпадающих мешей от разных моделей не было бы.
Я перетасовывал коды в классах кокпитов несколько раз - но исправить 3До этим нельзя.
Что получилось - внизу в архиве.
Скрины експерементов прилагаються.
П.С.
ФМ новые с переработанными моторами ближе к реалу.
Оказываеться наш Ил-2 ещё совсем не так плох!
При прописке правильных данных, которые близки к ТТХ реальных прототипов, то вылазяют и реальные еффекты.
Миг-1 с винтом ВИШ-22Е при пикировании забрасывает обороты мотора выше форсажных и даже критические - так недолго спалить мотор., при пикировании шаг винта нужно убирать, или же тягу в ноль.
Мотор для Мига-1:
Цитата:

[AM-35A/MIG-3EARLY]
HorsePowers 1200
BoostFactor 1.0001
WEPBoostFactor 1.125
cAfterburner 0
AfterburnerType 10
TowFactor 1.0
Thrust 0
RPMMin 250
RPMNom 2020
RPMMax 2000
RPMMaxAllowed 2600
Reductor 0.902
PropMass 143.0
PropDiameter 3.0
PropAnglerType 2
PropAnglerSpeed 0.22
PropAnglerMinParam 1850
PropAnglerMaxParam 2000
PropAnglerAfterburnerParam 2050
PropPhiMin 14.0 // 24 - в реале, но Ил не посчитает этот угол
PropPhiMax 34.0
PropAoA0 11.0
Voptimal 370.0
CompressorRPMCurvature 1.0
CompressorPMax 1.69
CompressorAltitude0 7000.0
CompressorMultiplier0 0.89
CompressorRPMP0 1100.0
CompressorRPMPMax 2050.0
CompressorMaxATARPM 1.39
CompressorSpeedManifold 0.6
CompressorRPM0 450
CompressorATA0 0.65
DisP0x 2150
DisP0y 0
DisP1x 0
DisP1y 10
TESPEED 0.01
TWATERMAXRPM 103
TOILINMAXRPM 70
TOILOUTMAXRPM 100
MAXRPMTIME 180
MINRPMTIME 999
TWATERMAX 115
TWATERMIN 60
TOILMAX 115
TOILMIN 40


Vasya 16.07.2016 15:39

Цитата:

Сообщение от Toobone (Сообщение 155095)
Вітаю, шановний!
Чомусь не захтів Ваш Як-9Р стояти на шасі, потім ще й випускати його у 4.10.1-ДБВ1.71, мабуть, ще щось потребує. МодВіл вимкнено. ОупенГЛ вкл.:DONT_KNOW:

Це тому що він роблений для патча 4.13.2.
В классах Яков для патча 4.10.1 нужно менять код для работы мешей шасси.
------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Смотри тут:
- http://forum.aviaskins.com/showpost....&postcount=711 -.
Должно работать, но компиллил в среде 4.12. Потому как среду под патч 4.10.1 уже не пользую.

YurBorR 17.07.2016 16:17

Очень не устраивают "ленивые" взрывы емкостей с горючим, кое-что заменил ...

Вопрос снял, разобрался...

Vasya 17.07.2016 17:16

Цитата:

Сообщение от YurBorR (Сообщение 155116)
Очень не устраивают "ленивые" взрывы емкостей с горючим, кое-что заменил и в теме "Поделитесь скрином ИЛ-2" показал взрыв ж/д состава с горючим, заодно приладил и звук взрыва горючки, а то было как в немом кино. ....

Єто уже имеет спортивный антирес. Вообще то попробовать можно, срезав касе 6 и написав новый виод, но цистернам уже нужно будет новое размещение, не в разделе хауз. Нужно думать., очень хорошо думать. Делай новые еффекты с другими названиями, отличными от общих для всех хаузов.
Если моя аба-ба галамага закомпилиться - то эффеты заработают. На неделе попробую., щас пиво в голове шумит - жарко в Куеве = 35-37 градусов.

YurBorR 17.07.2016 22:33

Цитата:

Сообщение от Vasya (Сообщение 155117)
... Вообще то попробовать можно, срезав касе 6 и написав новый виод, но цистернам уже нужно будет новое размещение, не в разделе хауз... Делай новые еффекты с другими названиями, отличными от общих для всех хаузов...На неделе попробую., щас пиво в голове шумит - жарко в Куеве = 35-37 градусов.

Вась, хочешь верь, хочешь не верь, но когда писал этот вопрос думал, что именно ты и откликнешься. А эти дела пробовал: и касе 6 резал и писал новый виод, но видно не так резал и писал... Поэтому Василь, вся надежда на тебя, буду ждать, когда спадёт у вас жара и пиво выйдет...

Vasya 19.07.2016 21:13

Цитата:

Сообщение от YurBorR (Сообщение 155120)
Вась, хочешь верь, хочешь не верь, но когда писал этот вопрос думал, что именно ты и откликнешься. А эти дела пробовал: и касе 6 резал и писал новый виод, но видно не так резал и писал... Поэтому Василь, вся надежда на тебя, буду ждать, когда спадёт у вас жара и пиво выйдет...

Только сегодня вечером добрался к этим еффектам.
Буду с ходу расстраивать.
Соображения пока такие:
насколько я понял нужно изменить еффекты аэродромным бочкам и другим ёмкостям с топливом.,
но они заразы все расположены в разделе Objects\3do\Buildings\Airdrome.,
записаны же они в классе com\maddox\il2\objects\buildings House.,
вот:
Код:

if(s4.equalsIgnoreCase("FuelSmall"))
            {
                properties.MAT_TYPE = 2;
                properties.EFF_BODY_MATERIAL = 2;
                properties.EXPL_TYPE = 5;
                properties.MIN_TNT = 0.2F * (properties.PANZER / 0.002F);
                properties.MAX_TNT = properties.MIN_TNT * 1.7F;
                properties.PROBAB_DEATH_WHEN_EXPLOSION = 0.01F;
            } else
            if(s4.equalsIgnoreCase("FuelBig"))
            {
                properties.MAT_TYPE = 2;
                properties.EFF_BODY_MATERIAL = 2;
                properties.EXPL_TYPE = 6;
                properties.MIN_TNT = 0.8F * (properties.PANZER / 0.008F);
                properties.MAX_TNT = properties.MIN_TNT * 1.7F;
                properties.PROBAB_DEATH_WHEN_EXPLOSION = 0.01F;
            } else

поэтому и еффекты прописаны общие для домиков:
Код:

case 6: // '\006'
            s = "Fuel";
            boolean flag1 = true;
            byte0 = 5;
            break;

        default:
            System.out.println("WARNING: HouseExplode(): unknown type");
            return;
        }

вагоны же и машинки с топливом находяться все в классе
com\maddox\il2\objects\vehicles\stationary Stationary .,
вот например:
Код:

public static class OpelBlitz6700A_fuel extends StationaryGeneric
        implements TgtVehicle
    {

        public OpelBlitz6700A_fuel()
        {
        }
    }
public static class Wagon1 extends StationaryGeneric
        implements TgtTrain, SWagon
    {

        public Wagon1()
        {
        }
    }

поэтому им и можно написать отдельные еффекты в классе Explosions
типа так:
Код:

public static void ExplodeVagonArmor(Point3d point3d, Point3d point3d1, float f)
    {
        if(!Config.isUSE_RENDER())
            return;
        Point3d point3d2 = new Point3d();
        for(int i = 0; i < 3; i++)
        {
            point3d2.interpolate(point3d, point3d1, Math.random());
            AirFlak(point3d2, 0);
        }

        LinearExplode(point3d, point3d1, f, 0.5F, "effects/Explodes/Objects/VagonArmor/SmokeBoiling.eff", "effects/Explodes/Objects/VagonArmor/SmokeBoiling2.eff");
        SfxExplosion.wagon(point3d, point3d1, f, 6);
    }

    public static void ExplodeVagonFuel(Point3d point3d, Point3d point3d1, float f)
    {
        if(!Config.isUSE_RENDER())
        {
            return;
        } else
        {
            LinearExplode(point3d, point3d1, f, 0.75F, "effects/Explodes/Objects/VagonFuel/SmokeBoilingFire.eff", "effects/Explodes/Objects/VagonFuel/SmokeBoilingFire2.eff");
            SfxExplosion.wagon(point3d, point3d1, f, 5);
            return;
        }
    }

то есть: сами объекты с топливом для начала нужно хотя бы поместить в раздел Objects\3do\Cars, потом переделать их 3До по образцу:
Код:

public static class StationaryProperties
    {

        public String meshName;
        public String meshName1;
        public String meshSummer;
        public String meshDesert;
        public String meshWinter;
        public String meshSummer1;
        public String meshDesert1;
        public String meshWinter1;
        public TableFunction2 fnShotPanzer;
        public TableFunction2 fnExplodePanzer;
        public float PANZER_BODY_FRONT;
        public float PANZER_BODY_BACK;
        public float PANZER_BODY_SIDE;
        public float PANZER_BODY_TOP;
        public float PANZER_HEAD;
        public float PANZER_HEAD_TOP;
        public float PANZER_TNT_TYPE;
        public int HITBY_MASK;
        public String explodeName;

        public StationaryProperties()
        {
            meshName = null;
            meshName1 = null;
            meshSummer = null;
            meshDesert = null;
            meshWinter = null;
            meshSummer1 = null;
            meshDesert1 = null;
            meshWinter1 = null;
            fnShotPanzer = null;
            fnExplodePanzer = null;
            PANZER_BODY_FRONT = 0.001F;
            PANZER_BODY_BACK = 0.001F;
            PANZER_BODY_SIDE = 0.001F;
            PANZER_BODY_TOP = 0.001F;
            PANZER_HEAD = 0.001F;
            PANZER_HEAD_TOP = 0.001F;
            PANZER_TNT_TYPE = 1.0F;
            HITBY_MASK = -2;
            explodeName = null;
        }
    }

потом записать каждый объект(бочки, вагончики, дижечкы) в класс Stationary.,
потом спокойно дописываеться код типа:
Код:

public static void ExplodeBarrelBlockFuel(Point3d point3d)
    {
        if(!Config.isUSE_RENDER())
            return;
        Loc loc = new Loc(point3d);
        Eff3DActor.New(loc, 1.0F, "3DO/Effects/Fireworks/Tank_Burn.eff", -1F);
        Eff3DActor.New(loc, 1.0F, "3DO/Effects/Fireworks/Tank_SmokeBoiling.eff", -1F);
        Eff3DActor.New(loc, 1.0F, "3DO/Effects/Fireworks/Tank_Sparks.eff", -1F);
        Eff3DActor.New(loc, 1.0F, "3DO/Effects/Fireworks/Tank_SparksP.eff", -1F);
        if(point3d.z - World.cur().land().HQ(point3d.x, point3d.y) > 3D)
        {
            SfxExplosion.crashAir(point3d, 1);
        } else
        {
            World.cur();
            if(World.land().isWater(point3d.x, point3d.y))
                SfxExplosion.crashAir(point3d, 2);
            else
                SfxExplosion.crashAir(point3d, 0);
        }
    }

То есть - это так по нормальному можно сделать без заднеприводного сношения мозга.
Я - конечно попробую ввернуть код горения топлива, но может так быть что все домики будут гореть как нафтови гуральни. Это если закомпилиться.
Буду думать дальше.
П.С. Как Ил отличает вагоны с динамитом и топливом пока не знаю. Я еффекты ковыряю ооочень редко.
В общем - нужно писать телегу в ДТ что бы топливные цыстерны выделили из домиков в отдельный вид объектов.

YurBorR 19.07.2016 22:07

Цитата:

Сообщение от Vasya (Сообщение 155195)
...То есть - это так по нормальному можно сделать без заднеприводного сношения мозга.

"без сношения мозга" - ну как же Вась без этого, java то не знаю, а что-то пытаюсь менять. Посмотрел твои мысли, что-то подобное пытался... ну время пока есть, попытаюсь ещё, всё таки хочется, чтобы и стаццистерны взрывались повеселее. Спасибо Василий!
Вась, а писать в ДТ, я думаю бесполезно: я хочу это... то..., да кто будет все эти хотелки делать, это ведь тоже старая тема, люди делают, что им нравится делать. Поэтому буду пробовать, пробовать и т.д. и надеяться, что у тебя быстрее получится.

Vasya 19.07.2016 22:39

Вложений: 1
Цитата:

Сообщение от YurBorR (Сообщение 155197)
"без сношения мозга" - ну как же Вась без этого, java то не знаю, а что-то пытаюсь менять. Посмотрел твои мысли, что-то подобное пытался... ну время пока есть, попытаюсь ещё, всё таки хочется, чтобы и стаццистерны взрывались повеселее. Спасибо Василий!
Вась, а писать в ДТ, я думаю бесполезно: я хочу это... то..., да кто будет все эти хотелки делать, это ведь тоже старая тема, люди делают, что им нравится делать. Поэтому буду пробовать, пробовать и т.д. и надеяться, что у тебя быстрее получится.

В общем так:
тут таки программер нужно, желательно граммотней даже любителей навроде меня и Игоря.,
правильно было бы действительно отрезать фуел от хаузов, но это пока мечты.,
я посмотрел что объектам которые не хаузы достаточно было б дописать типа так:
Код:

if(s.equalsIgnoreCase("...... название цыстерн, которые не хаузы ......"))
        {
            new MsgAction(0.0D, actorhmesh) {

                public void doAction(Object obj)
                {
                    Point3d point3d = new Point3d();
                    ((Actor)obj).pos.getAbs(point3d);
                    Explosions.ExplodeVagonFuel(point3d, point3d, 1.5F);
                }

            }
;

И всё - дело в шляпе., не нужно ипатьевский манастирь мозга устраивать.
Я дописал строку фуела:
Код:

case 6: // '\006'
            s = "Fuel";
            boolean flag1 = true;           
            Explosions.ExplodeVagonFuel(point3d, point3d, 1.5F);
            byte0 = 5;
            break;

Это по моему мнению НЕ ПРАВИЛЬНО,
но шо оно будет - не знаю.
Классы еффектов с допиской внизу в архиве. Это перекомпиленные еффекты из патча 4.13.2.
Пробуй.
Я сегодня уставший - целый день бегал по работам, даже за городом в селе побывал. Голова - сим мишкив вовны и вси не повны. Хочу пива - пошёл в киоск за пивом.

YurBorR 23.07.2016 21:20

Вась, а тебя в папке trains "\com\maddox\il2\objects\trains\..." - java паровозов, вагонов и т.д. компилится без ошибок?

Vasya 23.07.2016 21:41

Цитата:

Сообщение от YurBorR (Сообщение 155292)
Вась, а тебя в папке trains "\com\maddox\il2\objects\trains\..." - java паровозов, вагонов и т.д. компилится без ошибок?

Да - без ошибок. Хороший декомпилятор + настроенный комп под джаву.
Если будешь компиллить карго, то одна строка даёт ошибку.
Нужно записать так:
Код:

new MsgAction(0.69999999999999996D, new Wagon.Pair(this, actor)) {

YurBorR 23.07.2016 22:15

Василь, скинь пожалуйста для экспериментов, а то у меня все не хотят.

Vasya 24.07.2016 17:31

Цитата:

Сообщение от YurBorR (Сообщение 155295)
Василь, скинь пожалуйста для экспериментов, а то у меня все не хотят.

Декомпилятор:
Decompiled by DJ v3.10.10.93 Copyright 2007 Atanas Neshkov
http://www.neshkov.com/dj.html - Check often for new version!

YurBorR 25.07.2016 11:27

Спасибо Василий! Скачал, запустил, выпала одна ошибка, хорошо что мне понятная, убрал. А нужно было компильнуть класс OilTank, чтобы попробовать убрать "принцип домино" во взрывах топливного состава, смотри скрины:
Цитата:

Сообщение от YurBorR (Сообщение 154914)
Альтернатива взрыву топливного состава по умолчанию...

Хотелось, чтобы первая цистерна взрывалась по факту попадания, а последующие, каждая с задержкой, ну скажем 3сек, это типа они от нагрева, а не от детонации. Несбыточные хотелки...

Toobone 25.07.2016 16:08

Цитата:

Сообщение от Vasya (Сообщение 155098)
Смотри тут:
- http://forum.aviaskins.com/showpost....&postcount=711
Должно работать, но компиллил в среде 4.12. Потому как среду под патч 4.10.1 уже не пользую.

:thx:

YurBorR 29.07.2016 22:14

Вложений: 1
Цитата:

Сообщение от Vasya (Сообщение 155199)
...правильно было бы действительно отрезать фуел от хаузов, но это пока мечты...

Василь, пока ничего не надо резать. Я тут более-менее разобрался с "FuelHouse" и просто сделал им полегче дым, чем у "настоящего Fuel" и просто для информации: на скрине как раз и есть эти "FuelHouse" и которые бывают двух видов: с горючкой и без, а справа два стога и они тоже оказывается "FuelHouse".

tarakan67 07.08.2016 17:06

Вопрос к знатокам java и классов. В игре V4.12.2 с установленным SAS engine mod боты-бомбардировщики неадекватно бомбят движущиеся корабли. В частности перестали бомбить с пикирования все самолёты(даже штуки). И мажут(даже асы).При этом стационарные корабли бомбят нормально. В "чистой" игре также всё нормально(и для движущихся и для стационарных кораблей).
Какие классы "отвечают" за точность бомбометания и за бомбометание с пикирования

Vasya 10.08.2016 22:36

Кто нибуть скажите на САС
- http://www.sas1946.com/main/index.ph...topicseen.html -
что Японский самолёт не должен быть итальянским.
У меня какой то прокси сервер не даёт там писать посты уже несколько лет, побороть не смог.
Вот этот самолёт:
- http://forum.aviaskins.com/showpost....postcount=1047 -.
Очепятка:
- http://forum.aviaskins.com/showpost....postcount=1048 -.
Там ещё есть в основном классе шероховатости.
Короче: они взяли класс от Джи-55 и немного изменили., лучше бы делали класс на основе Хаятовского.
Я себе поправил код масло-бака и топливного бака для правильной работы.
Вот так у меня:
Код:

if(s.startsWith("xxeng1oil"))
            {
                if(getEnergyPastArmor(0.25F, shot) > 0.0F && World.Rnd().nextFloat() < 0.125F)
                {
                    FM.AS.hitOil(shot.initiator, 0);
                    getEnergyPastArmor(0.22F, shot);
                    debuggunnery("Engine Module: Oil Tank Pierced..");
              }
            }
            } else
            if(s.startsWith("xxtank"))
            {
                int k = s.charAt(6) - 49;
                if(getEnergyPastArmor(2.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.01F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.7F)
                    {
                        FM.AS.hitTank(shot.initiator, k, 4);
                        debuggunnery("Fuel Tank (" + k + "): Hit..");
                    }
                }
                } else

А ещё в записи айр-ини нужно писать двойку, а не единицу как в оригинале.
Писать так:
Код:

Ki-94-II          air.KI_94_II 2                        NOINFO  ja01  SUMMER


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

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot