Показать сообщение отдельно
Старый 20.12.2017, 06:10   #322
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,084
Радость

Цитата:
Сообщение от 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 вне форума   Ответить с цитированием