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

Для тех кто для переписывает коды ракет Хоминг -
для того что бы ракеты не ловили всё что шевелиться и даже стоит по стойке смирно, а только сбивали самолёты, можно заменить часть кода на такую конструкцию:
PHP код:
КОД:
public 
boolean interpolateStep()
    {
        
float f Time.tickLenFs();
        
float f1 = (float)getSpeed((Vector3d)null);
        
f1 += (320F f1) * 0.1F f;
        
pos.getAbs(p, or);
        
v.set(1.0D0.0D0.0D);
        or.
transform(v);
        
v.scale(f1);
        
setSpeed(v);
        
p.+= v.* (double)f;
        
p.+= v.* (double)f;
        
p.+= v.* (double)f;
        if(
isNet() && isNetMirror())
        {
            
pos.setAbs(p, or);
            return 
false;
        }
        if(
Time.current() > tStart 350L)
            if(!
isValid(victim))
            {
                if((
victim NearestTargets.getEnemy(0, -1p14000D0)) != null)
                {
                    if(
victim instanceof BridgeSegment)
                        
victim null;
                    else
                    if(
victim instanceof Soldier)
                        
victim null;
                    else
                    if(
victim instanceof Paratrooper)
                        
victim null;
                    else
                    if(
victim instanceof WeakBody)
                        
victim null;
                    else                                       
                    if(
victim instanceof ArtilleryGeneric)
                        
victim null;                          
                    else
                    if(
victim instanceof TankGeneric)
                        
victim null;
                    else               
                    if(
victim instanceof CarGeneric)
                        
victim null;
                    else
                    if(
victim instanceof PlaneGeneric)
                        
victim null;
                    else
                    if(
victim instanceof BeaconGeneric)
                        
victim null;
                    else
                    if(
victim instanceof AeroanchoredGeneric)
                        
victim null;
                    else                                       
                    if(
getOwner().getArmy() == victim.getArmy())
                        if(
victim instanceof Aircraft)
                            
victim null;                        
                    if(
victim != null)
                    {
                        
victim.pos.getAbs(pT);
                        
pT.sub(p);
                        or.
transformInv(pT);
                        if(
pT.pT.4D || pT.< -pT.4D || pT.pT.4D || pT.< -pT.4D)
                            
victim null;
                    }
                }
                or.
increment(0.0F0.0F720F f);
            } else
            {
                
victim.pos.getAbs(pT);
                
pT.sub(p);
                or.
transformInv(pT);
                if(
pT.0.0D)
                {
                    if(
pT.0.10000000000000001D)
                        
deltaAzimuth = -1F;
                    if(
pT.< -0.10000000000000001D)
                        
deltaAzimuth 1.0F;
                    if(
pT.< -0.10000000000000001D)
                        
deltaTangage = -1F;
                    if(
pT.0.10000000000000001D)
                        
deltaTangage 1.0F;
                    or.
increment(60F deltaAzimuth60F deltaTangage720F f);
                    
deltaAzimuth deltaTangage 0.0F;
                } else
                {
                    
victim null;
                }
            }
        
pos.setAbs(p, or);
        return 
false;
    } 
ПРОПЕРТИСЫ:
PHP код:
import com.maddox.JGP.*;
import com.maddox.JGP.Point3d;
import com.maddox.JGP.Vector3d;
import com.maddox.il2.ai.World;
import com.maddox.il2.objects.air.Aircraft;
import com.maddox.il2.ai.air.NearestTargets;
import com.maddox.il2.ai.air.Pilot;
import com.maddox.il2.ai.ground.TgtTank;
import com.maddox.il2.engine.*;
import com.maddox.il2.fm.FlightModel;
import com.maddox.il2.fm.RealFlightModel;
import com.maddox.il2.game.Main3D;
import com.maddox.il2.game.Selector;
import com.maddox.il2.objects.weapons.RocketX5L.Master;
import com.maddox.il2.objects.weapons.RocketX5L.Mirror;
import com.maddox.il2.objects.air.Aircraft;
import com.maddox.il2.objects.air.Paratrooper;
import com.maddox.il2.objects.bridges.BridgeSegment;
import com.maddox.il2.objects.humans.Soldier;
import com.maddox.il2.objects.ships.BigshipGeneric;
import com.maddox.il2.objects.ships.WeakBody;
import com.maddox.il2.objects.vehicles.artillery.ArtilleryGeneric;
import com.maddox.il2.objects.vehicles.tanks.TankGeneric;
import com.maddox.il2.objects.vehicles.cars.CarGeneric;
import com.maddox.il2.objects.vehicles.planes.PlaneGeneric;
import com.maddox.il2.objects.vehicles.radios.BeaconGeneric;
import com.maddox.il2.objects.vehicles.aeronautics.AeroanchoredGeneric;
import com.maddox.rts.*; 
PHP код:
СТАРТ:
public 
void start(float fint i)
    {
        
Actor actor pos.base();
        if(
isValid(actor) && (actor instanceof Aircraft))
        {
            if(
actor.isNetMirror())
            {
                
destroy();
                return;
            }
            
net = new RocketX5L.Master(this);
        }
        
doStart(f);
    }

    private 
void doStart(float f)
    {
        
super.start(-1F0);
        
fm = ((Aircraft)getOwner()).FM;
        
tStart Time.current();
        if(
Config.isUSE_RENDER())
            
flame.drawing(true);
        
pos.getAbs(p, or);
        or.
setYPR(or.getYaw(), or.getPitch(), 0.0F);
        
pos.setAbs(p, or);
        if(
isNet() && isNetMirror())
            return;
        if(
getOwner() == World.getPlayerAircraft() && ((RealFlightModel)fm).isRealMode())
            
victim Selector.look(truefalseMain3D.cur3D()._camera3D[Main3D.cur3D().getRenderIndx()], World.getPlayerAircraft().getArmy(), -1World.getPlayerAircraft(), false);                     
    } 
Всем пожалуйста!
-------------------
П.С. Ещё нужно убрать захват командного пункта на аэродроме. Бывает попадает.
Последняя редакция 28 ноября.

Последний раз редактировалось Vasya; 28.11.2015 в 08:26.
Vasya вне форума   Ответить с цитированием