AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моды для Ил-2 (http://forum.aviaskins.com/forumdisplay.php?f=9)
-   -   Вопрос по джаве... (http://forum.aviaskins.com/showthread.php?t=95)

Jareny 25.09.2007 20:46

Скинь файлик, я ошибки поищу. Обычно после джейдека еде тоже ошибки совершает в этих классах.

SG2_Wasy 25.09.2007 21:44

Цитата:

Сообщение от Blitz (Сообщение 2196)
Декомпилировал DJ Java Dekompiler 3.5...
Щаз попробую ёдой
Попробовал.Нехотит компилить.
Выдаёт 7 ошибок:

Надо едой же декомпелить (или мы что-то путаем?) сделать изменения и батником назад ввернуть... иначе скорее всего у тебя в коде ошибки.... Как вариант не объявил название классов кокпитов... В самом начале кода.......

Пы.Сы. И выбрось этот Д.Ж. он только код калечит при декомпиле, либо делай джава текстовик, а потом содержимое вставляй из того что Ёда показала......

Blitz 26.09.2007 10:57

Итак декомпилил Ёдой.С ней вышло 7 ошибок(с Д.Ж.-100).
Объявил названия классов кокпитов.Вылезла 1 ошибка:

C:\123\FI_156.java:193: class$ is reserved for internal use /*synthetic*/static Class class$(String string) {

Jareny 26.09.2007 18:35

Файл мне скинь. или тут текст приведи.

Jareny 26.09.2007 19:07

Научное наблюдение или случай из жизни
 
Простой редактор. Летел я на своем СБ. Летел-летел и тут мне приспичило чайку попить, который рядом стоял. Включил автопилота и стал чай пить.
СБ отбомбился по колонне птабами (высыпал он их по чуть-чуть, как у меня не получалось, у меня все разом выпадают, сколько бы их там не было), пошел на аэродром. Вокруг летали вражеские ме110 и мои такие же СБ. Я дал им комманду истриблять мессеров перед чаем. И вот, мой автопилот встал на курс домой (гоняться за мессером он не стал :( ) отлетел немного и... остановился. Нет, не упал, не приземлился, не выключил двигатели... просто остановился, застрял, просто висел в небе. А вокруг летали мои СБ и мессеры. Летали, пока кто-то не старанил меня. Я не врубился, переиграл, только появился и сразу автопилот. Наблюдаю. Уже один, без своих, но с мессерами. Отбомбился и домой... тфу, опять застрял. Ради интереса выключил автопилота. Самолет полетел дальше. Включил - снова застрял. Сновы выключил - полетел. Сажать пришлось самому :( не люблю это дело, ну да ничего, я это умею удовлетворительно (тормоз на ось, при посадке его на одну треть, закрылки - на оси - на половину, скорость - двести, угол посадки по прибору - два с половиной, и при касании двиг на нуль, сажусь идеально) ну да я отвлекся. Это я о чем.
Я подумал, если я включал автопилот, значит самолетом управлял АИ. И если в это время самолет стоял, то этот АИ управляет не закрылками/элеронами/рулями, а положением самолета, и для декорации что-то там двигает в нем. С чего я взял? Самолет же полетел дальше, когда я АИ выключил. И еще. Пробовали сделать бочку на ил2? Заметили с какой скоростью он кренится? А гоняться на мессере за илом-ботом? он вращается быстрее, чем мой мессер.
То есть АИ управляет самолетом независимо от ФМ.
ИМХО, может ошибаюсь. Просто действия АИ прилизаны, чтоб было похоже на правду.

Myshlayevsky 26.09.2007 19:34

Это давно известно, только вот на сухом особо одаренные в это не верят.

Blitz 27.09.2007 10:06

Вложений: 1
Попробовал с другим крафтом.Тоже самое.Выкладываю 2 исходника....

Jareny 29.09.2007 12:11

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

Jareny 29.09.2007 12:12

Попозже выложу, что получилось у меня из обоих вариантов.

Jareny 29.09.2007 12:38

Я кажется догадался, как можно открывать бомболюки! Можно также двигать любые подвижные части самолета. Высовывать шасси по-одному, еще чего-нибудь. Возможно сделаю свою мечту - каждому двиглу - свою ось. Разнотяг так сказать. Ибо на моем девайсе осей предостаточно, и будет еще больше
А обнаружил, когда искал как двигать гак на спите, это для яка.

SG2_Wasy 29.09.2007 15:24

Цитата:

Сообщение от Jareny (Сообщение 2418)
А добавлять кокпит сразу в едовский у меня не получалось тоже.

У меня получалось, так все свои и сделал........

deSAD 29.09.2007 17:21

Цитата:

Сообщение от Jareny (Сообщение 2423)
... А обнаружил, когда искал как двигать гак на спите, это для яка.

А вот с этого места поподробней, плз. :rolleyes: Если можно :ups:

Jareny 29.09.2007 17:56

Поподробнее? Ничего не вышло. Надо яку где-то изменить статус, что он палубник. Где это у спита я не нашел.

SG2_Wasy 29.09.2007 18:57

у сифаера
public void moveArrestorHook(float f) {
hierMesh().chunkSetAngles("Hook1_D0", 0.0F, -57.0F * f, 0.0F);
hierMesh().chunkSetAngles("Hook2_D0", 0.0F, -12.0F * f, 0.0F);
resetYPRmodifier();
Aircraft.xyz[2] = 0.1385F * f;
hierMesh().chunkSetLocate("Hook3_D0", Aircraft.xyz, Aircraft.ypr);
arrestor = f;
}

Jareny 29.09.2007 19:57

Это я уже видел. Не работает. У Яка нету самой комманды. Где ее искать? хз

Jareny 29.09.2007 20:01

Этот кусок - обработчик самого открытия гака.
Таким же способом можно и бомболюки откупуривать. Я примерно нашел, где можно новую комманду назначить.

Jareny 29.09.2007 20:21

Примерно нашел, где можно сменить статус самолета :) там же, где и комманды добавить наверное можно :)

deSAD 29.09.2007 23:16

Цитата:

Сообщение от Jareny (Сообщение 2432)
Поподробнее? Ничего не вышло. Надо яку где-то изменить статус, что он палубник. Где это у спита я не нашел.

А чего там за классы - Type*.class - а? И, среди про(т)чего - TypeSailPlane.class? Не тут ли хунд беграбен? :rolleyes:

Myshlayevsky 30.09.2007 01:38

Sailplane - с аглицкого - планЭр. Увы.

Jareny 30.09.2007 21:50

У меня две неприятные новости.
Во-первых я приостанавливаю свои труды по этому неблагодарному делу, ибо надоело.
Во-вторых.
А что во-вторых. делал я кокпиты стрелков, помните, так вот, в 4.08, они стреляли не своими пушками, но стреляли же. Эти же кокпиты в 4.05 не стреляют и турелью не крутят! только ты туда перемещаешься и все! наблюдательный пункт типа. Подозреваю то же самое и для крюка для яка, ибо я ковырял код от 4.08
У меня не работает на 4.05, а для восьмерки я делать уже не хочу, потому как см "Во-первых".
И дело здесь не в типе самолета, как мне кажется. Потому как у сифайра такой-же тип, и в коммандах не оговорено, какие типы могут использовать комманду выпуска гака, как скажем это оговорено для бомберов, которые могут стабилизировать полет и включать-выключать бомбовый прицел и еще несколько фич (смотрим ЭиркрафтХотКей.класс в папке ком.маддокс.ил2.геймс).
Все, место поиска обозначил. Вперед.

Novichok8 05.05.2008 20:39

// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: YAK_9UT.java

package com.maddox.il2.objects.air;

import com.maddox.il2.engine.HierMesh;
import com.maddox.il2.fm.*;
import com.maddox.rts.Property;

// Referenced classes of package com.maddox.il2.objects.air:
// YAK, PaintSchemeFMPar04, TypeBNZFighter, NetAircraft,
// Aircraft

public class YAK_9UT extends YAK implements TypeBNZFighter
{
/*synthetic*/ static Class class$com$maddox$il2$objects$air$YAK_9UT;
/*synthetic*/ static Class class$com$maddox$il2$objects$air$CockpitYAK_9U;

public static void moveGear(HierMesh hiermesh, float f) {
float f_0_ = Math.max(-f * 1500.0F, -80.0F);
hiermesh.chunkSetAngles("GearC3_D0", 0.0F, f_0_, 0.0F);
hiermesh.chunkSetAngles("GearC4_D0", 0.0F, f_0_, 0.0F);
hiermesh.chunkSetAngles("GearC2_D0", 0.0F, 80.0F * f, 0.0F);
f_0_ = Math.max(-f * 1500.0F, -60.0F);
hiermesh.chunkSetAngles("GearL4_D0", 0.0F, f_0_, 0.0F);
hiermesh.chunkSetAngles("GearR4_D0", 0.0F, f_0_, 0.0F);
hiermesh.chunkSetAngles("GearL2_D0", 0.0F, 82.5F * f, 0.0F);
hiermesh.chunkSetAngles("GearR2_D0", 0.0F, 82.5F * f, 0.0F);
hiermesh.chunkSetAngles("GearL3_D0", 0.0F, -85.0F * f, 0.0F);
hiermesh.chunkSetAngles("GearR3_D0", 0.0F, -85.0F * f, 0.0F);
}

protected void moveGear(float f) {
moveGear(hierMesh(), f);
}

public void moveSteering(float f) {
/* empty */
}

public void update(float f) {
hierMesh().chunkSetAngles("OilRad_D0", 0.0F,
(FM.EI.engines[0].getControlRadiator()
* 15.0F),
0.0F);
hierMesh().chunkSetAngles("Water_luk", 0.0F,
(FM.EI.engines[0].getControlRadiator()
* 12.0F),
0.0F);
super.update(f);
}

/*synthetic*/ static Class class$(String string) {
Class var_class;
try {
var_class = Class.forName(string);
} catch (ClassNotFoundException classnotfoundexception) {
throw new NoClassDefFoundError(classnotfoundexception
.getMessage());
}
return var_class;
}

static Class _mthclass$(String s)
{
return Class.forName(s);
ClassNotFoundException classnotfoundexception;
classnotfoundexception;
throw new NoClassDefFoundError(classnotfoundexception.getMes sage());
}

static
{
Class class1 = com.maddox.il2.objects.air.YAK_9UT.class;
new NetAircraft.SPAWN(class1);
Property.set(class1, "iconFar_shortClassName", "Yak");
Property.set(class1, "meshName", "3DO/Plane/Yak-9UT(Multi1)/hier.him");
Property.set(class1, "PaintScheme", new PaintSchemeFMPar04());
Property.set(class1, "yearService", 1945F);
Property.set(class1, "yearExpired", 1952.8F);
Property.set(class1, "FlightModel", "FlightModels/Yak-9UT.fmd");
Property.set(class1, "cockpitClass", com.maddox.il2.objects.air.CockpitYAK_9U.class);
Property.set(class1, "LOSElevation", 0.6432F);
Aircraft.weaponTriggersRegister(class1, new int[] { 0, 0, 1 });
Aircraft.weaponHooksRegister(class1,
new String[] { "_MGUN01", "_MGUN02",
"_CANNON01" });
Aircraft.weaponsRegister(class1, "default",
new String[] { "MGunShVAKsi 120",
"MGunShVAKsi 120",
"MGunSh37ki 30" });
Aircraft.weaponsRegister(class1, "none",
new String[] { null, null, null });
}
}
где тут ошибка? делал как описывали части заменял 1 осталась помогите исправить.

Myshlayevsky 23.05.2008 13:05

Мужики, а серийничка к DJ java decompiler-у версии 3.10 нет у кого часом?
И ещё вопрос - этот декомпилятор так-же косо декомпилирует, как и все остальные, или всё-же хоть чутка покошернее?

YuVe 23.05.2008 13:09

Цитата:

Сообщение от Myshlayevsky (Сообщение 9825)
Мужики, а серийничка к DJ java decompiler-у версии 3.10 нет у кого часом?
И ещё вопрос - этот декомпилятор так-же косо декомпилирует, как и все остальные, или всё-же хоть чутка покошернее?

У меня ним обратно скомпилировать не получилось.
Класс на яву разлагает аж бегом, а обратно - дули.
Есть кряк к версии 3.10.....

Blitz 23.05.2008 13:17

DJ java decompiler гадость та ещё..Когда пробовал им декомпилить-никогда ничего неработало..Использую Йоду..Всё работает прекрасно..Юзай его

YuVe 23.05.2008 13:27

Цитата:

Сообщение от Blitz (Сообщение 9828)
DJ java decompiler гадость та ещё..Когда пробовал им декомпилить-никогда ничего неработало..Использую Йоду..Всё работает прекрасно..Юзай его

А можно узнать полное название этой программы?

Blitz 23.05.2008 13:45

Вложений: 1
см.аттач

YuVe 23.05.2008 14:09

Цитата:

Сообщение от Blitz (Сообщение 9831)
см.аттач

Спасибо

Devastator 03.01.2009 20:34

Х-4 ?
 
Как этой йодой пользоваться ? Т.е не могу файл открыть (из тех что в папке Б-29 SP. Там всего-то нужно прописать что он носитель Х-4, пару строк управления от Ме-410 и вместо "малыша" в слоте подвесить одну Х-4). Используя NMI's Java Code Viewer файл открыл легко (переименовав его в .class и декомпилировав в яву). Попробовал сохранить так же - т.е заменив "поверх" старый файл. В результате у меня ил на 20% вылетает. Может это из-за пару строк который этот Viewer прописывает ?
Короче, подскажите как файлы (те, что в папках МОДных самолётов) открывать и сохранять - чтобы ил не ругался и раскладка была новая.
Проблема только в компиляции/декомпиляции.

chameleon 04.01.2009 10:05

Ошибка 20% - ошибка в классе.
Значит:
а) ошибка в коде
б) неправильное восстановление(которого у тебя нет)/обратное хеширование - которого у тебя тоже нет...

Devastator 04.01.2009 21:01

Цитата:

Сообщение от chameleon (Сообщение 19039)
Ошибка 20% - ошибка в классе.
Значит:
а) ошибка в коде
б) неправильное восстановление(которого у тебя нет)/обратное хеширование - которого у тебя тоже нет...

JAD'ом открыл файл и сохранил в .java - потом кинул в ил-2, который вылетел при 60%. В самом файле я ничего не менял (т.к вообще пытался понять как всё работает), открыл в jad'e и не закрывая JAD сохранил с расширением .java
То, что вылетел при 60% а не при 20% уже небольшой прогресс. Что надо дальше делать с классхешером ? (там ведь даже пускового файла нет). И ещё, почему файлы в папках самолётов вообще без расширения идут (те что перед папкой 3do) ?
Заранее благодарен за помощь (поиском пользовался и много).

chameleon 04.01.2009 21:28

Ууу...
Я пас.

Devastator 04.01.2009 21:34

Цитата:

Сообщение от chameleon (Сообщение 19101)
Ууу...
Я пас.

В смысле тупой вопрос задал ?
(на экстракторе рылся но мало что понял).
И ещё, при открытии JADом файл именуется необычно, например Explosions$13 а не буквенно-цифровое обозначение - это нормально ?
Может кто подскажет какие команды даются jode & clashhashers через командную строку (блин уже третий день бьюсь над явой).

chameleon 04.01.2009 22:15

С явой всё очень просто. Но решаемо.
А если ты не в курсе, як использовать программы на Джаве - я, собственно, пас. :)
Сначала используешь кутимовские утилитки - дампер и ресольвер. Как пользоваться - извиняюсь, но во-первых, мне правила запрещают о них рассказывать, во-вторых, в всех кутимовских прогах какой-никакой, но встроенный хелп есть. Или подсказка, на крайний случай. :) Консоль рулит.

Получаешь туеву хучу файлов *.class.
Эту туеву хучу для втыкания в код(поправка - ФФтыкания глазами в код) нужно декодить декодить декомпилером. Причём Я пользую два декомпилера. JDec - создаёт нормальный список импорта классов, и ещё что-то в нём хорошее было - незначительное, но хорошее... Jode берёт всё остальное, но жёстко издевается над операциями с Class, в отличие от Ждека. Зато его декомпиляция компилится обратно.

Дальше стоит очень нехреновая проблема, если вы желаете использовать собственноручно написанный - или отредактированный класс. Куча заморочек с ошибками компиляции, особыми фишками Ила - и пр.
К слову, знак $ обозначает вложенный класс, и не надо так паниковать.
Судя по незнанию данного факта, я предполагаю, что учебник по Яве вы не читали... И соответсвенно с принципами работы явы тоже... не очень. Почитайте, а?

И, к слову, а что вы понимаете под JADом? По мне - это Java Archive Descriptor, из мобильной редакции. И им открывать я не умею :)

Последней стадией работы с иловской явой является компиляция и хэширование утилиткой КуТима - к которой, опять же, есть встроенный хелп.

ZloyPetrushkO 28.06.2009 02:24

ребят, подскажите кто может тупому человеку :)
ситуация:раз в N секунд в переменную Х выводяться координаты всех самолетов на карте, по очереди.

код выглядит примерно так:
Код:

for (int i_47_ = 0; i_47_ < q; i_47_++) {
            Actor actor = (Actor) ХХХХХ.ХХХХХХ(i_47_);
            Point3d pint3d = actor.ХХХ.ХХХХХХPoint();
               
                float f_48_ = (float) (pint3d.y );

                System.out.println("3: " + f_48_ );
         
        }

соотвественна в переменную f_48_ выводяться координаты всех самолетов на карте.
собсна вопрос, как сделать так чтобы переменная f_48_ была доступна для работы вне цикла?
помогите плз хто знает :)

ZloyPetrushkO 01.09.2009 01:16

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

токо сейчас ситуация осложнилась тем, что когда я вновь запускаю компиллятор и напускаю его на что угодно-он мне выдает какой то недокомпелированный класс для бомбо мода(кусками). и ессна новую версию он компеллировать нежелает.....
главно не могу понять- а в чем прикол, почему он полюбому сново выдает одно и тоже ?!

в общем подскажите плз, как ето лечить...а то мод готов, его зарелизить надо а сразу с ним и сборку мою а тут такие дела(((


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

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