AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моделирование и конструирование

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.12.2017, 01:41   #321
Grejf11
Greif11
 
Аватар для Grejf11
 
Регистрация: 27.08.2008
Адрес: Украина/BRDeutschland
Сообщений: 569
Отправить сообщение для Grejf11 с помощью ICQ Отправить сообщение для Grejf11 с помощью MSN
По умолчанию

Орудие без боекомплекта наводится или у бота БК бесконечен?
Прикрутить не прожектор а фару к GUN.
__________________
Grejf11 вне форума   Ответить с цитированием
Старый 20.12.2017, 06:10   #322
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Цитата:
Сообщение от Grejf11 Посмотреть сообщение
Орудие без боекомплекта наводится или у бота БК бесконечен?
Прикрутить не прожектор а фару к GUN.
Это всё изгаляния.
Там в шипс-дженерик есть разделы ии стрельбы из орудий и флаков(анти-айр).
Проблема не в приделывания мешей прожектора к иерархии корабля. Думаю что это для кораблестроителей не особо сложно. Проблема в том, что бы корабль научился пользоваться мешами прожектора именно в режиме прожектора, а не в режиме флака. Гунам в классах шип-дженерик вообще половину кода посвящено. Говорится там и о том, что класс орудия нужно искть в разделе веапонс с указанием конкретного адреса.
Вот:
Код:
for(i = 0; sectfile.sectionIndex(s + ":Gun" + i) >= 0; i++);
            shipproperties.guns = new ShipGunProperties[i];
            shipproperties.WEAPONS_MASK = 0;
            shipproperties.ATTACK_MAX_DISTANCE = 1.0F;
            for(int j = 0; j < i; j++)
            {
                shipproperties.guns[j] = new ShipGunProperties();
                ShipGunProperties shipgunproperties = shipproperties.guns[j];
                String s1 = s + ":Gun" + j;
                String s2 = "com.maddox.il2.objects.weapons." + getS(sectfile, s1, "Gun");
                try
                {
                    shipgunproperties.gunClass = Class.forName(s2);
                }
                catch(Exception exception)
                {
                    System.out.println("Ship: Can't find gun class '" + s2 + "'");
                    throw new RuntimeException("Can't register Ship object");
                }
                shipgunproperties.WEAPONS_MASK = Gun.getProperties(shipgunproperties.gunClass).weaponType;
                if(shipgunproperties.WEAPONS_MASK == 0)
                {
                    System.out.println("Ship: Undefined weapon type in gun class '" + s2 + "'");
                    throw new RuntimeException("Can't register Ship object");
                }
                shipproperties.WEAPONS_MASK |= shipgunproperties.WEAPONS_MASK;
                shipgunproperties.ATTACK_MAX_DISTANCE = getF(sectfile, s1, "AttackMaxDistance", 6F, 50000F);
                shipgunproperties.ATTACK_MAX_RADIUS = getF(sectfile, s1, "AttackMaxRadius", 6F, 50000F);
                shipgunproperties.ATTACK_MAX_HEIGHT = getF(sectfile, s1, "AttackMaxHeight", 6F, 15000F);
                if(shipgunproperties.ATTACK_MAX_DISTANCE > shipproperties.ATTACK_MAX_DISTANCE)
                    shipproperties.ATTACK_MAX_DISTANCE = shipgunproperties.ATTACK_MAX_DISTANCE;
                shipgunproperties.TRACKING_ONLY = false;
                if(sectfile.exist(s1, "TrackingOnly"))
                    shipgunproperties.TRACKING_ONLY = true;
                shipgunproperties.ATTACK_FAST_TARGETS = 1;
                if(sectfile.exist(s1, "FireFastTargets"))
                {
                    float f = getF(sectfile, s1, "FireFastTargets", 0.0F, 2.0F);
                    shipgunproperties.ATTACK_FAST_TARGETS = (int)(f + 0.5F);
                    if(shipgunproperties.ATTACK_FAST_TARGETS > 2)
                        shipgunproperties.ATTACK_FAST_TARGETS = 2;
                }
.
Можно - конечно - пойти путём писания нового класса для прожектора, отвязывая его от раздела машинок(кар) и делая в разделе шипс.
Но мне более нравится идея обойтись без отдельного класса корабельного прожектора, а классах шипс делать новий раздел для мешей прожектора и вставлять туда полностью ии прожектора.
Я думаю что всё же легче будет приделать код управления мешами прожектора в шип-дженерик, дабы их можно было безболезненно вкладывать в иерархию кораблей.
Код ии есть готовый, его только вписать нужно правильно. Это вполне под силу программеру, который знаком со средой Ила. Любители вроде меня не смогут это адекватно прописать.
Или кто на САС возмёться или Асура.
Такие мысли.

Последний раз редактировалось Vasya; 20.12.2017 в 06:13.
Vasya на форуме   Ответить с цитированием
Старый 20.12.2017, 08:56   #323
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
Проблема не в приделывания мешей прожектора к иерархии корабля. Думаю что это для кораблестроителей не особо сложно. Проблема в том, что бы корабль научился пользоваться мешами прожектора именно в режиме прожектора, а не в режиме флака. Гунам в классах шип-дженерик вообще половину кода посвящено. Говорится там и о том, что класс орудия нужно искть в разделе веапонс с указанием конкретного адреса.
Это то о чем я пытаюсь сказать
Цитата:
Сообщение от Vasya Посмотреть сообщение
Можно - конечно - пойти путём писания нового класса для прожектора, отвязывая его от раздела машинок(кар) и делая в разделе шипс.
Я конечно не специалист и многого пока не понимаю, но мне кажется, что этот путь предпочтительнее.
tvister вне форума   Ответить с цитированием
Старый 21.12.2017, 19:29   #324
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
думаю что всё же легче будет приделать код управления мешами прожектора в шип-дженерик, дабы их можно было безболезненно вкладывать в иерархию кораблей
Подскажите пожалуйста, это нечто подобное записям ходовых огней и огней взлетной палубы на Хирю и Исэ от Кодама?
Вложения
Тип файла: txt Shipkdm2.txt (6.0 Кб, 20 просмотров)
tvister вне форума   Ответить с цитированием
Старый 22.12.2017, 05:21   #325
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Цитата:
Сообщение от tvister Посмотреть сообщение
Подскажите пожалуйста, это нечто подобное записям ходовых огней и огней взлетной палубы на Хирю и Исэ от Кодама?
Скорее всего да.
Я с телефона щас. Комп работает очень нестабильно.
Може работать хоть 10 часов, а может 10 минут. Гаснет экран и нет звука и изображения. Хотя комп жужжит. Иногда выбивает синий екран и опять таки потом гаснет всё. При перезапуске не включается изображение. Помогает перестановка штекеров/вилок в переноске. Вчера не смог делать классы.
Думаю что материнка уже фсьо. Новая с ядром до 16-и тысяч в розетке. Грошей ма. Бяда - бяда.
Винду переставлял две недели назад из-за таких же симптомов - помогло на 3 дня.
Видеокарта чищена/дмухана и елозяна кисточкой - никаких полос или бликов при работе не даёт. Температура 23 - 36 градусов - двери балкона открываю и сижу в подстёжке. Такие дела.
---------------------------
Думаю отдельный класс прожектора в разделе шип не нужен - ведь не роставишь корабль на корабль.
А вот прописать новые меши(прожектора) в иерархию самое правильное. Этим мешам как раз и можно притулить оригинальное ии и дженерик прожектора.
Но для такого дела нужны знания писания кода джавы с нуля, а не собирания кирпичиков и раствора как делаю я.
Vasya на форуме   Ответить с цитированием
Старый 22.12.2017, 08:34   #326
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
Комп работает очень нестабильно.
Може работать хоть 10 часов, а может 10 минут. Гаснет экран и нет звука и изображения. Хотя комп жужжит. Иногда выбивает синий екран и опять таки потом гаснет всё. При перезапуске не включается изображение. Помогает перестановка штекеров/вилок в переноске.
Я не специалист, но подобные признаки были у моего второго ноута, на кануне его финиша. Северный мост...
Цитата:
Сообщение от Vasya Посмотреть сообщение
А вот прописать новые меши(прожектора) в иерархию самое правильное. Этим мешам как раз и можно притулить оригинальное ии и дженерик прожектора.
Понял, спасибо за совет.
Цитата:
Сообщение от Vasya Посмотреть сообщение
Но для такого дела нужны знания писания кода джавы с нуля
Этого как раз и нет... Пытаюсь учить яву самостоятельно, но все как то уж очень сложно....
tvister вне форума   Ответить с цитированием
Старый 23.12.2017, 23:03   #327
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
Гунам в классах шип-дженерик вообще половину кода посвящено. Говорится там и о том, что класс орудия нужно искать в разделе веапонс с указанием конкретного адреса.
То есть особенности наведения корабельных орудий (ИИ), лежит в в шип-дженерик?
Я правильно понял?
tvister вне форума   Ответить с цитированием
Старый 24.12.2017, 00:38   #328
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

В классе орудия, прописываются визуальные эффекты, характеристика снаряда и заряда. Градусы наведения по вертикали и горизонтали,
скорострельность и время перезарядки, а также приоритет цели, указывается в шип.ини.
Вопрос знающим камрадам, где сидит ИИ, непосредственно управляющий орудием? Или как заставить орудие, стрелять, только ночью?
tvister вне форума   Ответить с цитированием
Старый 24.12.2017, 01:38   #329
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Цитата:
Сообщение от tvister Посмотреть сообщение
То есть особенности наведения корабельных орудий (ИИ), лежит в в шип-дженерик?
Я правильно понял?
Конечно!
Только не открывай классы тем "гарантом покращення", чем пользовался ранее - вин нагло бреше.
Vasya на форуме   Ответить с цитированием
Старый 24.12.2017, 02:56   #330
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

М-м-д-а-а... Все печальнее чем я думал...
Правда Кодама в своих работах шип-дженерик не менял. Он добавлял функции непосредственно в класс корабля... Да и с системой наведения огней, ему работать не было необходимости. Все очень сложно, в первый раз...
tvister вне форума   Ответить с цитированием
Старый 24.12.2017, 09:41   #331
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

Зачем тогда гун-генерик?
tvister вне форума   Ответить с цитированием
Старый 06.01.2018, 01:30   #332
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 647
По умолчанию

К сожалению самостоятельно с прожекторами не справиться. Рассказал зарубежным коллегам с SAS о нашей "прожекторной" идее и проблемах с её реализацией. По ходу консилиума было решено, что необходимо править корабельные генерик-классы. Ваша идея Vasya. Думаю если несколько специалистов не зависимо друг от друга приходят к одной идее, значит направление выбрано верное.
tvister вне форума   Ответить с цитированием
Старый 28.01.2018, 22:12   #333
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Вопрос

Есть вопрос к понимающим в кодах.
Нужно прямо в клас крафта прописать авто-радиатор.
Код в класс вписал, но он почему то не работает. Хотя всё компилится.
Код:
Код:
public BF_109E_4MN()
    {        
        reference = null;
    }
Код:
public void updateRadiator(float f)
    {
        if((reference.actor instanceof BF_109E_4MN))
        {
            if(tOilOut > tOilOutMaxRPM)
            {
                controlRadiator += 0.1F * f;
                if(controlRadiator > 1.0F)
                    controlRadiator = 1.0F;
            } else
            {
                controlRadiator = 1.0F - reference.getSpeed() / reference.VmaxH;
                if(controlRadiator < 0.0F)
                    controlRadiator = 0.0F;
              }
        }
    }
    
    public boolean isAllowsAutoRadiator()
    {
        if(World.cur().diffCur.ComplexEManagement)
        {
            if((reference.actor instanceof BF_109E_4MN))
            return true;
            switch(propAngleDeviceType)
            {
            case 7: // '\007'
                return true;

            case 8: // '\b'
                return type == 2;
            }
            return false;
        } else
        {
            return true;
        }
    }

    public boolean isHasControlRadiator()
    {
        return bHasRadiatorControl;
    }

    public float getControlRadiator()
    {
        return controlRadiator;
    }
Код:
    public float tOilOutMaxRPM;
    public float tOilOut;
    public float controlRadiator;
    private boolean bHasRadiatorControl;
    private int propAngleDeviceType;
    private int type;
    private FlightModel reference;
Помогите пожалуйста разобраться!
---------------------------------------
Если писать вот такие строки:
Код:
public void onAircraftLoaded()
    {
        super.onAircraftLoaded();
        if((Aircraft)((Interpolate) (super.FM)).actor instanceof BF_109E_4MN)
            ((FlightModelMain) (super.FM)).EI.engines[0].setAfterburnerType(10);
            ((FlightModelMain) (super.FM)).EI.engines[0].setControlPropAuto(true);  
            ((FlightModelMain) (super.FM)).AS.wantBeaconsNet(true);        
    }
то автомат винта так же не работает.
А так:
Код:
((FlightModelMain) (super.FM)).EI.engines[0].setControlRadiator(AllowsAutoRadiator);
Джава не понимает AllowsAutoRadiator

Последний раз редактировалось Vasya; 29.01.2018 в 12:36.
Vasya на форуме   Ответить с цитированием
Старый 01.04.2018, 17:11   #334
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Если при декомпиляции разных "сложных" классов вылазяет вот такое:
Код:
bIsMaster = flag;
        i = 0;
_L3:
        if(i >= 4) goto _L2; else goto _L1
_L1:
        try
        {
            astateEffectChunks[i + 0] = actor.findHook("_Tank" + (i + 1) + "Burn").chunkName();
            astateEffectChunks[i + 0] = astateEffectChunks[i + 0].substring(0, astateEffectChunks[i + 0].length() - 1);
            Aircraft.debugprintln(aircraft, "AS: Tank " + i + " FX attached to '" + astateEffectChunks[i + 0] + "' substring..");
        }
        catch(Exception exception) { }
        continue; /* Loop/switch isn't completed */
        Exception exception5;
        exception5;
        throw exception5;
        i++;
          goto _L3
_L2:
        i = 0;
_L6:
        if(i >= aircraft.FM.EI.getNum()) goto _L5; else goto _L4
_L4:
        try
        {
            astateEffectChunks[i + 4] = actor.findHook("_Engine" + (i + 1) + "Smoke").chunkName();
            astateEffectChunks[i + 4] = astateEffectChunks[i + 4].substring(0, astateEffectChunks[i + 4].length() - 1);
            Aircraft.debugprintln(aircraft, "AS: Engine " + i + " FX attached to '" + astateEffectChunks[i + 4] + "' substring..");
        }
        catch(Exception exception1) { }
        continue; /* Loop/switch isn't completed */
        Exception exception6;
        exception6;
        throw exception6;
        i++;
          goto _L6
_L5:
        i = 0;
_L9:
        if(i >= astateNavLightsEffects.length) goto _L8; else goto _L7
_L7:
То эти Л-ки нужно удалять "нахер". Это декомпилятор пишет ахинею - пытаеться показать методы которые забыл понимать.
Там нужно писать типа так:
Код:
bIsMaster = flag;
        for(int i = 0; i < 4; i++)
            try
            {
                astateEffectChunks[i + 0] = actor.findHook("_Tank" + (i + 1) + "Burn").chunkName();
                astateEffectChunks[i + 0] = astateEffectChunks[i + 0].substring(0, astateEffectChunks[i + 0].length() - 1);
                Aircraft.debugprintln(aircraft, "AS: Tank " + i + " FX attached to '" + astateEffectChunks[i + 0] + "' substring..");
            }
            catch(Exception exception) { }
            finally { }
Код:
for(int j = 0; j < ((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.getNum(); j++)
            try
Это нужно сидеть и править каждую строку, добавляя указатели для чего/к чему обращается код.
И ещё:
бывает при декомпиляции появляются лишние строки, которые рассказывают нам о том, что есть блок команд, который не совсем похож на метод в других классах среды., то есть - не так записана пунктуация.
Вот и вылазяет:
Код:
byte byte0;
        if(!bIsAboutToBailout)
            break MISSING_BLOCK_LABEL_1119;
        if(astateBailoutStep >= 0 && astateBailoutStep < 2)
        {
            if(aircraft.FM.CT.cockpitDoorControl > 0.5F && aircraft.FM.CT.getCockpitDoor() > 0.5F)
            {
                astateBailoutStep = 11;
                doRemoveBlisters();
            } else
            {
                astateBailoutStep = 2;
            }
            break MISSING_BLOCK_LABEL_1119;
        }
Нужно открывать скобку
Код:
if(astateBailoutStep >= 0 && astateBailoutStep < 2)
            {
а "абабугаламагу" break MISSING_BLOCK_LABEL_1119; выкидывать в мусорную кучу.
Вместо миссинг-блок ниже в командах(подразделах) пишется так:
Код:
{
                    astateBailoutStep = 2;
                }
            } else
В самом низу раздела команд private void .... нужно ещё раз закрыть скобку.
Как то вот так. Шо понял - то и написал. Может кому пригодится для делания модов.

Последний раз редактировалось Vasya; 01.04.2018 в 17:15.
Vasya на форуме   Ответить с цитированием
Старый 02.04.2018, 09:09   #335
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,199
По умолчанию

Еще вариант - использовать другой декомпилятор. Их вообще несколько и все по разному декомпилируют. Кроме DJ Java Decompiler есть еще:

JD Decompiler
Procyon Decompiler
Fernflower Decompiler

Используя альтернативы можно получить вполне приемлемый результат декомпиляции сложных классов без правки.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием
Старый 02.04.2018, 10:47   #336
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 281
По умолчанию

А самый правильный - дизассемблировать и посмотреть что реально в коде происходит и поправить в соответствии с кодом.
NB79 вне форума   Ответить с цитированием
Старый 02.04.2018, 17:36   #337
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Цитата:
Сообщение от NB79 Посмотреть сообщение
А самый правильный - дизассемблировать и посмотреть что реально в коде происходит и поправить в соответствии с кодом.
Научимся.
Нэ святи горшки липлять.
Я только любитель (почитать Иловские коды) - для меня джава классы как стихосложение - безумно нравится. Хобби для ума и тренировка логики.
А вот джава скрипт на вкус показался скисшей окрошкой, по нашему - помыями. Но со скриптом слабо знаком. Всю осень пытался править Т-34 против Тигра. Всё свалено в кучу - голову сломать можно за час другой попыток собрать в логическую структуру мозаику кода. Может просто кодеры такие были.
Любую страницу кода видео или сайта открываешь и на джаве всё понятно в общем о чём идёт речь. Отличный язык, интуитивно понятный.

Последний раз редактировалось Vasya; 03.04.2018 в 00:05.
Vasya на форуме   Ответить с цитированием
Старый 02.04.2018, 17:43   #338
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 3,476
Радость

Цитата:
Сообщение от Asura Посмотреть сообщение
Еще вариант - использовать другой декомпилятор. Их вообще несколько и все по разному декомпилируют. Кроме DJ Java Decompiler есть еще:

JD Decompiler
Procyon Decompiler
Fernflower Decompiler

Используя альтернативы можно получить вполне приемлемый результат декомпиляции сложных классов без правки.
У меня только бесплатные програмки, которые не требуют регистрации.
Ну и преодоление трудностей повышает самооценку.
Джава как наркотик - уже не слезешь.
Малой закончит скоро коледж и я пойду учиться(как завещал "вечно-живой" дедушка).
----------------------------------
Не подскажите (будьте добры) как записать работающий метод автомата винта прямо в класс самолёта?!
Очень нужно.
Выше по странице я спрашивал.

Последний раз редактировалось Vasya; 03.04.2018 в 00:04.
Vasya на форуме   Ответить с цитированием
Старый 13.05.2018, 18:28   #339
deSAD
Модератор
 
Аватар для deSAD
 
Регистрация: 06.03.2007
Адрес: Киев, Украина
Сообщений: 10,386
Отправить сообщение для deSAD с помощью ICQ Отправить сообщение для deSAD с помощью Skype™
По умолчанию

Не подскажете ли, камераден, как бы такую бяку вылечить?..
Код:
[15:22:21]	java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[15:22:21]		at java.util.ArrayList.RangeCheck(Unknown Source)
[15:22:21]		at java.util.ArrayList.get(Unknown Source)
[15:22:21]		at com.maddox.gwindow.GWindowComboControl.get(GWindowComboControl.java:119)
[15:22:21]		at com.maddox.gwindow.GWindowComboControl.setSelected(GWindowComboControl.java:124)
[15:22:21]		at com.maddox.il2.gui.GUIAirArming.selectWeapon(GUIAirArming.java:836)
[15:22:21]		at com.maddox.il2.gui.GUIAirArming._enter(GUIAirArming.java:735)
[15:22:21]		at com.maddox.il2.game.GameState.enterPush(GameState.java:92)
[15:22:21]		at com.maddox.il2.game.GameStateStack.push(GameStateStack.java:55)
[15:22:21]		at com.maddox.il2.game.GameStateStack.push(GameStateStack.java:44)
[15:22:21]		at com.maddox.il2.gui.GUIQuick$WButtonArming.notify(GUIQuick.java:681)
[15:22:21]		at com.maddox.gwindow.GWindowDialogControl._notify(GWindowDialogControl.java:51)
[15:22:21]		at com.maddox.il2.gui.GUIButton._notify(GUIButton.java:18)
[15:22:21]		at com.maddox.gwindow.GWindowDialogControl.mouseClick(GWindowDialogControl.java:86)
[15:22:21]		at com.maddox.il2.gui.GUIButton.mouseClick(GUIButton.java:22)
[15:22:21]		at com.maddox.gwindow.GWindow._mouseButton(GWindow.java:556)
[15:22:21]		at com.maddox.gwindow.GWindowRoot.doMouseButton(GWindowRoot.java:251)
[15:22:21]		at com.maddox.gwindow.GWindowManager.doMouseButton(GWindowManager.java:69)
[15:22:21]		at com.maddox.il2.engine.GUIWindowManager.msgMouseButton(GUIWindowManager.java:126)
[15:22:21]		at com.maddox.rts.MsgMouse.invokeListener(MsgMouse.java:98)
[15:22:21]		at com.maddox.rts.Message._send(Message.java:1217)
[15:22:21]		at com.maddox.rts.Message.sendToObject(Message.java:1191)
[15:22:21]		at com.maddox.rts.Message.sendToArray(Message.java:1147)
[15:22:21]		at com.maddox.rts.Message.sendTo(Message.java:1128)
[15:22:21]		at com.maddox.rts.Message.trySend(Message.java:1115)
[15:22:21]		at com.maddox.rts.Time.loopMessages(Time.java:180)
[15:22:21]		at com.maddox.rts.RTSConf.loopMsgs(RTSConf.java:101)
[15:22:21]		at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.java:131)
[15:22:21]		at com.maddox.il2.game.Main.exec(Main.java:449)
[15:22:21]		at com.maddox.il2.game.GameWin3D.main(GameWin3D.java:235)
[15:22:26]	java.lang.ArrayIndexOutOfBoundsException
[15:22:26]		at com.maddox.il2.gui.GUIQuick$ItemWing.setWeapon(GUIQuick.java:917)
[15:22:26]		at com.maddox.il2.gui.GUIQuick$WComboLoadout.notify(GUIQuick.java:659)
[15:22:26]		at com.maddox.gwindow.GWindowComboControl.setSelected(GWindowComboControl.java:129)
[15:22:26]		at com.maddox.gwindow.GWindowComboControl$ListArea.mouseButton(GWindowComboControl.java:235)
[15:22:26]		at com.maddox.gwindow.GWindow._mouseButton(GWindow.java:569)
[15:22:26]		at com.maddox.gwindow.GWindowRoot.doMouseButton(GWindowRoot.java:251)
[15:22:26]		at com.maddox.gwindow.GWindowManager.doMouseButton(GWindowManager.java:69)
[15:22:26]		at com.maddox.il2.engine.GUIWindowManager.msgMouseButton(GUIWindowManager.java:126)
[15:22:26]		at com.maddox.rts.MsgMouse.invokeListener(MsgMouse.java:98)
[15:22:26]		at com.maddox.rts.Message._send(Message.java:1217)
[15:22:26]		at com.maddox.rts.Message.sendToObject(Message.java:1191)
[15:22:26]		at com.maddox.rts.Message.sendToArray(Message.java:1147)
[15:22:26]		at com.maddox.rts.Message.sendTo(Message.java:1128)
[15:22:26]		at com.maddox.rts.Message.trySend(Message.java:1115)
[15:22:26]		at com.maddox.rts.Time.loopMessages(Time.java:180)
[15:22:26]		at com.maddox.rts.RTSConf.loopMsgs(RTSConf.java:101)
[15:22:26]		at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.java:131)
[15:22:26]		at com.maddox.il2.game.Main.exec(Main.java:449)
[15:22:26]		at com.maddox.il2.game.GameWin3D.main(GameWin3D.java:235)
Пытаюсь "выдернуть" FW-190A-6R8 из Claymore's Fw-190&Ta-152 Mega Pack, но пока "не выходит каменный цветок" © Ну, т. е. игра загружается, но вот при попытке выбрать крафт вылезают - насколько мну понимаю - проблемы с вооружением
__________________
deSAD вне форума   Ответить с цитированием
Старый 13.05.2018, 18:50   #340
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,199
По умолчанию

Цитата:
Сообщение от deSAD Посмотреть сообщение
Не подскажете ли, камераден, как бы такую бяку вылечить?..
В первую очередь надо класс проверять. Если конструкция такая:

Код:
        try
        {
            ArrayList arraylist = new ArrayList();
            Property.set(class1, "weaponsList", arraylist);
            HashMapInt hashmapint = new HashMapInt();
            Property.set(class1, "weaponsMap", hashmapint);
            byte byte0 = 38;
            Aircraft._WeaponSlot a_lweaponslot[] = new      Aircraft._WeaponSlot[byte0];
            String s = "default";
То " byte byte0 = 38;" количество пивотов, куда вешается вооружение, а код:

a_lweaponslot[36] = new Aircraft._WeaponSlot(7, "RocketGunFlare_gn16", 120);
a_lweaponslot[37] = new Aircraft._WeaponSlot(8, "RocketGunChaff_gn16", 120);

занимает эти пивоты. количество считается от 1 до N (в примере до 38), а индекс пивота от 0 до N-1 (в примере - 37). Если добавить пивот 38 - будет подобная ошибка. Иногда декомпилятор в эту модную конструкцию добавляет строки вида

Код:
weaponsRegister(cls, "1xfab2502xrrab3", new String[] { "MGunBrowning50k 350","MGunBrowning50k 350","MGunBrowning50k 350","MGunBrowning50k 350","MGunBrowning50k 350","MGunBrowning50k 350",     "MGunBrowning50t 400","MGunBrowning50t 400",     "MGunBrowning303t 400",     "BombGunRRAB3","BombGunRRAB3",null,null,null,null,null,null,null,null,"BombGunFAB250", null, null, null   });
Среди "null" может тоже втесаться ошибка.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru