AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моделирование и конструирование (http://forum.aviaskins.com/forumdisplay.php?f=18)
-   -   Несколько вопросов по Java (http://forum.aviaskins.com/showthread.php?t=3499)

izgoj 23.02.2015 22:37

вместо com/ просто точка

Skvorez 23.02.2015 22:39

Цитата:

Сообщение от izgoj (Сообщение 137697)
вместо com/ просто точка

проверил, так и есть

диск\ПУТЬ\ (команда)java -cp . -jar classresolver.jar .

все работает:good:

Спасибо:beer:

С уважением

Vasya 20.03.2015 21:31

Может кому пригодиться, пусть висят ссылки:
Цитата:

Сообщение от Vasya (Сообщение 138997)
Тут: - http://www.oracle.com/technetwork/ja...s-2133151.html - есть любые джавы.
Тут: - http://java-development-kit-64.en.so...ad#downloading - безплатная закачка.
:ok:

Иловская джава( jdk1.3.1_20 ) тут:
- http://www.oracle.com/technetwork/ja...13-419413.html -

Skvorez 05.04.2015 19:04

http://s010.radikal.ru/i314/1504/8e/03bf494de18a.jpg

компелиться не хочет. что делаю не так?

tarakan67 05.04.2015 19:47

public abstract class Do215 extends FLAME2_SCHEME2a
Что за класс FLAME2_SCHEME2a?

Skvorez 05.04.2015 20:22

Цитата:

Сообщение от tarakan67 (Сообщение 139474)
public abstract class Do215 extends FLAME2_SCHEME2a
Что за класс FLAME2_SCHEME2a?

на скрепке

Molva 05.04.2015 20:37

Цитата:

Сообщение от Skvorez (Сообщение 139471)
компелиться не хочет. что делаю не так?

Можно попробовать вставить строку.

Цитата:

package com.maddox.il2.objects.air;

import com.maddox.il2.engine.ActorHMesh;
import com.maddox.il2.engine.HierMesh;
import com.maddox.rts.Property;
import com.maddox.rts.Finger;
import com.maddox.util.HashMapInt;
import java.util.ArrayList;

Skvorez 05.04.2015 20:45

Цитата:

Сообщение от Molva (Сообщение 139478)
Можно попробовать вставить строку.

Спасибо Олег все получилось:)

Molva 05.04.2015 20:53

Цитата:

Сообщение от Skvorez (Сообщение 139479)
Спасибо Олег все получилось:)

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

Skvorez 05.04.2015 21:06

Цитата:

Сообщение от Molva (Сообщение 139480)
Пару дней назад была такая же ситуация. Пытался написать класс для Р-3. Так что и вспоминать не пришлось где видел.

Р-3 или П-3? Заинтриговал. Картинку покажи:)

зы: За помощь гран мерси

Molva 05.04.2015 21:33

Цитата:

Сообщение от Skvorez (Сообщение 139481)
Р-3 или П-3? Заинтриговал. Картинку покажи:)

Я импортные модели рисую крайне редко. И с английским туго. Так что все на русском.

http://s019.radikal.ru/i603/1504/de/063ecec1830a.jpg
Цитата:

зы: За помощь гран мерси
Не за что.

Skvorez 05.04.2015 22:05

Цитата:

Сообщение от Molva (Сообщение 139483)
Я импортные модели рисую крайне редко. И с английским туго. Так что все на русском.

http://s019.radikal.ru/i603/1504/de/063ecec1830a.jpg

Не за что.

Крастотища. Можно будет басмачей в Туркестане и Чечне гонять:D Еще бы И-4 Туполева и И-5 Поликарпова и РД-25. И можно стать Чкаловым:D Правда тогда еще нужен И-180-1;)

Molva 05.04.2015 22:50

Цитата:

Сообщение от Skvorez (Сообщение 139484)
Можно будет басмачей в Туркестане и Чечне гонять.

Это под большим вопросом. Для этого МОД нужен, а браться за что-то большое пока лень. Як-3 полтора года без движения и пока, наверно, время не пришло.
Цитата:

Еще бы И-4 Туполева и И-5 Поликарпова и РД-25. И можно стать Чкаловым:D Правда тогда еще нужен И-180-1;)
Опять же модель не проблема, но нужен МОД.

Vasya 27.11.2015 18:43

Для тех кто для переписывает коды ракет Хоминг -
для того что бы ракеты не ловили всё что шевелиться и даже стоит по стойке смирно, а только сбивали самолёты, можно заменить часть кода на такую конструкцию:
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 27.11.2015 18:53

Или же такая конструкция:
PHP код:

// Source File Name:   RocketX7homing_Langstrecken.java

package com.maddox.il2.objects.weapons;

import com.maddox.JGP.*;
import com.maddox.JGP.Point3d;
import com.maddox.JGP.Vector3d;
import com.maddox.il2.ai.World;
import com.maddox.il2.ai.*;
import com.maddox.il2.ai.air.*;
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.air.Aircraft;
import com.maddox.il2.objects.air.TypeX4Carrier;
import com.maddox.rts.*;

// Referenced classes of package com.maddox.il2.objects.weapons:
//            RocketX4_F

public class RocketX7homing_Langstrecken extends RocketX4_F
{

    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(
victim == null || !Actor.isValid(victim))
            {
                
victim NearestTargets.getEnemy(0, -1p10000DgetOwner().getArmy());
            } 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(45F deltaAzimuth45F deltaTangage720F f);
                    
deltaAzimuth deltaTangage 0.0F;
                } else
                {
                    
victim null;
                }
            }
        
pos.setAbs(p, or);
        return 
false;
    }
        

    public 
RocketX7homing_Langstrecken()
    {
        
evasive false;
        
victim null;
        
fm null;
        
tStart 0L;
        
deltaAzimuth 0.0F;
        
deltaTangage 0.0F;
        
victim null;
    }

    public 
RocketX7homing_Langstrecken(Actor actorNetChannel netchannelint iPoint3d point3dOrient orientfloat f)
    {
        
evasive false;
        
victim null;
        
fm null;
        
tStart 0L;
        
net = new RocketX4_F.Mirror(thisnetchanneli);
        
pos.setAbs(point3dorient);
        
pos.reset();
        
pos.setBase(actor, (Hook)nulltrue);
        
doStart(-1F);
        
v.set(1.0D0.0D0.0D);
        
orient.transform(v);
        
v.scale(f);
        
setSpeed(v);
        
collide(false);
    }

    public 
void start(float fint i)
    {
        
Actor actor pos.base();
        if(
isValid(actor) && (actor instanceof Aircraft))
        {
            if(
actor.isNetMirror())
            {
                
destroy();
                return;
            }
            
net = new RocketX4_F.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(
Config.isUSE_RENDER())
        {
            
breakSounds();
            
Eff3DActor.setIntesity(super.smoke0.0F);
            
Eff3DActor.setIntesity(super.sprite0.0F);
            
super.flame.drawing(false);
            
super.light.light.setEmit(0.0F0.0F);
        }               
    }

    protected 
void doExplosion(Actor actorString s)
    {
        
super.pos.getTime(Time.current(), p);
        
MsgExplosion.send(actorspgetOwner(), 45F1.0F1400F);
        
super.doExplosion(actors);
    }

    protected 
void doExplosionAir()
    {
        
super.pos.getTime(Time.current(), p);
        
MsgExplosion.send((Actor)null, (String)nullpgetOwner(), 45F1.0F1400F);
        
super.doExplosionAir();
    }

    static 
java.lang.Class _mthclass$(java.lang.String s)
    {
        
java.lang.Class class1;
        try
        {
            
class1 java.lang.Class.forName(s);
        }
        catch(
java.lang.ClassNotFoundException classnotfoundexception)
        {
            throw new 
NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return 
class1;
    }
    
    private 
FlightModel fm;
    private static 
Orient or = new Orient();
    private static 
Point3d p = new Point3d();
    private static 
Point3d pT = new Point3d();
    private static 
Vector3d v = new Vector3d();
    private 
long tStart;
    private 
float deltaAzimuth;
    private 
float deltaTangage;
    private 
float deltaX;
    private 
Actor victim;
    private 
boolean evasive;
    private static 
AirGroup airgroup null;
    private static 
Pilot pilot null;

    static 
    {
        Class 
class1 com.maddox.il2.objects.weapons.RocketX7homing_Langstrecken.class;                
        
Property.set(class1"timeLife"400F);
        
Property.set(class1"timeFire"200F);
        
Property.set(class1"radius"58F);        
        
Property.set(class1"force"15712F);
        
Property.set(class1"power"17.5F);
        
Property.set(class1"powerType"1);
        
Property.set(class1"kalibr"0.22F);
        
Property.set(class1"massa"90F);
        
Property.set(class1"massaEnd"67.5F);
        
Spawn.add(class1, new RocketX4_F.SPAWN());
    }



Vasya 27.11.2015 18:57

Это основной класс:
PHP код:

// Source File Name:   RocketX4_F.java

package com.maddox.il2.objects.weapons;

import com.maddox.JGP.*;
import com.maddox.il2.ai.MsgExplosion;
import com.maddox.il2.ai.World;
import com.maddox.il2.ai.air.NearestTargets;
import com.maddox.il2.ai.air.Pilot;
import com.maddox.il2.engine.*;
import com.maddox.il2.fm.FlightModel;
import com.maddox.il2.fm.RealFlightModel;
import com.maddox.il2.objects.air.Aircraft;
import com.maddox.il2.objects.air.TypeX4Carrier;
import com.maddox.rts.*;
import java.io.IOException;
import java.io.PrintStream;

// Referenced classes of package com.maddox.il2.objects.weapons:
//            Rocket

public class RocketX4_F extends Rocket
{
    static class 
SPAWN
        
implements NetSpawn
    
{

        public 
void netSpawn(int iNetMsgInput netmsginput)
        {
            
NetObj netobj netmsginput.readNetObj();
            if(
netobj == null)
                return;
            try
            {
                
Actor actor = (Actor)netobj.superObj();
                
Point3d point3d = new Point3d(netmsginput.readFloat(), netmsginput.readFloat(), netmsginput.readFloat());
                
Orient orient = new Orient(netmsginput.readFloat(), netmsginput.readFloat(), 0.0F);
                
float f netmsginput.readFloat();
                
RocketX4_F RocketX4_f = new RocketX4_F(actornetmsginput.channel(), ipoint3dorientf);
            }
            catch(
Exception exception)
            {
                
System.out.println(exception.getMessage());
                
exception.printStackTrace();
            }
        }

        
SPAWN()
        {
        }
    }

    class 
Mirror extends ActorNet
    
{

        public 
void msgNetNewChannel(NetChannel netchannel)
        {
            if(!
Actor.isValid(actor()))
                return;
            if(
netchannel.isMirrored(this))
                return;
            try
            {
                if(
netchannel.userState == 0)
                {
                    
NetMsgSpawn netmsgspawn actor().netReplicate(netchannel);
                    if(
netmsgspawn != null)
                    {
                        
postTo(netchannelnetmsgspawn);
                        
actor().netFirstUpdate(netchannel);
                    }
                }
            }
            catch(
Exception exception)
            {
                
NetObj.printDebug(exception);
            }
        }

        public 
boolean netInput(NetMsgInput netmsginput)
            
throws IOException
        
{
            if(
netmsginput.isGuaranted())
                return 
false;
            if(
isMirrored())
            {
                
out.unLockAndSet(netmsginput0);
                
postReal(Message.currentTime(true), out);
            }
            
RocketX4_F.p.netmsginput.readFloat();
            
RocketX4_F.p.netmsginput.readFloat();
            
RocketX4_F.p.netmsginput.readFloat();
            
int i netmsginput.readShort();
            
int j netmsginput.readShort();
            
float f = -(((float)180F) / 32000F);
            
float f1 = ((float)90F) / 32000F;
            
RocketX4_F.or.set(ff10.0F);
            
pos.setAbs(RocketX4_F.pRocketX4_F.or);
            return 
true;
        }

        
NetMsgFiltered out;

        public 
Mirror(Actor actorNetChannel netchannelint i)
        {
            
super(actornetchanneli);
            
out = new NetMsgFiltered();
        }
    }

    class 
Master extends ActorNet
        
implements NetUpdate
    
{

        public 
void msgNetNewChannel(NetChannel netchannel)
        {
            if(!
Actor.isValid(actor()))
                return;
            if(
netchannel.isMirrored(this))
                return;
            try
            {
                if(
netchannel.userState == 0)
                {
                    
NetMsgSpawn netmsgspawn actor().netReplicate(netchannel);
                    if(
netmsgspawn != null)
                    {
                        
postTo(netchannelnetmsgspawn);
                        
actor().netFirstUpdate(netchannel);
                    }
                }
            }
            catch(
Exception exception)
            {
                
NetObj.printDebug(exception);
            }
        }

        public 
boolean netInput(NetMsgInput netmsginput)
            
throws IOException
        
{
            return 
false;
        }

        public 
void netUpdate()
        {
            try
            {
                
out.unLockAndClear();
                
pos.getAbs(RocketX4_F.pRocketX4_F.or);
                
out.writeFloat((float)RocketX4_F.p.x);
                
out.writeFloat((float)RocketX4_F.p.y);
                
out.writeFloat((float)RocketX4_F.p.z);
                
RocketX4_F.or.wrap();
                
int i = (int)((RocketX4_F.or.getYaw() * 32000F) / 180F);
                
int j = (int)((RocketX4_F.or.tangage() * 32000F) / 90F);
                
out.writeShort(i);
                
out.writeShort(j);
                
post(Time.current(), out);
            }
            catch(
Exception exception)
            {
                
NetObj.printDebug(exception);
            }
        }

        
NetMsgFiltered out;

        public 
Master(Actor actor)
        {
            
super(actor);
            
out = new NetMsgFiltered();
        }
    }


    public 
boolean interpolateStep()
    {
        
float f Time.tickLenFs();
        
float f1 = (float)getSpeed(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(
Actor.isValid(getOwner()))
        {
            if((
getOwner() != World.getPlayerAircraft() || !((RealFlightModel)fm).isRealMode()) && (fm instanceof Pilot))
            {
                
Pilot pilot = (Pilot)fm;
                if(
pilot.target != null)
                {
                    
pilot.target.Loc.get(pT);
                    
pT.sub(p);
                    or.
transformInv(pT);
                    if(
pT.> -10D)
                    {
                        
double d Aircraft.cvt(fm.Skill0.0F3F15F0.0F);
                        if(
pT.d)
                            ((
TypeX4Carrier)fm.actor).typeX4CAdjSideMinus();
                        if(
pT.< -d)
                            ((
TypeX4Carrier)fm.actor).typeX4CAdjSidePlus();
                        if(
pT.< -d)
                            ((
TypeX4Carrier)fm.actor).typeX4CAdjAttitudeMinus();
                        if(
pT.d)
                            ((
TypeX4Carrier)fm.actor).typeX4CAdjAttitudePlus();
                    }
                }
            }
            or.
increment(25F * ((TypeX4Carrier)fm.actor).typeX4CgetdeltaAzimuth(), 25F * ((TypeX4Carrier)fm.actor).typeX4CgetdeltaTangage(), 0.0F);
            or.
setYPR(or.getYaw(), or.getPitch(), 0.0F);
            ((
TypeX4Carrier)fm.actor).typeX4CResetControls();
        }
        
pos.setAbs(p, or);
        if(
Time.current() > tStart)
        {
            
hunted NearestTargets.getEnemy(9, -1p800D0);
            if(
Actor.isValid(hunted))
            {
                
float f2 = (float)p.distance(hunted.pos.getAbsPoint());
                if((
hunted instanceof Aircraft) && (f2 20F || f2 65F))
                {
                    
doExplosionAir();
                    
postDestroy();
                    
collide(false);
                    
drawing(false);
                }
                
prevd f2;
            } else
            {
                
prevd 1000F;
            }
        }
        if(!
Actor.isValid(getOwner()) || !(getOwner() instanceof Aircraft))
        {
            
doExplosionAir();
            
postDestroy();
            
collide(false);
            
drawing(false);
            return 
false;
        } else
        {
            return 
false;
        }
    }

    public 
RocketX4_F()
    {
        
fm null;
        
tStart 0L;
        
prevd 1000F;
    }

    public 
RocketX4_F(Actor actorNetChannel netchannelint iPoint3d point3dOrient orientfloat f)
    {
        
fm null;
        
tStart 0L;
        
prevd 1000F;
        
net = new Mirror(thisnetchanneli);
        
pos.setAbs(point3dorient);
        
pos.reset();
        
pos.setBase(actornulltrue);
        
doStart(-1F);
        
v.set(1.0D0.0D0.0D);
        
orient.transform(v);
        
v.scale(f);
        
setSpeed(v);
        
collide(false);
    }

    public 
void start(float fint i)
    {
        
Actor actor pos.base();
        if(
Actor.isValid(actor) && (actor instanceof Aircraft))
        {
            if(
actor.isNetMirror())
            {
                
destroy();
                return;
            }
            
net = new Master(this);
        }
        
doStart(f);
    } 

----------------------------
Ниже продолжение:

Vasya 27.11.2015 18:58

PHP код:

private void doStart(float f)
    {
        
super.start(-1F0);
        
fm = ((Aircraft)getOwner()).FM;
        
tStart Time.current();
        if(
Config.isUSE_RENDER())
        {
            
fl1 Eff3DActor.New(thisfindHook("_NavLightR"), null1.0F"3DO/Effects/Fireworks/FlareRed.eff", -1F);
            
fl2 Eff3DActor.New(thisfindHook("_NavLightG"), null1.0F"3DO/Effects/Fireworks/FlareGreen.eff", -1F);
              
flame.drawing(false);
        }
        
pos.getAbs(p, or);
        or.
setYPR(or.getYaw(), or.getPitch(), 0.0F);
        
pos.setAbs(p, or);
    }

    public 
void destroy()
    {
        if(
isNet() && isNetMirror())
            
doExplosionAir();
        if(
Config.isUSE_RENDER())
        {
            
Eff3DActor.finish(fl1);
            
Eff3DActor.finish(fl2);
        }
        
super.destroy();
    }

    protected 
void doExplosion(Actor actorString s)
    {
        
pos.getTime(Time.current(), p);
        
MsgExplosion.send(actorspgetOwner(), 45F2.0F1550F);
        
super.doExplosion(actors);
    }

    protected 
void doExplosionAir()
    {
        
pos.getTime(Time.current(), p);
        
MsgExplosion.send(nullnullpgetOwner(), 45F2.0F1550F);
        
super.doExplosionAir();
    }

    public 
NetMsgSpawn netReplicate(NetChannel netchannel)
        
throws IOException
    
{
        
NetMsgSpawn netmsgspawn super.netReplicate(netchannel);
        
netmsgspawn.writeNetObj(getOwner().net);
        
Point3d point3d pos.getAbsPoint();
        
netmsgspawn.writeFloat((float)point3d.x);
        
netmsgspawn.writeFloat((float)point3d.y);
        
netmsgspawn.writeFloat((float)point3d.z);
        
Orient orient pos.getAbsOrient();
        
netmsgspawn.writeFloat(orient.azimut());
        
netmsgspawn.writeFloat(orient.tangage());
        
float f = (float)getSpeed(null);
        
netmsgspawn.writeFloat(f);
        return 
netmsgspawn;
    }
static 
java.lang.Class _mthclass$(java.lang.String s)
    {
        
java.lang.Class class1;
        try
        {
            
class1 java.lang.Class.forName(s);
        }
        catch(
java.lang.ClassNotFoundException classnotfoundexception)
        {
            throw new 
NoClassDefFoundError(classnotfoundexception.getMessage());
        }
        return 
class1;
    }

    private 
FlightModel fm;
    private 
Eff3DActor fl1;
    private 
Eff3DActor fl2;
    private static 
Orient or = new Orient();
    private static 
Point3d p = new Point3d();
    private static 
Point3d pT = new Point3d();
    private static 
Vector3d v = new Vector3d();
    private static 
Actor hunted null;
    private 
long tStart;
    private 
float prevd;

    static 
    {
        Class 
class1 com.maddox.il2.objects.weapons.RocketX4_F.class;
        
Property.set(class1"mesh""3do/arms/X-4/mono.sim");
        
Property.set(class1"sprite""3DO/Effects/Tracers/GuidedRocket/Black.eff");
        
Property.set(class1"flame""3do/effects/rocket/mono.sim");
        
Property.set(class1"smoke""3DO/Effects/Tracers/GuidedRocket/White.eff");
        
Property.set(class1"emitColor", new Color3f(1.0F1.0F0.5F));
        
Property.set(class1"emitLen"50F);
        
Property.set(class1"emitMax"1.0F);
        
Property.set(class1"sound""weapon.rocket_132");
        
Property.set(class1"radius"58F);
        
Property.set(class1"timeLife"400F);
        
Property.set(class1"timeFire"200.0F);
        
Property.set(class1"force"15712F);
        
Property.set(class1"power"17.5F);
        
Property.set(class1"powerType"1);
        
Property.set(class1"kalibr"0.22F);
        
Property.set(class1"massa"90F);
        
Property.set(class1"massaEnd"67.5F);
        
Spawn.add(class1, new SPAWN());
    }




---------------
Может кому пригодиться.

The Radge 27.11.2015 21:00

Вася, небольшое замечание относительно того, как ты постишь содержимое классов, я уже когда-то говорил.
Просто удобнее читать, когда ты используешь BB код, типа [QUOTE [/QUOTE

Для Джава классов очень удобно использовать [PHP [/PHP,
это находится справа вверху, когда ты создаешь или редактируешь сообщение ;)

Vasya 28.11.2015 08:09

Цитата:

Сообщение от The Radge (Сообщение 146928)
Вася, небольшое замечание относительно того, как ты постишь содержимое классов, я уже когда-то говорил.
Просто удобнее читать, когда ты используешь BB код, типа [QUOTE [/QUOTE

Для Джава классов очень удобно использовать [PHP [/PHP,
это находится справа вверху, когда ты создаешь или редактируешь сообщение ;)

Покажи мне пожалуйста:ups: на картинке что нужно нажать что бы найти вот эту штуку: [PHP [/PHP
Я уже плохо сображаю как найти этот код.
Цытату то я знаю как вставить, а PHP - не пойму как.
Голова уже глючит. %)
==========================================
:good:
Уже нашёл, УРЯЯЯА!
:konoplya:

The Radge 28.11.2015 10:18

Во как здорово получилось, вишь :good: :pilot:

Skvorez 28.11.2015 22:33

Вложений: 1
Может глянет кто?

[18:20:47] Spawn.get( com.maddox.il2.objects.air.AR_2 ): null
[18:20:47] java.lang.ExceptionInInitializerError: java.lang.NullPointerException
[18:20:47] at com.maddox.il2.objects.air.Aircraft.weaponHooksReg ister(Aircraft.java:2931)
[18:20:47] at com.maddox.il2.objects.air.AR_2.<clinit>(AR_2.java :172)
[18:20:47] at java.lang.Class.forName0(Native Method)
[18:20:47] at java.lang.Class.forName(Unknown Source)
[18:20:47] at com.maddox.rts.Spawn.get(Spawn.java:39)
[18:20:47] at com.maddox.rts.Spawn.get(Spawn.java:28)
[18:20:47] at com.maddox.il2.game.Main.preloadAirClasses(Main.ja va:216)
[18:20:47] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:16 46)
[18:20:47] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:15 79)
[18:20:47] at com.maddox.il2.game.MainWin3D.beginApp(MainWin3D.j ava:212)
[18:20:47] at com.maddox.il2.game.Main.exec(Main.java:432)
[18:20:47] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java: 235)
[18:20:47] java.lang.NoClassDefFoundError
[18:20:47] at java.lang.Class.forName0(Native Method)
[18:20:47] at java.lang.Class.forName(Unknown Source)
[18:20:47] at com.maddox.il2.game.Main.preloadAirClasses(Main.ja va:218)
[18:20:47] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:16 46)
[18:20:47] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:15 79)
[18:20:47] at com.maddox.il2.game.MainWin3D.beginApp(MainWin3D.j ava:212)
[18:20:47] at com.maddox.il2.game.Main.exec(Main.java:432)
[18:20:47] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java: 235)

The Radge 28.11.2015 23:11

Ар-2 классы пока WIP, будут готовы - запощу обязательно.

Skvorez 28.11.2015 23:13

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

Сообщение от The Radge (Сообщение 146951)
Ар-2 классы пока WIP, будут готовы - запощу обязательно.

У меня чет модель теперь не собирается. Пустой экран. Может глянешь?

The Radge 28.11.2015 23:39

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

Skvorez 29.11.2015 08:29

Цитата:

Сообщение от The Radge (Сообщение 146954)
посмотри где меш назначается в классе, убери там приписку _ru
у меня тоже это было, пришлось с бубном танцавать, благо, что недолго.

спасибо

модель в меню появилась как летаб, но при загрузке краш 30%. Чето с хуками оружия. Помощь нужна

[4:56:01] FM called 'FlightModels/SB-2M-103.fmd' is being loaded from Alternative File: 'gui/game/buttons'
[4:56:01] FM called 'FlightModels/M-100_Series.emd' is being loaded from Alternative File: 'gui/game/buttons'
[4:56:01] Motor resolveFromFile starter = 0
[4:56:01] Motor resolveFromFile starter = 0
[4:56:01] FM called 'FlightModels/M-100_Series.emd' is being loaded from Alternative File: 'gui/game/buttons'
[4:56:01] Motor resolveFromFile starter = 0
[4:56:01] Motor resolveFromFile starter = 0
[4:56:01] FM called 'FlightModels/SB-2M-103.fmd' is being loaded from Alternative File: 'gui/game/buttons'
[4:56:01] Hook '_MGUN04' NOT found in mesh of class com.maddox.il2.objects.air.AR_2
[4:56:08] java.lang.NoSuchFieldError: countryBritainBlue
[4:56:08] at com.maddox.il2.objects.air.PaintSchemeBCSPar01.typ edNameNum(PaintSchemeBCSPar01.java:25)
[4:56:08] at com.maddox.il2.objects.air.PaintScheme.typedName(P aintScheme.java:156)
[4:56:08] at com.maddox.il2.objects.air.PaintScheme.typedName(P aintScheme.java:143)
[4:56:08] at com.maddox.il2.objects.air.Aircraft.preparePaintSc heme(Aircraft.java:2267)
[4:56:08] at com.maddox.il2.ai.Wing.load(Wing.java:154)
[4:56:08] at com.maddox.il2.game.Mission.loadWings(Mission.java :1344)
[4:56:08] at com.maddox.il2.game.Mission._load(Mission.java:762 )
[4:56:08] at com.maddox.il2.game.Mission.access$600(Mission.jav a:120)
[4:56:08] at com.maddox.il2.game.Mission$BackgroundLoader.run(M ission.java:463)
[4:56:08] at com.maddox.rts.BackgroundTask.doRun(BackgroundTask .java:155)
[4:56:08] at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.ja va:108)
[4:56:08] at com.maddox.il2.game.Main.exec(Main.java:449)
[4:56:08] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java: 235)

yt2 17.12.2015 18:56

Ай нид хелп. Ситуёвина: имеем сборку модную и один самолёт при каких-то условиях вызывает зависание игры, полное. В консоль не заглянуть при зависании, после выхода лог файл пустой. Непосредственно до зависания никакой ругани в консоли не наблюдается. Летит, стреляет, сбивается (или бомбит чего-то),а потом происходит какое-то событие, и бац - зависон.
Смысл вопроса - как выполнять отладку без информации из консоли?

NB79 17.12.2015 23:52

Если код можешь править, то сделай себе вывод на консоль диагностических сообщений при попадании в методы класса этого самолёта. По крайней мере сможешь видеть, в каком месте последний раз были. Потом там посмотреть что внутри делается и что из этого метода вызывается. Потом в этих вызываемых методах (если там есть вызовы наружу) сообщение при входе в метод. Последнее сообщение на консоли даст последний вход в метод, в котором подвисли.

Это самый простой способ в ситуации, когда отладочных средств нет. Чем Яву отлаживают не знаю, можно по-гуглить. Но не факт, что это будет просто.

UPD: Под консолью подразумеваю чат игровой, сообщения, которые сверху появляются.

carsmaster 18.12.2015 03:40

Цитата:

Сообщение от yt2 (Сообщение 147433)
Ай нид хелп. Ситуёвина: имеем сборку модную и один самолёт при каких-то условиях вызывает зависание игры, полное.
В консоль не заглянуть при зависании, после выхода лог файл пустой

Может поможет все таки записать к лог какую-то информацию

Instant Log File Output

http://www.sas1946.com/main/index.ph...c,19308.0.html

yt2 18.12.2015 10:09

Кармастер! Отлично!
Действительно этот мод на запись лог-файла помог. Теперь имёю на руках ругань во время краша в лог-файле )

yt2 20.12.2015 00:47

Правда как оказалось ругань была от самого мода лог-файлов )
Он негодник для 4.10 оказывается был. Но ничего, переписал его под 4.13 и успешно устранил проблему зависания самолёта.

Vasya 20.12.2015 01:56

Цитата:

Сообщение от Skvorez (Сообщение 146977)
спасибо

модель в меню появилась как летаб, но при загрузке краш 30%. Чето с хуками оружия. Помощь нужна

Попробуй так:
Цитата:

Class class1 = com.maddox.il2.objects.air.AR_2.class;
new NetAircraft.SPAWN(class1);
Property.set(class1, "iconFar_shortClassName", "Ar-2");
Property.set(class1, "meshNameDemo", "3DO/Plane/Ar-2(Russian)/hier.him");
Property.set(class1, "meshName", "3DO/Plane/Ar-2(Multi1)/hier.him");
Property.set(class1, "PaintScheme", new PaintSchemeBMPar00());
Property.set(class1, "meshName_ru", "3DO/Plane/Ar-2(Russian)/hier.him");
Property.set(class1, "PaintScheme_ru", new PaintSchemeBCSPar01());
Property.set(class1, "yearService", 1935F);
Property.set(class1, "yearExpired", 1944F);
Property.set(class1, "FlightModel", "FlightModels/SB-2M-103.fmd");
Property.set(class1, "cockpitClass", new Class[] {
com.maddox.il2.objects.air.CockpitSB103.class, com.maddox.il2.objects.air.CockpitSB103_Bombardier .class, com.maddox.il2.objects.air.CockpitSB103_NGunner.cl ass, com.maddox.il2.objects.air.CockpitSB103_BGunner.cl ass
});
Aircraft.weaponTriggersRegister(class1, new int[] {
Сделать в точности как в в оригинале СБ-2.
Или так:
Цитата:

Property.set(class1, "meshName", "3DO/Plane/Ar-2(Multi1)/hier.him");
Property.set(class1, "PaintScheme", new PaintSchemeFMPar01());
А вверху так:
Цитата:

// Referenced classes of package com.maddox.il2.objects.air:
// SBxyz, PaintSchemeFMPar01, Aircraft, Cockpit,
// NetAircraft
УСПЕХОВ!!!

The Radge 20.12.2015 11:18

Цитата:

Сообщение от Vasya (Сообщение 147506)

А вверху так:

Код:

// Referenced classes of package com.maddox.il2.objects.air:
// SBxyz, PaintSchemeFMPar01, Aircraft, Cockpit,
// NetAircraft


Вася, эти строчки ява не читает, потому что они закомментированы.

Vasya 20.12.2015 16:07

Цитата:

Сообщение от The Radge (Сообщение 147515)
Вася, эти строчки ява не читает, потому что они закомментированы.

Практика показывает что читает., когда я дописывал кокпит для Эмиля - вставлял новые ссылки на новые модели что бы отображалось в игре бронестекло - то джава очень ругалась именно на такие строки., пришлось аккуратно повписывать названия других самолётов и в такие, типа закоментированные строки, так же.
Практика часто подправляет теорию.
У меня было когда Ил крашил с пустой модной папкой., вернее - не пустой, а с Модактом 5.30. К Модакту не добавлял ни одного мода, а миссия не грузилась, причём с любым дефолтным самолётом. Сейчас привести лог не могу - удалил, но помню что ругался примерно так: веапонс класс MGunPTB_23_MP_6S не зарегестрирован. Повторюсь - ни один мод - мой или другой какой - не был установлен в папку для модов. Помогла перезагрузка компрьютера. Вот так бывает.

NB79 20.12.2015 17:30

Комментарии игнорируются. В данном конкретном случае написано, что из этого класса имеются ссылки на классы, которые там перечислены. Которые, в свою очередь, присутствуют в сборке com.maddox.il2.objects.air. Наверняка где-то в тексте есть прямые ссылки на эти классы. А комментарий, он комментарий и есть.

Vasya 20.12.2015 21:58

Я написал только то что сам наблюдал при корректировке классов и их компиляции.
Программированию не обучался на курсах, чисто практика и анализ того что получаеться.
Вот как написано(пришлось все нужные названия крафтов вписать в коммент, потому что они и упомянуты в коде класса) в кокпите Эмиля:
Цитата:

import com.maddox.JGP.*;
import com.maddox.il2.ai.AnglesFork;
import com.maddox.il2.ai.World;
import com.maddox.il2.engine.*;
import com.maddox.il2.fm.*;
import com.maddox.rts.Property;
import com.maddox.rts.Time;
import com.maddox.util.HashMapExt;

// Referenced classes of package com.maddox.il2.objects.air:
// CockpitPilot, BF_109E4, BF_109E4N, BF_109E7N,
// BF_109E7, BF_109E1, BF_109E3, BF_109E4B,
// BF_109E7NZ, BF_109E_7, BF_109E_7M, BF_109E_7NM,
// BF_109T_7NM, BF_109T_1, BF_109T_2,
Cockpit,
// AircraftLH

public class CockpitBF_109Ex extends CockpitPilot
{
private class Variables
{
..................................
-----------------------------------------------
П.С.
Поймите: по жилам течёт *оргнунг* - от крови не убежишь.
--------------------------------------------------
Можно попытаться сделать и экономно, но как получиться, может знать только ОМ.

NB79 21.12.2015 00:35

Цитата:

Сообщение от Vasya (Сообщение 147528)
Можно попытаться сделать и экономно, но как получиться, может знать только ОМ.

ОМ к Яве не имеет никакого отношения. :)

Vasya 21.12.2015 15:37

Цитата:

Сообщение от NB79 (Сообщение 147534)
ОМ к Яве не имеет никакого отношения. :)

Имеет - думаю - в молодости на Яве ездили многие, не все доехали. :cool:
-----------------------------------------------------
Усмишка:
*Правильный* ладан в кадиле помагает уловить многие ньюансы образных выражений. :ok:

NB79 21.12.2015 18:41

Цитата:

Сообщение от Vasya (Сообщение 147539)
Имеет - думаю - в молодости на Яве ездили многие, не все доехали. :cool:

ОФФТОП: Ну, это только у него узнать можно. :)

Vasya 22.12.2015 19:38

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

// Decompiled by DJ v3.10.10.93 Copyright 2007 Atanas Neshkov Date: 22.12.2015 18:02:03
// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: BF_109V48.java

package com.maddox.il2.objects.air;

import com.maddox.JGP.Vector3d;
import com.maddox.il2.ai.Wing;
import com.maddox.il2.ai.World;
import com.maddox.il2.engine.HierMesh;
import com.maddox.il2.fm.*;
import com.maddox.il2.game.Main3D;
import com.maddox.il2.objects.Wreckage;
import com.maddox.rts.Property;

// Referenced classes of package com.maddox.il2.objects.air:
// BF_109, CockpitBF_109W, PaintSchemeFMPar03, Aircraft,
// NetAircraft

public class BF_109V48 extends BF_109
{
public BF_109V48()
{
kangle = 0.0F;
flapps = 0.0F;
fMaxKMHSpeedForOpenCanopy = 250F;
bHasBlister = true;
}

public void moveCockpitDoor(float f)
{
hierMesh().chunkSetAngles("Blister1_D0", 0.0F, 80F * f, 0.0F);
}

protected void moveRudder(float f)
{
hierMesh().chunkSetAngles("Rudder1_D0", 0.0F, 20F * f, 0.0F);
hierMesh().chunkSetAngles("Rudder2_D0", 0.0F, 20F * f, 0.0F);
}

protected void moveElevator(float f)
{
hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -20F * f, 0.0F);
hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -20F * f, 0.0F);
}

public void update(float f)
{
if(FM.getSpeed() > 5F)
{
hierMesh().chunkSetAngles("SlatL_D0", 0.0F, Aircraft.cvt(FM.getAOA(), 6.8F, 11F, 0.0F, 1.5F), 0.0F);
hierMesh().chunkSetAngles("SlatR_D0", 0.0F, Aircraft.cvt(FM.getAOA(), 6.8F, 11F, 0.0F, 1.5F), 0.0F);
}
if(Math.abs(flapps - kangle) > 0.01F)
{
flapps = kangle;
hierMesh().chunkSetAngles("Flap01L_D0", 0.0F, -16F * kangle, 0.0F);
hierMesh().chunkSetAngles("Flap01U_D0", 0.0F, 16F * kangle, 0.0F);
hierMesh().chunkSetAngles("Flap02L_D0", 0.0F, -16F * kangle, 0.0F);
hierMesh().chunkSetAngles("Flap02U_D0", 0.0F, 16F * kangle, 0.0F);
}
kangle = 0.95F * kangle + 0.05F * FM.EI.engines[0].getControlRadiator();
if(kangle > 1.0F)
kangle = 1.0F;
super.update(f);
if(FM.CT.getCockpitDoor() > 0.2F && bHasBlister && FM.getSpeedKMH() > fMaxKMHSpeedForOpenCanopy && hierMesh().chunkFindCheck("Blister1_D0") != -1)
{
try
{
if(this == World.getPlayerAircraft())
((CockpitBF_109W)Main3D.cur3D().cockpitCur).remove Canopy();
}
catch(Exception exception) { }
hierMesh().hideSubTrees("Blister1_D0");
Wreckage wreckage = new Wreckage(this, hierMesh().chunkFind("Blister1_D0"));
wreckage.collide(true);
Vector3d vector3d = new Vector3d();
vector3d.set(FM.Vwld);
wreckage.setSpeed(vector3d);
bHasBlister = false;
FM.CT.bHasCockpitDoorControl = false;
FM.setGCenter(-0.5F);
}
}

public static void moveGearOld(HierMesh hiermesh, float f)
{
float f1 = 0.8F;
float f2 = -0.5F * (float)Math.cos((double)(f / f1) * 3.1415926535897931D) + 0.5F;
if(f <= f1 || f == 1.0F)
{
hiermesh.chunkSetAngles("GearL3_D0", 0.0F, -77.5F * f2, 0.0F);
hiermesh.chunkSetAngles("GearL2_D0", -33.5F * f2, 0.0F, 0.0F);
}
f2 = -0.5F * (float)Math.cos((double)((f - (1.0F - f1)) / f1) * 3.1415926535897931D) + 0.5F;
if(f >= 1.0F - f1)
{
hiermesh.chunkSetAngles("GearR3_D0", 0.0F, 77.5F * f2, 0.0F);
hiermesh.chunkSetAngles("GearR2_D0", 33.5F * f2, 0.0F, 0.0F);
}
hiermesh.chunkSetAngles("GearC3_D0", 70F * f, 0.0F, 0.0F);
if(f > 0.99F)
{
hiermesh.chunkSetAngles("GearL3_D0", 0.0F, -77.5F, 0.0F);
hiermesh.chunkSetAngles("GearL2_D0", -33.5F, 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearR3_D0", 0.0F, 77.5F, 0.0F);
hiermesh.chunkSetAngles("GearR2_D0", 33.5F, 0.0F, 0.0F);
}
if(f < 0.01F)
{
hiermesh.chunkSetAngles("GearL3_D0", 0.0F, 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearL2_D0", 0.0F, 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearR3_D0", 0.0F, 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearR2_D0", 0.0F, 0.0F, 0.0F);
}
}

protected void moveGearOld(float f)
{
float f1 = 0.9F - (float)((Wing)getOwner()).aircIndex(this) * 0.1F;
float f2 = -0.5F * (float)Math.cos((double)(f / f1) * 3.1415926535897931D) + 0.5F;
if(f <= f1 || f == 1.0F)
{
hierMesh().chunkSetAngles("GearL3_D0", 0.0F, -77.5F * f2, 0.0F);
hierMesh().chunkSetAngles("GearL2_D0", -33.5F * f2, 0.0F, 0.0F);
}
f2 = -0.5F * (float)Math.cos((double)((f - (1.0F - f1)) / f1) * 3.1415926535897931D) + 0.5F;
if(f >= 1.0F - f1)
{
hierMesh().chunkSetAngles("GearR3_D0", 0.0F, 77.5F * f2, 0.0F);
hierMesh().chunkSetAngles("GearR2_D0", 33.5F * f2, 0.0F, 0.0F);
}
hierMesh().chunkSetAngles("GearC3_D0", 70F * f, 0.0F, 0.0F);
if(f > 0.99F)
{
hierMesh().chunkSetAngles("GearL3_D0", 0.0F, -77.5F, 0.0F);
hierMesh().chunkSetAngles("GearL2_D0", -33.5F, 0.0F, 0.0F);
hierMesh().chunkSetAngles("GearR3_D0", 0.0F, 77.5F, 0.0F);
hierMesh().chunkSetAngles("GearR2_D0", 33.5F, 0.0F, 0.0F);
}
}
public static void moveGear(HierMesh hiermesh, float f, float f1, float f2, boolean flag)
{
if(flag)
hiermesh.chunkSetAngles("GearC3_D0", smoothCvt(f2, 0.725F, 0.925F, 0.0F, 70F), 0.0F, 0.0F);
else
hiermesh.chunkSetAngles("GearC3_D0", smoothCvt(f2, 0.01F, 0.2F, 0.0F, 70F), 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearL2_D0", smoothCvt(f, 0.01F, 0.6F, 0.0F, -33.5F), 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearL3_D0", 0.0F, smoothCvt(f, 0.01F, 0.6F, 0.0F, -77.5F), 0.0F);
hiermesh.chunkSetAngles("GearR2_D0", smoothCvt(f1, 0.3F, 0.9F, 0.0F, 33.5F), 0.0F, 0.0F);
hiermesh.chunkSetAngles("GearR3_D0", 0.0F, smoothCvt(f1, 0.3F, 0.9F, 0.0F, 77.5F), 0.0F);
}

public static void moveGear(HierMesh hiermesh, float f, float f1, float f2)
{
moveGear(hiermesh, f, f1, f2, true);
}

protected void moveGear(float f, float f1, float f2)
{
moveGear(hierMesh(), f, f1, f2, FM.CT.GearControl > 0.5F);
}

public static void moveGear(HierMesh hiermesh, float f, boolean flag)
{
moveGear(hiermesh, f, f, f, flag);
}

public static void moveGear(HierMesh hiermesh, float f)
{
moveGear(hiermesh, f, f, f, true);
}

protected void moveGear(float f)
{
moveGear(hierMesh(), f, FM.CT.GearControl > 0.5F);
}

private static float smoothCvt(float f, float f1, float f2, float f3, float f4)
{
f = Math.min(Math.max(f, f1), f2);
return f3 + (f4 - f3) * (-0.5F * (float)Math.cos((double)((f - f1) / (f2 - f1)) * 3.1415926535897931D) + 0.5F);
}

public void moveSteering(float f)
{
if(FM.CT.getGear() >= 0.98F)
hierMesh().chunkSetAngles("GearC2_D0", 0.0F, -f, 0.0F);
}

private float kangle;
private float flapps;
private float fMaxKMHSpeedForOpenCanopy;
public boolean bHasBlister;

static
{
Class class1 = com.maddox.il2.objects.air.BF_109V48.class;
new NetAircraft.SPAWN(class1);
Property.set(class1, "iconFar_shortClassName", "Bf109V48");
Property.set(class1, "meshName", "3DO/Plane/Bf-109V48/hier.him");
Property.set(class1, "PaintScheme", new PaintSchemeFMPar03());
Property.set(class1, "yearService", 1942F);
Property.set(class1, "yearExpired", 1945.5F);
Property.set(class1, "FlightModel", "FlightModels/Bf-109V48.fmd:Bf109_ODDS_FM");
Property.set(class1, "cockpitClass", new Class[] {
com.maddox.il2.objects.air.CockpitBF_109V.class
});
Property.set(class1, "LOSElevation", 0.7498F);
Aircraft.weaponTriggersRegister(class1, new int[] {
0, 0, 0, 1, 1, 1, 1, 1, 9, 9,
9, 9, 3, 3, 3, 3, 3
});
Aircraft.weaponHooksRegister(class1, new String[] {
"_MGUN01", "_MGUN02", "_CANNON01", "_CANNON01", "_CANNON02", "_CANNON03", "_CANNON04", "_CANNON05", "_ExternalDev01", "_ExternalDev01",
"_ExternalDev02", "_ExternalDev03", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_ExternalBomb05"
});
}
}
Не в упрёк автору мода - потому как мы все люди.
П.С. Там ещё капец с фм было в моде с этими самолётами:
Bf-109V-48
Bf-109G2-CRP
Bf-109W2
Берут просто фм от Г-2 и вписуют другие моторы, да ещё фм старая от девятки, где нет значений по перегрузке. А другие изменения что нужно внести в фм просто похерили. Как так можно. :DONT_KNOW:

Skvorez 24.12.2015 19:31

Сделал пару слотов, модель не собирается хоть убейся... Пустой экран и все...Голову уже сломал. Чего не так делаю???


static
{
Class class1 = com.maddox.il2.objects.air.J_5.class;
new NetAircraft.SPAWN(class1);
Property.set(class1, "iconFar_shortClassName", "J-5");
Property.set(class1, "meshName_ru", "3DO/Plane/J-5/hier.him");
Property.set(class1, "PaintScheme_ru", new PaintSchemeFCSPar1956());
Property.set(class1, "meshName_sk", "3DO/Plane/J-5/hier.him");
Property.set(class1, "PaintScheme_sk", new PaintSchemeFMPar1956());
Property.set(class1, "meshName_ro", "3DO/Plane/J-5(Multi1)/hier.him");
Property.set(class1, "PaintScheme_ro", new PaintSchemeFMPar1956());
Property.set(class1, "meshName_hu", "3DO/Plane/J-5(Multi1)/hier.him");
Property.set(class1, "PaintScheme_hu", new PaintSchemeFMPar1956());
Property.set(class1, "meshName", "3DO/Plane/J-5(Multi1)/hier.him");
Property.set(class1, "PaintScheme", new PaintSchemeFMPar06());
Property.set(class1, "yearService", 1952.11F);
Property.set(class1, "yearExpired", 1960.3F);
Property.set(class1, "FlightModel", "FlightModels/MiG-17.fmd");
Property.set(class1, "cockpitClass", new Class[] {
com.maddox.il2.objects.air.CockpitMig_17.class


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

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