AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Вопросы Новичка8 (http://forum.aviaskins.com/forumdisplay.php?f=17)
-   -   Точки аэродрома и рулежка (http://forum.aviaskins.com/showthread.php?t=1306)

Novichok8 02.02.2010 18:09

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

"Sotka" 02.02.2010 18:21

Ура, товарищи! Рулёжка будет колоссальным прорывом! Очень нужное дело!:ok:
Вот была такая тема... http://forum.aviaskins.com/showthread.php?t=1017
Теперь вопрос: по Вашей идее получится рулёжка до взлёта или после посадки или "и то, и другое, и можно без хлеба"?:D

Novichok8 02.02.2010 18:38

PlMapAirdrome.class
Исходник этого файла пришлите мне у меня он кривой тогда может что то и будет.
public void insert(Loc loc, boolean bool) {
exception = exception_6_;
break;
}
вот из за этого он не ставиться.

Novichok8 03.02.2010 10:14

я могу в список добавить могу чтоб прописывалось в миссии это но они тупо летят как будто это обычный полет.

Novichok8 03.02.2010 10:15

активация действия не работает

Novichok8 03.02.2010 11:01

public void computeTimes(boolean bool) {
int i = points();
if (i != 0)
{
PAir pair = (PAir) point(0);
PlMisAir plmisair = (PlMisAir) Plugin.getPlugin("MisAir");
for (int i_0_ = 1; i_0_ < i; i_0_++) {
PAir pair_1_ = (PAir) point(i_0_);
double d = pair_1_.speed;
if (pair_1_.type() == 2)
d = plmisair.type[_iType].item[_iItem].speedRunway;
if (d == 0.0)
d = plmisair.type[_iType].item[_iItem].speedRunway;
double d_2_ = pair.pos.getAbsPoint()
.distance(pair_1_.pos.getAbsPoint());
d *= 0.2777777777777778;
double d_3_ = d_2_ / d;
pair_1_.time = pair.time + d_3_;
pair = pair_1_;
}

if (bool)
Plugin.builder.doUpdateSelector();
}
}
вот сюда надо как то прописать Pairdrome как это сделать?
если я просто как PAir pair = (PAir) point(0); то все глючит и миссия не загружаеться.

Novichok8 04.02.2010 11:24

Наконец то. Сделал как и раньше только щас грузяться все карты точки ставяться и обьекты на карту и грузяться в карту.

"Sotka" 04.02.2010 13:50

Цитата:

Сообщение от Novichok8 (Сообщение 44988)
Наконец то. Сделал как и раньше только щас грузяться все карты точки ставяться и обьекты на карту и грузяться в карту.

А можешь сделать так, чтобы они стали объектами миссии, а не карты? Это был бы прорыв...;)

Novichok8 04.02.2010 13:51

не получаеться это и хотел сделать.

Novichok8 04.02.2010 13:53

для чего функция save as spawn? я не чего не понял в ней сохроняет имена и коардинаты обьектов а дальше что?

Novichok8 13.02.2010 22:40

Сделал только чтобы взлетали откуда угодно с аэродрома т.е не с начала полосы как стандартно ставиться а с любого места куда поставить точку взлета.

Novichok8 13.02.2010 22:41

по 1 норм а звено отдельно где то ставиться.

Novichok8 14.02.2010 00:23

loc = ((Runway) airportstatic.runway.get(i_3_)).loc; эта строчка что значит если ее убрать то хоть куда можно ставить.

Novichok8 14.02.2010 01:18

Изменил посадку теперь 1 садиться лидер все остольные на 2 заход потом остольные а не по 1 как раньше.

"Sotka" 14.02.2010 07:16

Ох... Признаться честно, понял только половину всех фраз. Оно, конечно, забавно, но....

Grog 14.02.2010 10:39

Цитата:

Сообщение от "Sotka" (Сообщение 45985)
Ох... Признаться честно, понял только половину всех фраз. Оно, конечно, забавно, но....

Ой, не скажи...:)

Даже не знаю, как бы сие попробовать;)

Novichok8 14.02.2010 11:37

ща сделаю скрины.

Novichok8 14.02.2010 11:57

http://xmages.net/upload/5218f027.jpg

Novichok8 14.02.2010 12:06

http://xmages.net/thumb/thumb_929c9e2e.jpg
кто сможет сделать чтобы они взлетели отсюда?

Novichok8 14.02.2010 12:07

Цитата:

Сообщение от Novichok8 (Сообщение 46006)
http://xmages.net/thumb/thumb_929c9e2e.jpg
кто сможет сделать чтобы они взлетели отсюда?

http://xmages.net/upload/929c9e2e.jpg
вот крупный.

"Sotka" 14.02.2010 12:09

М... Ну, это очень хорошо, но не можешь ли ты их заставить доехать до точки филда? Ибо то, что ты сейчас сделал, легко создаётся при помощи тестовых ВПП в толстом редакторе.

Novichok8 14.02.2010 14:46

не едут они как не пробывал.
тестовая впп перегрождает обычную и они врезаються да и ставить 20 штук не удобно.

Novichok8 14.02.2010 14:48

public static void make(ArrayList arraylist, Point2f[][] point2fs,
Point2f[][] point2fs_0_, Point2f[][] point2fs_1_) {
if (arraylist != null) {
ArrayList arraylist_2_ = new ArrayList();
double d = 4000000.0;
if (arraylist.size() == 4)
d = 2890000.0;
while (arraylist.size() > 0) {
Loc loc = (Loc) arraylist.remove(0);
boolean bool = false;
AirportStatic airportstatic = null;
for (int i = 0; i < arraylist_2_.size(); i++) {
airportstatic = (AirportStatic) arraylist_2_.get(i);
if (airportstatic.oppositeRunway(loc) != null) {
bool = true;
break;
}
}
if (bool) {
airportstatic.runway.add(new Runway(loc));
int i = airportstatic.runway.size();
p3d.set(0.0, 0.0, 0.0);
for (int i_3_ = 0; i_3_ < i; i_3_++) {
loc = ((Runway) airportstatic.runway.get(i_3_)).loc;
p3d.x += loc.getPoint().x;
p3d.y += loc.getPoint().y;
p3d.z += loc.getPoint().z;
}
p3d.x /= (double) i;
p3d.y /= (double) i;
p3d.z /= (double) i;
airportstatic.pos.setAbs(p3d);
} else {
if (Engine.cur.land.isWater(loc.getPoint().x,
loc.getPoint().y))
airportstatic = new AirportMaritime();
else
airportstatic = new AirportGround();
airportstatic.pos = new ActorPosStatic(airportstatic, loc);
airportstatic.runway.add(new Runway(loc));
arraylist_2_.add(airportstatic);
}
}
}
}
вот стандартный код этого.

p3d.set(0.0, 0.0, 0.0); тут я значения увеличил и они взлетают хоть откуда но содяться на 1 впп почему то 2 снесло в море.

Novichok8 14.02.2010 14:50

public static final int PT_RUNWAY = 1;
public static final int PT_TAXI = 2;
public static final int PT_STAY = 4;
вот эти переменные как вообще использовать? что они есть что их нет все одно.

Novichok8 19.02.2010 15:05

case 26: // '\032'
float f9 = Alt;
float f18 = 0.4F;
if(Actor.isAlive(AP.way.takeoffAirport) && (AP.way.takeoffAirport instanceof AirportCarrier))
{
f9 -= ((AirportCarrier)AP.way.takeoffAirport).height();
f18 = 0.95F;
if(Alt < 9F && Vwld.z < 0.0D)
Vwld.z *= 0.84999999999999998D;
if(CT.bHasCockpitDoorControl)
AS.setCockpitDoor(actor, 1);
}
if(first)
{
setCheckGround(false);
CT.BrakeControl = 1.0F;
CT.GearControl = 1.0F;
CT.PowerControl = 0.0F;
if(CT.bHasArrestorControl)
AS.setArrestor(actor, 0);
setSpeedMode(8);
if(f9 > 7.21F && AP.way.Cur() == 0)
{
EI.setEngineRunning();
Aircraft.debugprintln(actor, "in the air - engines running!.");
}
if(!Actor.isAlive(AP.way.takeoffAirport))
direction = actor.pos.getAbsOrient().getAzimut();
if(actor instanceof HE_LERCHE3)
{
maneuver = 69;
break;
}
}
if(Gears.onGround())
{
if(EI.engines[0].getStage() == 0)
{
CT.PowerControl = 0.0F;
setSpeedMode(8);
if(World.Rnd().nextFloat() < 0.05F && mn_time > 1.0F || mn_time > 8F)
{
push();
push(64);
submaneuver = 0;
maneuver = 0;
safe_pop();
break;
}
} else
{
Po.set(Loc);
Vpl.set(60D, 0.0D, 0.0D);
Or.transform(Vpl);
Po.add(Vpl);
pd.set(Po);




if(canTakeoff)
{
CT.PowerControl = 1.1F;
setSpeedMode(11);

} else
{
setSpeedMode(8);
CT.BrakeControl = 1.0F;
boolean flag3 = true;
if(mn_time < 8F)
flag3 = false;
if(actor != War.getNearestFriendAtPoint(Pd, (Aircraft)actor, 70F))
if(actor instanceof G4M2E)
{
if(War.getNearestFriendAtPoint(Pd, (Aircraft)actor, 70F) !=

((G4M2E)actor).typeDockableGetDrone())
flag3 = false;
} else
{
flag3 = false;
}
if(Actor.isAlive(AP.way.takeoffAirport) && AP.way.takeoffAirport.takeoffRequest > 0)
flag3 = false;
if(flag3)
{
canTakeoff = true;
if(Actor.isAlive(AP.way.takeoffAirport))
AP.way.takeoffAirport.takeoffRequest = 300;
}
}
}
if(EI.engines[0].getStage() == 6 && CT.bHasWingControl && CT.getWing() > 0.001F)
AS.setWingFold(actor, 0);
} else
if(canTakeoff)
{
CT.PowerControl = 1.1F;
setSpeedMode(11);
}
if(CT.FlapsControl == 0.0F && CT.getWing() < 0.001F)
CT.FlapsControl = 0.4F;
if(EI.engines[0].getStage() == 6 && CT.getPower() > f18)
{
CT.BrakeControl = 0.0F;
brakeShoe = false;
float f22 = (Vmin * M.getFullMass()) / M.massEmpty;
float f24 = 12F * (getSpeed() / f22 - 0.2F);
if(Gears.bIsSail)
f24 *= 2.0F;
if(Gears.bFrontWheel)
f24 = Gears.Pitch + 4F;
if(f24 < 1.0F)
f24 = 1.0F;
if(f24 > 10F)
f24 = 10F;
float f27 = 1.5F;
if(Actor.isAlive(AP.way.takeoffAirport) && (AP.way.takeoffAirport instanceof AirportCarrier) &&

!Gears.isUnderDeck())
{
CT.GearControl = 0.0F;
if(f9 < 0.0F)
{
f24 = 18F;
f27 = 0.05F;
} else
{
f24 = 14F;
f27 = 0.3F;
}
}
if(Or.getTangage() < f24)
dA = -0.7F * (Or.getTangage() - f24) + f27 * (float)getW().y + 0.5F * (float)getAW().y;
else
dA = -0.1F * (Or.getTangage() - f24) + f27 * (float)getW().y + 0.5F * (float)getAW().y;
CT.ElevatorControl += (dA - CT.ElevatorControl) * 3F * f;
} else
{
CT.ElevatorControl = 1.0F;
}
AFo.setDeg(Or.getAzimut(), direction);
double d1 = AFo.getDiffRad();
if(EI.engines[0].getStage() == 6)
{
CT.RudderControl = 8F * (float)d1;
if(d1 > -1D && d1 < 1.0D)
{
if(Actor.isAlive(AP.way.takeoffAirport) && CT.getPower() > 0.3F)
{
double d2 = AP.way.takeoffAirport.ShiftFromLine(this);
double d3 = 3D - 3D * Math.abs(d1);
if(d3 > 1.0D)
d3 = 1.0D;
double d5 = 0.25D * d2 * d3;
if(d5 > 1.5D)
d5 = 1.5D;
if(d5 < -1.5D)
d5 = -1.5D;
CT.RudderControl += (float)d5;
}
} else
{
CT.BrakeControl = 1.0F;
}
}
CT.AileronControl = -0.05F * Or.getKren() + 0.3F * (float)getW().y;
if(f9 > 5F && !Gears.isUnderDeck())
CT.GearControl = 0.0F;
float f28 = 1.0F;
if(hasBombs())
f28 *= 1.7F;
if(f9 > 120F * f28 || getSpeed() > Vmin * 1.8F * f28 || f9 > 80F * f28 && getSpeed() > Vmin * 1.6F *

f28 || f9 > 40F * f28 && getSpeed() > Vmin * 1.3F * f28 && mn_time > 60F + (float)((Aircraft)actor).aircIndex() *

3F)
{
CT.FlapsControl = 0.0F;
CT.GearControl = 0.0F;
rwLoc = null;
if(actor instanceof TypeGlider)
push(24);
maneuver = 0;
brakeShoe = false;
turnOffCollisions = false;
if(CT.bHasCockpitDoorControl)
AS.setCockpitDoor(actor, 0);
pop();
}
if(actor instanceof TypeGlider)
{
CT.BrakeControl = 0.0F;
CT.ElevatorControl = 0.05F;
canTakeoff = true;
}
break;
вот сам код взлета


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

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