![]() |
Скинь файлик, я ошибки поищу. Обычно после джейдека еде тоже ошибки совершает в этих классах.
|
Цитата:
Пы.Сы. И выбрось этот Д.Ж. он только код калечит при декомпиле, либо делай джава текстовик, а потом содержимое вставляй из того что Ёда показала...... |
Итак декомпилил Ёдой.С ней вышло 7 ошибок(с Д.Ж.-100).
Объявил названия классов кокпитов.Вылезла 1 ошибка: C:\123\FI_156.java:193: class$ is reserved for internal use /*synthetic*/static Class class$(String string) { |
Файл мне скинь. или тут текст приведи.
|
Научное наблюдение или случай из жизни
Простой редактор. Летел я на своем СБ. Летел-летел и тут мне приспичило чайку попить, который рядом стоял. Включил автопилота и стал чай пить.
СБ отбомбился по колонне птабами (высыпал он их по чуть-чуть, как у меня не получалось, у меня все разом выпадают, сколько бы их там не было), пошел на аэродром. Вокруг летали вражеские ме110 и мои такие же СБ. Я дал им комманду истриблять мессеров перед чаем. И вот, мой автопилот встал на курс домой (гоняться за мессером он не стал :( ) отлетел немного и... остановился. Нет, не упал, не приземлился, не выключил двигатели... просто остановился, застрял, просто висел в небе. А вокруг летали мои СБ и мессеры. Летали, пока кто-то не старанил меня. Я не врубился, переиграл, только появился и сразу автопилот. Наблюдаю. Уже один, без своих, но с мессерами. Отбомбился и домой... тфу, опять застрял. Ради интереса выключил автопилота. Самолет полетел дальше. Включил - снова застрял. Сновы выключил - полетел. Сажать пришлось самому :( не люблю это дело, ну да ничего, я это умею удовлетворительно (тормоз на ось, при посадке его на одну треть, закрылки - на оси - на половину, скорость - двести, угол посадки по прибору - два с половиной, и при касании двиг на нуль, сажусь идеально) ну да я отвлекся. Это я о чем. Я подумал, если я включал автопилот, значит самолетом управлял АИ. И если в это время самолет стоял, то этот АИ управляет не закрылками/элеронами/рулями, а положением самолета, и для декорации что-то там двигает в нем. С чего я взял? Самолет же полетел дальше, когда я АИ выключил. И еще. Пробовали сделать бочку на ил2? Заметили с какой скоростью он кренится? А гоняться на мессере за илом-ботом? он вращается быстрее, чем мой мессер. То есть АИ управляет самолетом независимо от ФМ. ИМХО, может ошибаюсь. Просто действия АИ прилизаны, чтоб было похоже на правду. |
Это давно известно, только вот на сухом особо одаренные в это не верят.
|
Вложений: 1
Попробовал с другим крафтом.Тоже самое.Выкладываю 2 исходника....
|
С помощью еды у меня корректно получалось только оружие менять. Для кокпита я декомпилил сначала едой, сохранял где-нибудь, потом декомпилил джейдеком, сохранял в другом месте. Потом в исходнике от джейдеке исправлял ошибки, ориентируясь на едовский исходник (просто копировал куски кода из едовского в джейдековский) и уже в джейдековском делал кокпиты. А добавлять кокпит сразу в едовский у меня не получалось тоже.
|
Попозже выложу, что получилось у меня из обоих вариантов.
|
Я кажется догадался, как можно открывать бомболюки! Можно также двигать любые подвижные части самолета. Высовывать шасси по-одному, еще чего-нибудь. Возможно сделаю свою мечту - каждому двиглу - свою ось. Разнотяг так сказать. Ибо на моем девайсе осей предостаточно, и будет еще больше
А обнаружил, когда искал как двигать гак на спите, это для яка. |
Цитата:
|
Цитата:
|
Поподробнее? Ничего не вышло. Надо яку где-то изменить статус, что он палубник. Где это у спита я не нашел.
|
у сифаера
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; } |
Это я уже видел. Не работает. У Яка нету самой комманды. Где ее искать? хз
|
Этот кусок - обработчик самого открытия гака.
Таким же способом можно и бомболюки откупуривать. Я примерно нашел, где можно новую комманду назначить. |
Примерно нашел, где можно сменить статус самолета :) там же, где и комманды добавить наверное можно :)
|
Цитата:
|
Sailplane - с аглицкого - планЭр. Увы.
|
У меня две неприятные новости.
Во-первых я приостанавливаю свои труды по этому неблагодарному делу, ибо надоело. Во-вторых. А что во-вторых. делал я кокпиты стрелков, помните, так вот, в 4.08, они стреляли не своими пушками, но стреляли же. Эти же кокпиты в 4.05 не стреляют и турелью не крутят! только ты туда перемещаешься и все! наблюдательный пункт типа. Подозреваю то же самое и для крюка для яка, ибо я ковырял код от 4.08 У меня не работает на 4.05, а для восьмерки я делать уже не хочу, потому как см "Во-первых". И дело здесь не в типе самолета, как мне кажется. Потому как у сифайра такой-же тип, и в коммандах не оговорено, какие типы могут использовать комманду выпуска гака, как скажем это оговорено для бомберов, которые могут стабилизировать полет и включать-выключать бомбовый прицел и еще несколько фич (смотрим ЭиркрафтХотКей.класс в папке ком.маддокс.ил2.геймс). Все, место поиска обозначил. Вперед. |
// 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 осталась помогите исправить. |
Мужики, а серийничка к DJ java decompiler-у версии 3.10 нет у кого часом?
И ещё вопрос - этот декомпилятор так-же косо декомпилирует, как и все остальные, или всё-же хоть чутка покошернее? |
Цитата:
Класс на яву разлагает аж бегом, а обратно - дули. Есть кряк к версии 3.10..... |
DJ java decompiler гадость та ещё..Когда пробовал им декомпилить-никогда ничего неработало..Использую Йоду..Всё работает прекрасно..Юзай его
|
Цитата:
|
Вложений: 1
см.аттач
|
Цитата:
|
Х-4 ?
Как этой йодой пользоваться ? Т.е не могу файл открыть (из тех что в папке Б-29 SP. Там всего-то нужно прописать что он носитель Х-4, пару строк управления от Ме-410 и вместо "малыша" в слоте подвесить одну Х-4). Используя NMI's Java Code Viewer файл открыл легко (переименовав его в .class и декомпилировав в яву). Попробовал сохранить так же - т.е заменив "поверх" старый файл. В результате у меня ил на 20% вылетает. Может это из-за пару строк который этот Viewer прописывает ?
Короче, подскажите как файлы (те, что в папках МОДных самолётов) открывать и сохранять - чтобы ил не ругался и раскладка была новая. Проблема только в компиляции/декомпиляции. |
Ошибка 20% - ошибка в классе.
Значит: а) ошибка в коде б) неправильное восстановление(которого у тебя нет)/обратное хеширование - которого у тебя тоже нет... |
Цитата:
То, что вылетел при 60% а не при 20% уже небольшой прогресс. Что надо дальше делать с классхешером ? (там ведь даже пускового файла нет). И ещё, почему файлы в папках самолётов вообще без расширения идут (те что перед папкой 3do) ? Заранее благодарен за помощь (поиском пользовался и много). |
Ууу...
Я пас. |
Цитата:
(на экстракторе рылся но мало что понял). И ещё, при открытии JADом файл именуется необычно, например Explosions$13 а не буквенно-цифровое обозначение - это нормально ? Может кто подскажет какие команды даются jode & clashhashers через командную строку (блин уже третий день бьюсь над явой). |
С явой всё очень просто. Но решаемо.
А если ты не в курсе, як использовать программы на Джаве - я, собственно, пас. :) Сначала используешь кутимовские утилитки - дампер и ресольвер. Как пользоваться - извиняюсь, но во-первых, мне правила запрещают о них рассказывать, во-вторых, в всех кутимовских прогах какой-никакой, но встроенный хелп есть. Или подсказка, на крайний случай. :) Консоль рулит. Получаешь туеву хучу файлов *.class. Эту туеву хучу для втыкания в код(поправка - ФФтыкания глазами в код) нужно декодить декодить декомпилером. Причём Я пользую два декомпилера. JDec - создаёт нормальный список импорта классов, и ещё что-то в нём хорошее было - незначительное, но хорошее... Jode берёт всё остальное, но жёстко издевается над операциями с Class, в отличие от Ждека. Зато его декомпиляция компилится обратно. Дальше стоит очень нехреновая проблема, если вы желаете использовать собственноручно написанный - или отредактированный класс. Куча заморочек с ошибками компиляции, особыми фишками Ила - и пр. К слову, знак $ обозначает вложенный класс, и не надо так паниковать. Судя по незнанию данного факта, я предполагаю, что учебник по Яве вы не читали... И соответсвенно с принципами работы явы тоже... не очень. Почитайте, а? И, к слову, а что вы понимаете под JADом? По мне - это Java Archive Descriptor, из мобильной редакции. И им открывать я не умею :) Последней стадией работы с иловской явой является компиляция и хэширование утилиткой КуТима - к которой, опять же, есть встроенный хелп. |
ребят, подскажите кто может тупому человеку :)
ситуация:раз в N секунд в переменную Х выводяться координаты всех самолетов на карте, по очереди. код выглядит примерно так: Код:
for (int i_47_ = 0; i_47_ < q; i_47_++) { собсна вопрос, как сделать так чтобы переменная f_48_ была доступна для работы вне цикла? помогите плз хто знает :) |
товариащи! нид хелп!
произошла у меня вот какая оказия. во время компилляции класса почти финальной версии на бомбомод( я уже коэфициенты подбирал) комп вылетел в синий экран с жалобой на память(он у мя старый и побитый жизнь, бывает такое) токо сейчас ситуация осложнилась тем, что когда я вновь запускаю компиллятор и напускаю его на что угодно-он мне выдает какой то недокомпелированный класс для бомбо мода(кусками). и ессна новую версию он компеллировать нежелает..... главно не могу понять- а в чем прикол, почему он полюбому сново выдает одно и тоже ?! в общем подскажите плз, как ето лечить...а то мод готов, его зарелизить надо а сразу с ним и сборку мою а тут такие дела((( |
Текущее время: 15:35. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot