|
|
Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
![]() |
#1 |
Звуковых дел мастер
|
![]()
Захотелось мне вот из месса F-2 сделать F-1, для чего потребовалось заменить Мг151 на МгФФ, заморачиваться с новым самолетом не стал, решил добавить как доп вооружение, НО. Вообщем ил вылетает, попробовал заменить в стандарте мг151 на мгфф. Тож вылетает. Порылся исчо, нашел констант пул в котором и опиываются пушка с бк(соответственно при несовпадении с той что описывается в классе, все успешно вылетает), вообщем суть такая как добавить в этот констант пул новые значения?
|
![]() |
![]() |
![]() |
#2 |
Администратор
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,148
|
![]()
{P
но попробуй привести тут содержимое класса |
![]() |
![]() |
![]() |
#3 |
Звуковых дел мастер
|
![]()
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov Date: 03.09.2007 8:58:37
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: BF_109F2.java package com.maddox.il2.objects.air; import com.maddox.il2.ai.Wing; 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: // BF_109, PaintSchemeFMPar03, Aircraft, NetAircraft public class BF_109F2 extends BF_109 { public BF_109F2() { kangle = 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); } 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); } public static void moveGear(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 moveGear(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 void moveSteering(float f) { if(FM.CT.getGear() < 0.98F) { return; } else { hierMesh().chunkSetAngles("GearC2_D0", 0.0F, -f, 0.0F); return; } } static Class _mthclass$(String s) { return Class.forName(s); ClassNotFoundException classnotfoundexception; classnotfoundexception; throw new NoClassDefFoundError(classnotfoundexception.getMes sage()); } private float kangle; static { Class class1 = com.maddox.il2.objects.air.BF_109F2.class; new NetAircraft.SPAWN(class1); Property.set(class1, "iconFar_shortClassName", "Bf109"); Property.set(class1, "meshName", "3DO/Plane/Bf-109F-2/hier.him"); Property.set(class1, "PaintScheme", new PaintSchemeFMPar03()); Property.set(class1, "meshName_hu", "3DO/Plane/Bf-109F-2(hu)/hier.him"); Property.set(class1, "PaintScheme_hu", new PaintSchemeFMPar03()); Property.set(class1, "yearService", 1941F); Property.set(class1, "yearExpired", 1944.5F); Property.set(class1, "FlightModel", "FlightModels/Bf-109F-2.fmd"); Property.set(class1, "cockpitClass", com.maddox.il2.objects.air.CockpitBF_109F2.class); Property.set(class1, "LOSElevation", 0.74205F); Aircraft.weaponTriggersRegister(class1, new int[] { 0, 0, 1 }); Aircraft.weaponHooksRegister(class1, new String[] { "_MGUN01", "_MGUN02", "_CANNON01" }); Aircraft.weaponsRegister(class1, "default", new String[] { "MGunMG17si 500", "MGunMG17si 500", "MGunMG151ki 200" }); Aircraft.weaponsRegister(class1, "none", new String[] { null, null, null }); } } |
![]() |
![]() |
![]() |
#4 |
Звуковых дел мастер
|
![]()
соответственно если заменить MGunMG151ki 200
на MGunMGFFk 60 Ил при загрузке выдает сообщение об ошибке при обращении к памяти и вываливается |
![]() |
![]() |
![]() |
#5 |
Звуковых дел мастер
|
![]()
Спецов похоже нету, печально.
|
![]() |
![]() |
![]() |
#6 |
Штурмовик-бомбардировщик
Регистрация: 09.09.2007
Адрес: Russia
Сообщений: 815
|
![]()
А если заменить на MGunMGFFki? Такая тоже ведь есть. А так же MGunMGFFkih, MGunMGFFs, MGunMGFFs, MGunMGFFsi, MGunMGFFt. Ну что у тебя на k свет клином сошелся? Помни, это для пятерки толко изменения. На восмерку только Ктим способен поставить. и ему подобные
__________________
Если что-то очень хочется, то можно. Возможно по-другому Если что-то не получается, то одно из трех: 1. Тебе это не нужно 2. Плохо стараешься 3. Делаешь это не так. Захожу ему в хвост, стрелки ещё не стреляют... пошли ракеты! Бабах! Ракеты, бабах! Осталось шестеро... нет ракет, есть вражеские истрибители. Так, один без крыла, другой без хвоста. Впрочем, как и я... Круто летать с навороченным самодельным джоем... |
![]() |
![]() |
![]() |
#7 |
Звуковых дел мастер
|
![]()
Потому что такая же стоит на эмиле, пока здесь не сделаю, не имеет смысла идти дальше...
|
![]() |
![]() |
![]() |
#8 |
Гость
Сообщений: n/a
|
![]()
к мышлаевскому. может он чего посоветует.
З.Ы. вопрос - кто мне подскажет как вообще со всем этим работать, чем пользоваться, и где всзять! З.З.Ы. ну очень охотта.... |
![]() |
![]() |
#9 |
Звуковых дел мастер
|
![]()
Поковыряли ещё, проблема таки оказалась не в констант пуле, хз, не знаю куда дальше копать...
|
![]() |
![]() |
![]() |
#10 |
Изменник родины
Регистрация: 28.02.2007
Адрес: Ивано-Франковск
Сообщений: 1,084
|
![]()
2БигБ
Мышлаевский сам плавает в вопросе. Вопрос. закоментил класснотфаунд, а оно ццуко, выдало аж 28 ошибок. Шо делать? Пытался прикрутить к поплавковому Арадо кабины от жучки 87Б2.
__________________
Коммунист, сепаратист, интернационалист. Зацветут ещё мои деревья в саду. |
![]() |
![]() |
![]() |
#11 |
Звуковых дел мастер
|
![]()
тебе надо подключить джава ЖДК, и правильно в батнике пути прописать.... Вот мне такой мануальчик дали...
Работать будет.Кстати Java Decompiler глючит если закидывать в него папки с подкаталогами. Ладно поехали: Для начала грохнуть все что ты до этого делал.(резолвер действительно имел косяк при замещении файлов) Снять дампы классов -> натравить резолвер (java -jar classresolver.jar ."). Скачать и установить JDK -> дописать в переменную PATH путь к папке .\jdk\bin(Мой Компьютер -> Свойства -> Дополнительно -> Переменные среды...после изменения- перезагрузиться ) Далее на примере файла HUD.class ,который у меня получилось благополучно декомпилировать изменить и скомпилировать назад. Итак.Декомпилируем HUD.class Создаем батник: @echo off for %%f in (*.java) do javac -classpath I:\IL-2\Files -source 1.3 -target 1.3 %%f (обрати внимание на параметр classpath- это твой путь к папке Files ) -> Кидаем батник в папку с HUD.java(.\Files\com\maddox\il2\game) -> Запускаем. Если все получилось- значит все было сделано правильно. Не получилось- будем разбираться. Удачи! java -jar classhasher.jar ." ПыСы. В переменных средах надо прописать ещё путь к самой джаве(не ждк которая) можно взять ту что идет с игрой в папке bin Последний раз редактировалось SG2_Wasy; 07.09.2007 в 00:51. |
![]() |
![]() |
![]() |
#12 | |
Штурмовик-бомбардировщик
Регистрация: 09.09.2007
Адрес: Russia
Сообщений: 815
|
![]() Цитата:
Я декомпилирую ява-декомпилятором и Ёодой. Потомзаменяю кусок класса в исходнике от Jdec таким же куском от ёды, это кусок от слов public class BF_109F2 extends BF_109 в данном примере до слов static Class _mthclass$(String s) { return Class.forName(s); ClassNotFoundException classnotfoundexception; classnotfoundexception; throw new NoClassDefFoundError(classnotfoundexception.getMes sage()); } А этот кусок вообще ремлю или делитю. Дальше исправляю кусок от слов Aircraft.weaponTriggersRegister(class1, new int[] { можно тоже вставить из еды, но заменить варкласс на класс1, чтоб работало, а можно просто поудалять лишние символы типа _ перед словом Випон и все после слова регистер до скобки. Тогда будет работать. Чтобы получилось: Aircraft.weaponTriggersRegister(... Aircraft.weaponHooksRegister(... Aircraft.weaponsRegister(... Ну вот, теперь проверяем как компилится и как работает скомпиленное. Работает? Приступаем к изменению ![]() Вася, может и тебе этот способ подмогнет Сейчас не могу этим заняться, хотя тоже хочу попробовать, если у меня не получится, значит это какой-то феномен именно Мессеров, как кокпит у хенкеля.
__________________
Если что-то очень хочется, то можно. Возможно по-другому Если что-то не получается, то одно из трех: 1. Тебе это не нужно 2. Плохо стараешься 3. Делаешь это не так. Захожу ему в хвост, стрелки ещё не стреляют... пошли ракеты! Бабах! Ракеты, бабах! Осталось шестеро... нет ракет, есть вражеские истрибители. Так, один без крыла, другой без хвоста. Впрочем, как и я... Круто летать с навороченным самодельным джоем... |
|
![]() |
![]() |
![]() |
#13 |
Изменник родины
Регистрация: 28.02.2007
Адрес: Ивано-Франковск
Сообщений: 1,084
|
![]()
Спасибо, будем мучать(ся).
__________________
Коммунист, сепаратист, интернационалист. Зацветут ещё мои деревья в саду. |
![]() |
![]() |
![]() |
#14 |
Заблокирован
Регистрация: 08.09.2007
Сообщений: 22
|
![]()
SG2_Wasy
Установить MG151/20 на Bf 109F-2/G-14/G-10/K-4 пробывал? Попробуй установить две подкрыльевые MG151/20 на Bf 109F-4. |
![]() |
![]() |
![]() |
#15 |
Звуковых дел мастер
|
![]()
дык какая разница, если даже на ф2 ствол заменить неполучается, на всех остальных тот же исход будет.....
|
![]() |
![]() |
![]() |
#16 |
Изменник родины
Регистрация: 28.02.2007
Адрес: Ивано-Франковск
Сообщений: 1,084
|
![]()
2 Вася
как конкретно прописать ЖДК? Желательно со скриншотами.
__________________
Коммунист, сепаратист, интернационалист. Зацветут ещё мои деревья в саду. |
![]() |
![]() |
![]() |
#17 |
Звуковых дел мастер
|
![]()
В переменной path там уже записано два пути, их нетрогай, через ";" добавь путь к java.exe(та что в папке ила) и путь к установленному jacac.exe(то что в папке с ждк)...
Рис прилагаю... |
![]() |
![]() |
![]() |
#18 |
Заблокирован
Регистрация: 08.09.2007
Сообщений: 22
|
![]()
Ищи Вася,ищи.....
![]() |
![]() |
![]() |
![]() |
#19 |
Звуковых дел мастер
|
![]() |
![]() |
![]() |
![]() |
#20 | |
Штурмовик-бомбардировщик
Регистрация: 09.09.2007
Адрес: Russia
Сообщений: 815
|
![]() Цитата:
Я так с кокпитами тоже пробовал. Делал кокпит к У2 (не помню, какой кокпит), так он зараза вообще перестал грузиться. на других самолях нормально работает. Несколько летабов у меня есть уже На СБ в 4.05 поставил рокеты. Хоть чем-то стрелять можно стало. Научил стрелять по-отдельности правой и левой внешней бомбой (или рокетой, что поставишь). Просто поменял цыфру 3 на 2 или один. или ноль. Эти цыфры отвечают за то, кокой кнопкой джоя будут стрелять эти слоты. Если на мессере ты на любую пушку поставишь индекс 3, то она будет стрелять по комманде сбросить бомбы, цыфра 2 - это рокеты, 1 - пушки, 0 - пулеметы. Цыфры десять и больше - турели на многоместных. Aircraft.weaponTriggersRegister(class1, new int[] { 10, 10, 11, 12, 3, 3, 3, 3, 3, 3, 2, 1, 0 }); Aircraft.weaponHooksRegister(class1, new String[] { "_MGUN01", "_MGUN02", "_MGUN03", "_MGUN04", "_BombSpawn01", "_BombSpawn02", "_BombSpawn03", "_BombSpawn04", "_BombSpawn05", "_BombSpawn06", "_BombSpawn07", "_ExternalBomb01", "_ExternalBomb02" }); Aircraft.weaponsRegister(class1, "default", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, null, null, null }); Aircraft.weaponsRegister(class1, "6xfab50", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", null, null, null }); Aircraft.weaponsRegister(class1, "6xfab100", new String[] { "MGunShKASt 700", "MGunShKASt 700", "MGunShKASt 1000", "MGunShKASt 300", "BombGunFAB100", "BombGunFAB100", "BombGunFAB100", "BombGunFAB100", "BombGunFAB100", "BombGunFAB100", null, null, null }); Aircraft.weaponsRegister(class1, "1xfab250", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, "BombGunFAB250", null, null }); Aircraft.weaponsRegister(class1, "2xfab250", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, null, "BombGunFAB250", "BombGunFAB250" }); Aircraft.weaponsRegister(class1, "2xfab500", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, null, "BombGunFAB500", "BombGunFAB500" }); Aircraft.weaponsRegister(class1, "2xTorpedoMk13", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, "BombGunTorpMk13 2", null, null }); Aircraft.weaponsRegister(class1, "20xROFS132", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", null, null, null, null, null, null, "RocketGunROFS132 20", null, null }); Aircraft.weaponsRegister(class1, "Bouckett", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "BombGunFAB50", "RocketGunROFS132 20", "BombGunFAB500", "BombGunFAB500" }); Aircraft.weaponsRegister(class1, "Katyusha", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "RocketGunROFS132 20", "RocketGunM13 5", "RocketGunBRS132 5" }); Aircraft.weaponsRegister(class1, "1xFAB250_600xPTAB25_40xROFS132", new String[] { "MGunShKASt 960", "MGunShKASt 960", "MGunShKASt 1000", "MGunShKASt 500", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunPTAB25 100", "BombGunFAB250", "RocketGunROFS132 20", "RocketGunBRS132 20" }); Aircraft.weaponsRegister(class1, "none", new String[] { null, null, null, null, null, null, null, null, null, null, null, null, null }); Это кусок класса СБ2, мной переделанный. Обратите внимание и сравните с тем, что выдают ваши декомпиляторы. Вот такой кусок компилируется. Декомпилятор может добавлять мусор к некоторым словам, который нужно удалять, иначе компилятор не поймет. Я декомпилю двумя декомпилями, два файла сравниваю и на их основе создаю нормальный исходник - читабельный и без ошибок, который компилируется ![]()
__________________
Если что-то очень хочется, то можно. Возможно по-другому Если что-то не получается, то одно из трех: 1. Тебе это не нужно 2. Плохо стараешься 3. Делаешь это не так. Захожу ему в хвост, стрелки ещё не стреляют... пошли ракеты! Бабах! Ракеты, бабах! Осталось шестеро... нет ракет, есть вражеские истрибители. Так, один без крыла, другой без хвоста. Впрочем, как и я... Круто летать с навороченным самодельным джоем... |
|
![]() |
![]() |
![]() |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|