Тема: ДБ-3ТП
Показать сообщение отдельно
Старый 23.01.2015, 13:44   #110
The Radge
Местный
 
Регистрация: 27.02.2014
Адрес: г. Балашиха
Сообщений: 994
Отправить сообщение для The Radge с помощью Skype™
По умолчанию

ПС: все эти косяки с турелями из-за радиста...
Он вообще нужен на этом самолёте?..
В принципе, это рудимент аж от Ил-4.. Пытаются его разными образами впихнуть во все турели...
PHP код:
    public void onAircraftLoaded()
    {
        
super.onAircraftLoaded();
        
setRadist(0, 0);
        
setRadist(1, 0);
        
setRadist(2, 0);
        
hierMesh().chunkVisible("Turret3a_D0", false);
    } 
PHP код:
    public void update(float f)
    {
        if(
Time.current() > tme)
        {
            
tme = Time.current() + World.Rnd().nextLong(1000L, 5000L);
            if(
FM.turret.length != 0)
            {
                
Object obj = null;
                if(
FM.turret[0].bIsOperable != (radist[1] == 0))
                {
                    
Actor actor = FM.turret[0].target;
                    if(
actor != null)
                    {
                        
setRadist(1, 1);
                    } else
                    {
                        
Actor actor1 = FM.turret[1].target;
                        if(
actor1 == null)
                            
actor1 = FM.turret[2].target;
                        if(
actor1 != null)
                        {
                            
setRadist(1, 1);
                            
FM.turret[0].target = actor1;
                        } else
                        {
                            
setRadist(1, 0);
                        }
                    }
                }
                if(
FM.turret[1].bIsOperable)
                {
                    
Actor actor2 = FM.turret[1].target;
                    if(
actor2 != null && Actor.isValid(actor2))
                    {
                        
pos.getAbs(tmpLoc2);
                        
actor2.pos.getAbs(tmpLoc3);
                        
tmpLoc2.transformInv(tmpLoc3.getPoint());
                        if(
tmpLoc3.getPoint().z < 0.0D)
                            
setRadist(2, 1);
                    }
                } else
                if(
FM.turret[2].bIsOperable)
                {
                    
Actor actor3 = FM.turret[2].target;
                    if(
actor3 != null && Actor.isValid(actor3))
                    {
                        
pos.getAbs(tmpLoc2);
                        
actor3.pos.getAbs(tmpLoc3);
                        
tmpLoc2.transformInv(tmpLoc3.getPoint());
                        if(
tmpLoc3.getPoint().z > 0.0D)
                            
setRadist(2, 0);
                    }
                }
            }
        }
        
super.update(f);
    } 
PHP код:
    private void setRadist(int i, int j)
    {
        
radist[i] = j;
        if(
FM.AS.astatePilotStates[i] > 90)
            return;
        switch(
i)
        {
        default:
            break;
        case 
1: // '\001'
            
hierMesh().chunkVisible("Pilot2_D0", false);
            
hierMesh().chunkVisible("Pilot2a_D0", false);
            
hierMesh().chunkVisible("HMask2_D0", false);
            
hierMesh().chunkVisible("HMask2a_D0", false);
            
FM.turret[0].bIsOperable = false;
            switch(
j)
            {
            case 
0: // '\0'
                
hierMesh().chunkVisible("Pilot2_D0", true);
                
hierMesh().chunkVisible("HMask2_D0", FM.Loc.z > 3000D);
                break;
            case 
1: // '\001'
                
hierMesh().chunkVisible("Pilot2a_D0", true);
                
hierMesh().chunkVisible("HMask2a_D0", FM.Loc.z > 3000D);
                
FM.turret[0].bIsOperable = true;
                break;
            }
            break;
        case 
2: // '\002'
            
hierMesh().chunkVisible("Pilot3_D0", false);
            
hierMesh().chunkVisible("Pilot3a_D0", false);
            
hierMesh().chunkVisible("HMask3_D0", false);
            
hierMesh().chunkVisible("HMask3a_D0", false);
            
FM.turret[1].bIsOperable = false;
            
FM.turret[2].bIsOperable = false;
            switch(
j)
            {
            case 
0: // '\0'
                
hierMesh().chunkVisible("Pilot3_D0", true);
                
hierMesh().chunkVisible("HMask3_D0", FM.Loc.z > 3000D);
                
FM.turret[1].bIsOperable = true;
                break;
            case 
1: // '\001'
                
hierMesh().chunkVisible("Pilot3a_D0", true);
                
hierMesh().chunkVisible("HMask3a_D0", FM.Loc.z > 3000D);
                
FM.turret[2].bIsOperable = true;
                break;
            }
            break;
        }
    } 
Не доходит до меня, на кой это всё нужно...
Но можно считать, что проблема решена.
Эти элементы я удалю из класса, мне лишь интересно, кто будет против.
Спасибо за внимание.
__________________

_____________________________

Я ВКонтакте - https://vk.com/the_radge
The Radge вне форума   Ответить с цитированием