AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   W.I.P. (http://forum.aviaskins.com/forumdisplay.php?f=38)
-   -   Mitsubishi Ki-30 (http://forum.aviaskins.com/showthread.php?t=5315)

tvister 04.11.2019 01:33

Сделал полностью крыло, с коллиженами и капами. А модель повреждения работает по прежнему неправильно. Отстреливаю законцовку, законцовка не отваливается, просто исчезает, а КАП-заглушка не появляется. Правда падает самолет правильно, кувыркаясь через поврежденное крыло.
Или чего то с классами намудрил или еще чего то, чего я не знаю...

tvister 05.11.2019 01:05

Вложений: 1
Добавил коллижены баков, теперь горит нормально.

Vasya 05.11.2019 04:00

Цитата:

Сообщение от tvister (Сообщение 202516)
Добавил коллижены баков, теперь горит нормально.

Поздравляю! :good:
Уже вижу и винт поменялся. :ok:

Mixx 06.11.2019 15:16

Tvister!
Хорошо получается,молодец. Как там у тебя с моделью повреждений?

tvister 06.11.2019 21:05

Вложений: 1
Тихонько движемся вперед. Василий, это не винт новый, это добавил Hidden. Переделал и переименовал коллижены лонжеронов крыла, при повреждении стала появляться заглушка крыла (на скрине черновой вариант). Видимо в модели все взаимосвязанно, нужно полностью собрать модель, потом можно говорить о каких то багах.

tvister 10.11.2019 14:37

По каким причинам в момент повреждения могут исчезать части D3 ? D1-D2 отображаются нормально.

Asura 11.11.2019 13:27

D3 не используется

tvister 11.11.2019 18:40

Цитата:

Сообщение от Asura (Сообщение 202718)
D3 не используется

Тогда зачем у модели эти части?:I'm_thinking:

Asura 12.11.2019 11:40

Цитата:

Сообщение от tvister (Сообщение 202735)
Тогда зачем у модели эти части?:I'm_thinking:

Это есть только в старых моделях. Наверно были планы, но потом от них отказались. В классе повреждений D3 не фигурирует. И очень часто D3 это клон D2. В общем он не нужен от слова "совсем" :)

tvister 12.11.2019 22:39

Ясно, спасибо за объяснения. Мой пример, D3A1 имеет в своём составе части D3, и в фрагменте кода отвечающем за повреждения D3 тоже встречается.
Код:

            } else if (string.startsWith("xxspar")) {
                if ((string.endsWith("t1") || string.endsWith("t2")
                    || string.endsWith("t3") || string.endsWith("t4"))
                    && chunkDamageVisible("Tail1") > 2
                    && getEnergyPastArmor((3.5F
                                          / (float) Math.sqrt(v1.y * v1.y
                                                              + v1.z * v1.z)),
                                          shot) > 0.0F) {
                    debugprintln(this, "*** Tail1 Spars Broken in Half..");
                    nextDMGLevels(1, 2, "Tail1_D3", shot.initiator);
                }
                if ((string.endsWith("li1") || string.endsWith("li2")
                    || string.endsWith("li3") || string.endsWith("li4"))
                    && chunkDamageVisible("WingLIn") > 2
                    && getEnergyPastArmor(3.5F * World.Rnd().nextFloat(1.0F,
                                                                      1.2F),
                                          shot) > 0.0F) {
                    debugprintln(this, "*** WingLIn Spars Damaged..");
                    nextDMGLevels(1, 2, "WingLIn_D3", shot.initiator);
                }
                if ((string.endsWith("ri1") || string.endsWith("ri2")
                    || string.endsWith("ri3") || string.endsWith("ri4"))
                    && chunkDamageVisible("WingRIn") > 2
                    && getEnergyPastArmor(3.5F * World.Rnd().nextFloat(1.0F,
                                                                      1.2F),
                                          shot) > 0.0F) {
                    debugprintln(this, "*** WingRIn Spars Damaged..");
                    nextDMGLevels(1, 2, "WingRIn_D3", shot.initiator);
                }
                if ((string.endsWith("lm1") || string.endsWith("lm2")
                    || string.endsWith("lm3") || string.endsWith("lm4"))
                    && chunkDamageVisible("WingLMid") > 2
                    && getEnergyPastArmor(3.5F * World.Rnd().nextFloat(1.0F,
                                                                      1.2F),
                                          shot) > 0.0F) {
                    debugprintln(this, "*** WingLMid Spars Damaged..");
                    nextDMGLevels(1, 2, "WingLMid_D3", shot.initiator);

Это не все части, есть еще. Попробую сделать все по образцу "Вел", не получится, уберу все D3 и поищу коды без этих частей.

Asura 14.11.2019 13:26

D3 просто на D2 поменять. У Вэла они одинаковые в модели. Видно что то городили для Перл Харбора, но не доделали.

tvister 14.11.2019 22:16

Вложений: 2
Вчера доделал модель повреждений, осталось добавить несколько КАП-заглушек. Однако поведение модели не изменилось, как и раньше модель не "рассыпается" при критических повреждениях. Отваливающиеся части просто исчезают. Добавил атрибут Hidden, перестали появляться и КАП-ы. А так плоскости могут повреждаться (исчезают), самолет горит, может взорваться. Есть видимые течи из баков, видны пробоины D-1,2. Часто повреждается двигатель и тяги управления. Можно убить пилота и стрелка. Совершенно неадекватно себя ведет летная модель повреждения. Самолет может завалиться на отстреленную плоскость, а может и на противоположную где то 50/50. Может лететь без хвоста. Думаю дорисовать более-менее удовлетворительные скины, добавить оверлеи и выставить бета-версию в состоянии "как есть". Может быть тогда найдутся ошибки в моей работе. Части D3 удалю.

tvister 21.11.2019 21:43

Коллеги, подскажите плз, за что отвечает атрибут Separable в hier.him? Не в нем ли все проблемы Энн? :I'm_thinking: Только сейчас его заметил.

tarakan67 21.11.2019 23:57

Цитата:

Сообщение от tvister (Сообщение 202965)
Коллеги, подскажите плз, за что отвечает атрибут Separable в hier.him? Не в нем ли все проблемы Энн? :I'm_thinking: Только сейчас его заметил.

Этот параметр ставится перед теми мешами, которые могут отделяться при повреждениях, либо ещё когда-нибудь: блистеры, рулевые поверхности и т. д.

tvister 22.11.2019 16:23

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

Сообщение от tarakan67 (Сообщение 202969)
Этот параметр ставится перед теми мешами, которые могут отделяться при повреждениях, либо ещё когда-нибудь: блистеры, рулевые поверхности и т. д.

То есть то что я искал. Об этом параметре нигде не указывается. Спросил на САС-е, там Бизон подтвердил о значении этого атрибута. Всем спасибо за помощь. Погонял исправленную модель.
Понял: 1 много косяков с двусторонними мешами
2 нужно переделать кап-ы
3 забыл о модели повреждений колес, элеронов и закрылков.

tvister 01.12.2019 11:43

Коллеги, подскажите плз. как в МАХ-е ориентирован пулемет, стрелка наблюдателя. Или ткните носом в методу расшифровки координат в хиере.
Опять перестал стрелять задний пулемет. Вроде ничего не менял, но факт, пулемет вместо стрельбы задирается вверх, крутит стволом куда угодно но не в сторону цели. Алгоритм наведения пулемета в классах взял стандартный, он почти везде одинаков. Думаю проблема в ориентации. Модели извлеченные меш-конвертором, в блендере, имеют разную ориентацию.:I'm_thinking:
Обточил модель до более менее играбельного состояния. Все вышеперечисленные баги, кроме заднего пулемета, поправил. КАП-ы, внутренние части поврежденной модели отображаются нормально, без "прозрачности" с изнаночных поверхностей. Все нормально повреждается, горит, отваливается, падает. В классах к назначению самолета, горизонтальный бомбардировщик, добавил штурмовик. Во первых японцы сами так считали, во вторых ЗНАЧИТЕЛЬНО выросла точность бомбометания. Никак не займусь скинами и оверлеями.

Asura 01.12.2019 12:39

Вложений: 1
Верхнее - поворот, нижнее - вертикальное перемещение

Motorhead 01.12.2019 12:54

Цитата:

Сообщение от tvister (Сообщение 202977)
3 забыл о модели повреждений колес, элеронов и закрылков.

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

Цитата:

Сообщение от tvister (Сообщение 203214)
Никак не займусь скинами и оверлеями.

Бортовые номера будут рабочие?

tvister 02.12.2019 00:22

Цитата:

Сообщение от Asura (Сообщение 203219)
Верхнее - поворот, нижнее - вертикальное перемещение

Благодарю за отзыв, но это несколько не та информация. Меня больше интересует положение (углы поворотов) частей Turret1A_D0 и Turret1B_D0.
На примере кораблей, если ствол Gun (Turret1B_D0) не повернуть по оси Х на -90 градусов, нормальной вертикальной наводки не будет. Башню Head (Turret1A_D0) для стрельбы назад, нужно развернуть в положение 180 градусов по оси Z, но учитывать это в файле ship/ini. Как крутить ствол и башню у самолетов, для стрельбы назад?

Цитата:

Сообщение от Motorhead (Сообщение 203219)
Интересно, а можно будет сделать так, чтобы при повреждении закрылков был возможен их несимметричный выпуск?

Теоретически можно, но нужен хороший специалист по яве, увы это не я.
Цитата:

Сообщение от Motorhead (Сообщение 203219)
Бортовые номера будут рабочие?

Хочу их сделать, но с обещаниями буду осторожен. Никогда ими не занимался.

Asura 02.12.2019 14:45

Цитата:

Сообщение от tvister (Сообщение 203229)
Меня больше интересует положение (углы поворотов) частей Turret1A_D0 и Turret1B_D0.

Углы поворотов турелей прописываются в классе самолета и классе кабины стрелка.

Вот например от У-2, с зонами ограничений (чтобы АИ стрелок себе хвост не отстрелил)

Код:

    public boolean turretAngles(int i, float af[])
    {
        boolean flag = super.turretAngles(i, af);
               
        if(af[0] < -35F)
        {
            af[0] = -35F;
            flag = false;
        } else
        if(af[0] > 35F)
        {
            af[0] = 35F;
            flag = false;
        }
        float f = Math.abs(af[0]);
        if(f < 10F)
        {
            if(af[1] < -5F)
            {
                af[1] = -5F;
                flag = false;
            }
        } else
        if(af[1] < -15F)
        {
            af[1] = -15F;
            flag = false;
        }
        if(af[1] > 30F)
        {
            af[1] = 30F;
            flag = false;
        }
        if(!flag)
            return false;
        float f1 = af[1];
        if(f < 2.0F && f1 < 17F)
            return false;
        if(f1 > -5F)
            return true;
        if(f1 > -12F)
        {
            f1 += 12F;
            return f > 12F + f1 * 2.571429F;
        } else
        {
            f1 = -f1;
            return f > f1;
        }
    }


tvister 03.12.2019 21:51

Вложений: 1
Эх, это то же не то.:( Это совершенно верно, код регулирующий углы обстрела задней огневой точки. Вот что меня интересует на примере блендера. Для того что бы пулемет кое как наводился пришлось повернуть его по Z на 180 градусов а по Х на -90. Сейчас чешу репу и вижу, что у дефолтной модели "Вел" вообще ничего не накручено.

Asura 04.12.2019 17:09

Не знаю как в бледрере, а в максе есть такая штука как "пивот" - вот его направленность как раз и важна для турелей. И для всего прочего. по осям пивота крутятся все части моделей. И если в кабине например все равно как установлен пивот - я могу принудительно задать ось и направление поворота, то для внешней модели направление осей пивота категорически важно! и ориентированы они должны быть только определенным образом. Я на картинке выше как раз и показывал как.

tvister 04.12.2019 17:35

Цитата:

Сообщение от Asura (Сообщение 203337)
Не знаю как в бледрере, а в максе есть такая штука как "пивот"

Понял, спасибо.

tvister 08.12.2019 20:02

Никак не могу наладить стрельбу задней огневой точки. Перепробовал все варианты ориентации и расположения мешей, но пулемет живет своей жизнью, наводится неправильно и не стреляет.

Asura 08.12.2019 21:57

Если выгрузишь мод - могу посмотреть...

tvister 08.12.2019 23:57

Цитата:

Сообщение от Asura (Сообщение 203522)
Если выгрузишь мод - могу посмотреть...

Решил не травмировать чувства наших коллег. Отправил "первый блин" в личку.

tvister 19.12.2019 01:43

Содрал с Вел и поставил на Энн заднюю турель. Спасибо Asura! Пулемет крутится, наводится, но не стреляет...:(:I'm_thinking: Причем при переходе в положение стрелка наблюдателя пулемет стреляет. Вроде уже все перепробовал, но толку пока нет.

Asura 19.12.2019 15:35

Попробуй посмотреть код ограничений углов - нет ли там осечки зон хвостового оперения? Я бы для начала снял вообще все ограничения и проверил без них.

tvister 19.12.2019 23:45

Цитата:

Сообщение от Asura (Сообщение 203709)
Попробуй посмотреть код ограничений углов - нет ли там осечки зон хвостового оперения? Я бы для начала снял вообще все ограничения и проверил без них.

Вот эти ?
Код:

    public boolean turretAngles(int i, float[] fs) {
        boolean bool = super.turretAngles(i, fs);
        float f = -fs[0];
        float f_0_ = fs[1];
        switch (i) {
        case 0:
            if (f < -33.0F) {
                f = -33.0F;
                bool = false;
            }
            if (f > 33.0F) {
                f = 33.0F;
                bool = false;
            }
            if (f_0_ < -3.0F) {
                f_0_ = -3.0F;
                bool = false;
            }
            if (f_0_ > 62.0F) {
                f_0_ = 62.0F;
                bool = false;
            }
            /* fall through */
        default:
            fs[0] = -f;
            fs[1] = f_0_;
            return bool;
        }
    }

Код:

    public void clipAnglesGun(Orient orient) {
        if (isRealMode()) {
            if (!aiTurret().bIsOperable)
                orient.setYPR(0.0F, 0.0F, 0.0F);
            else {
                float f = orient.getYaw();
                float f_0_ = orient.getTangage();
                if (f < -33.0F)
                    f = -33.0F;
                if (f > 33.0F)
                    f = 33.0F;
                if (f_0_ > 62.0F)
                    f_0_ = 62.0F;
                if (f_0_ < -3.0F)
                    f_0_ = -3.0F;
                orient.setYPR(f, f_0_, 0.0F);
                orient.wrap();
            }
        }
    }


Asura 20.12.2019 17:22

Да. Я думаю что бт не стреляет потому что не может прицелится... Если стволом водит - значит турель под управлением ИИ. А не стреляет - не может попасть. Если снять ограничение возможно начнет стрелять.

tvister 23.12.2019 00:24

Все строки контроля турели удалил. И в классе самолета, и в классе кокпита стрелка, и в разных вариантах, но толку нет никакого. Впрочем есть, иногда, но крайне редко, пулемет дает пару-тройку выстрелов и замолкает. Есть мысли, что виноват кокпит стрелка Энн. Уж очень велико расстояние между центральными точками опоры пулемета внешней модели и пулемета кокпита. Полагаю, что наводка обеих стволов как то взаимосвязанна. А навести оба ствола в одну точку невозможно. Единственный небольшой сектор сведения есть строго по средней линии, но именно там с классах наложено ограничение по стрельбе и где то в ту сторону пулемет иногда постреливает.
Пы. Сы. подзадолбался я с этим проектом. Вроде все правильно сделано, с названиями и пивотами, спасибо всем, разобрался. А все равно не работает. Попробую поковырять кокпит. Правда я им никогда не занимался, но ведь раньше я вообще ничего не знал и не умел... Если не получится с кокпитом, изменю положение стрелка и пулемета, сдвину их кпереди, что бы закрывался фонарь, а пулемет зафиксирую неподвижно, без подъёмного механизма.

Vasya 23.12.2019 03:20

Цитата:

Сообщение от tvister (Сообщение 203807)
................Впрочем есть, иногда, но крайне редко, пулемет дает пару-тройку выстрелов и замолкает. .............

Какой пулемёт прописан в классе?

tvister 23.12.2019 07:52

Цитата:

Сообщение от Vasya (Сообщение 203808)
Какой пулемёт прописан в классе?

MGunVikkersKt.

Vasya 23.12.2019 17:57

Цитата:

Сообщение от tvister (Сообщение 203810)
MGunVikkersKt.

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

tvister 23.12.2019 22:59

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

Сообщение от Vasya (Сообщение 203815)
Можно сделать так:
Взять Велл или чего другое и поставить код стрелка туда и проверить.
А лучше давай класс мне - я проверю на похожем самолёте.
Думаю, что очепятки в классе с пропиской вооружения или в самом классе виккерса. Возможно стоит модный класс виккерса с ошибками.


Перепробовал все варианты и этот то же.
Василий, проблема в классе, но не в самом вооружении, а в анимации огневой точки.
Какая была задумка, (скрин1) в положении полета части фонаря закрыты. Основание пулемета TurretА, приаттачено к мешу TurretBase который опущен на 30 градусов к горизонту. Пулемет спрятан в шахте хвостовой балки. В боевом положении (скрин2), секции фонаря сдвигаются вперед, а TurretBase поворачивается на 30 градусов вверх, соответственно пулемет занимает боевое положение. По моему красиво и технически правильно. Но, максимум чего я добился, спасибо Asura,это наведения пулемета, без стрельбы.
Вчера-сегодня провел пару опытов. Первое, было соображение, что наводку сбивает пулемет кокпита. Полностью почистил классы от упоминания кокпита пулеметчика. Не помогло, пулемет наводится но не стреляет. Второе убрал меш TurretBase напрямую присоединив TurretА к CF и все заработало. Пулемет наводится и стреляет, но анимация, подъём спуск пулемета, не работает(скрин3-4).
В классах TurretBase стоит в блоке отвечающем за закрытие-открытие фонаря в походно-боевом положении. Как связан java-механизм открытия фонаря с невозможностью вести огонь, я не знаю:I'm_thinking:
Вот архив классов с кокпитом стрелка. Может кто то лучше в яве разбирается, подскажет. Кокпит стрелка-наблюдателя-бомбардира, переделаю под новое положение пулемета и верну назад.

Vasya 23.12.2019 23:59

Цитата:

Сообщение от tvister (Сообщение 203819)
Перепробовал все варианты и этот то же.
Василий, проблема в классе, но не в самом вооружении, а в анимации огневой точки.
Какая была задумка, (скрин1) в положении полета части фонаря закрыты. Основание пулемета TurretА, приаттачено к мешу TurretBase который опущен на 30 градусов к горизонту. Пулемет спрятан в шахте хвостовой балки. В боевом положении (скрин2), секции фонаря сдвигаются вперед, а TurretBase поворачивается на 30 градусов вверх, соответственно пулемет занимает боевое положение. По моему красиво и технически правильно. Но, максимум чего я добился, спасибо Asura,это наведения пулемета, без стрельбы.
Вчера-сегодня провел пару опытов. Первое, было соображение, что наводку сбивает пулемет кокпита. Полностью почистил классы от упоминания кокпита пулеметчика. Не помогло, пулемет наводится но не стреляет. Второе убрал меш TurretBase напрямую присоединив TurretА к CF и все заработало. Пулемет наводится и стреляет, но анимация, подъём спуск пулемета, не работает(скрин3-4).
В классах TurretBase стоит в блоке отвечающем за закрытие-открытие фонаря в походно-боевом положении. Как связан java-механизм открытия фонаря с невозможностью вести огонь, я не знаю:I'm_thinking:
Вот архив классов с кокпитом стрелка. Может кто то лучше в яве разбирается, подскажет. Кокпит стрелка-наблюдателя-бомбардира, переделаю под новое положение пулемета и верну назад.

Скачал... обомлел. :cry:
Классы не рабочие от слова вообще.
Там весь код нужно чистить от мусора - раз.
Если у тебя в веапонсе стоит 0, то пулемёт с приставкой t
не прописуется. :ok:
Пытаюсь разобраться с классом. :eek:

Vasya 24.12.2019 00:02

Он-лайн декомпилятор.
http://www.javadecompilers.com/?fbcl...LEyqOVAWWk9FGw

tvister 24.12.2019 00:26

Я не специалист, но все кроме пулемета работает.

Vasya 24.12.2019 00:51

Цитата:

Сообщение от tvister (Сообщение 203823)
Я не специалист, но все кроме пулемета работает.

Откуда код для стрелка брал в класс?
От Д3А дефолтного не подошёл?
Код:

public boolean turretAngles(int i, float af[])
    {
        boolean flag = super.turretAngles(i, af);
        float f = -af[0];
        float f1 = af[1];
        switch(i)
        {
        case 0: // '\0'
            if(f < -33F)
            {
                f = -33F;
                flag = false;
            }
            if(f > 33F)
            {
                f = 33F;
                flag = false;
            }
            if(f1 < -3F)
            {
                f1 = -3F;
                flag = false;
            }
            if(f1 > 62F)
            {
                f1 = 62F;
                flag = false;
            }
            break;
        }
        af[0] = -f;
        af[1] = f1;
        return flag;
    }

Уже потихоньку один класс перебрал.
Кокпит стрелка должен называться так:
Код:

com.maddox.il2.objects.air.CockpitKi30A_TGunner.class

Vasya 24.12.2019 01:00

Код:

package com.maddox.il2.objects.air;
import java.io.IOException;
import java.util.ArrayList;

import com.maddox.rts.Finger;
import com.maddox.rts.NetMsgGuaranted;
import com.maddox.rts.NetMsgInput;
import com.maddox.rts.Property;
import com.maddox.util.HashMapInt;

public class Ki30A extends Ki30
    implements TypeBomber
{

    public Ki30A()
    {
    }
   
    public boolean turretAngles(int i, float[] fs) {
        boolean bool = super.turretAngles(i, fs);
        float f = -fs[0];
        float f_0_ = fs[1];
        switch (i) {
        case 0:
            if (f < -33.0F) {
                f = -33.0F;
                bool = false;
            }
            if (f > 33.0F) {
                f = 33.0F;
                bool = false;
            }
            if (f_0_ < -3.0F) {
                f_0_ = -3.0F;
                bool = false;
            }
            if (f_0_ > 62.0F) {
                f_0_ = 62.0F;
                bool = false;
            }
            /* fall through */
        default:
            fs[0] = -f;
            fs[1] = f_0_;
            return bool;
        }
    }
   
    public boolean typeBomberToggleAutomation()
    {
        return false;
    }

    public void typeBomberAdjDistanceReset()
    {
    }

    public void typeBomberAdjDistancePlus()
    {
    }

    public void typeBomberAdjDistanceMinus()
    {
    }

    public void typeBomberAdjSideslipReset()
    {
    }

    public void typeBomberAdjSideslipPlus()
    {
    }

    public void typeBomberAdjSideslipMinus()
    {
    }

    public void typeBomberAdjAltitudeReset()
    {
    }

    public void typeBomberAdjAltitudePlus()
    {
    }

    public void typeBomberAdjAltitudeMinus()
    {
    }

    public void typeBomberAdjSpeedReset()
    {
    }

    public void typeBomberAdjSpeedPlus()
    {
    }

    public void typeBomberAdjSpeedMinus()
    {
    }

    public void typeBomberUpdate(float f)
    {
    }

    public void typeBomberReplicateToNet(NetMsgGuaranted netmsgguaranted)
        throws IOException
    {
    }

    public void typeBomberReplicateFromNet(NetMsgInput netmsginput)
        throws IOException
    {
    }
   
    private static Aircraft._WeaponSlot[] GenerateDefaultConfig(int i)
    {
        Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[i];
        try
        {
            a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700);
            a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600);
            a_lweaponslot[2] = null;
            a_lweaponslot[3] = null;
            a_lweaponslot[4] = null;
            a_lweaponslot[5] = null;
            a_lweaponslot[6] = null;
            a_lweaponslot[7] = null;
            a_lweaponslot[8] = null;
            a_lweaponslot[9] = null;
            a_lweaponslot[10] = null;
            a_lweaponslot[11] = null;
            a_lweaponslot[12] = null;       
        }
        catch(Exception exception) { }
        return a_lweaponslot;
    }

    static Class _mthclass$(String s)
    {
        Class class1;
        try
        {
            class1 = Class.forName(s);
        }
        catch(ClassNotFoundException classnotfoundexception)
        {
            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return class1;
    }
   
    static
    {
        Class class1 = com.maddox.il2.objects.air.Ki30A.class;
        new NetAircraft.SPAWN(class1);
        Property.set(class1, "iconFar_shortClassName", "Ki-30A");
        Property.set(class1, "meshName", "Ki30A(Multi1)/hier.him");
        Property.set(class1, "PaintScheme", new PaintSchemeFMPar01());
        Property.set(class1, "yearService", 1935F);
        Property.set(class1, "yearExpired", 1946.5F);
        Property.set(class1, "FlightModel", "FlightModels/Ki30A.fmd:Ki30A_FM");
        Property.set(class1, "cockpitClass", new Class[] {
            com.maddox.il2.objects.air.CockpitKi30A.class, com.maddox.il2.objects.air.CockpitKi30A_TGunner.class
        });
        Property.set(class1, "LOSElevation", 0.742F);
        Aircraft.weaponTriggersRegister(class1, new int[] {
            0, 10, 3, 3, 3, 3, 3, 3, 3, 3,
            3, 3, 3
        });
        Aircraft.weaponHooksRegister(class1, new String[] {
            "_MGUN01", "_MGUN02", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_BombSpawn01", "_BombSpawn02", "_BombSpawn03", "_BombSpawn04",
            "_BombSpawn05", "_BombSpawn06", "_BombSpawn07"
        });



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

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