![]() |
Цитата:
|
Спрошу и здесь: Ошибка java :484: not a ststement classnotfoundexception
Что бы это значило? |
Цитата:
Цитата с ЗАПА, авторство Лакота Источник: http://dispersalfield.ru/main/index....pic,237.0.html Причин бывает много, назову несколько. Первая - если открыть нужный исходник ОТДЕЛЬНО от других файлов, то некотрые внешние связи будут описаны неправильно. Второе - есть там (почти везде ) "лихая" конструкция проверки существования. Вот так открывается - static java.lang.Class _mthclass$(java.lang.String s) { return java.lang.Class.forName(s); java.lang.ClassNotFoundException classnotfoundexception; classnotfoundexception; throw new NoClassDefFoundError(classnotfoundexception.getMes sage()); } А выгледеть должна так - 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.getMes sage()); } return class1; } Жизнь показывает, что эту фигню вообще можно удалить... Это бывает чаще всего... Третье - дефолтное оружие надо переписывать СТОПУДОВО в новую конструкцию. Четвертое - строчка ПРИКРЕПЛЕНИЯ кокпита открывается неправильно , без выделеного - com.maddox.rts.Property.set(class1, "cockpitClass", new java.lang.Class[]{CockpitAN_2.class}); Пятое - Не объявленное окружение в заголовке. Если добавили обращения к внешним классам - потрудитесь добавить описание пакетов. Шестое - СИНТАКСИС и ПУНКТУАЦИЯ... |
Цитата:
|
Цитата:
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.getMes sage()); } return class1; } Потом закройте, сохраните изменения. откройте и берите те коды что вам нужно в новый джава-файл что вы собираете., обязательно сравнивайте с похожим дефолтным самолётом или с теми моими что у вас есть, они почти все адаптированы к последнему патчу. Куски кодов команд требуют так же и прописку в начале джава-файла., вот основные из них: import com.maddox.il2.engine.HierMesh; import com.maddox.JGP.Point3d; import com.maddox.JGP.Tuple3d; import com.maddox.JGP.Vector3d; import com.maddox.il2.ai.*; import com.maddox.il2.ai.air.Pilot; import com.maddox.il2.ai.air.Maneuver; import com.maddox.il2.ai.air.Pilot; import com.maddox.il2.ai.RangeRandom; import com.maddox.il2.ai.Wing; import com.maddox.il2.ai.World; import com.maddox.il2.engine.*; import com.maddox.il2.engine.HierMesh; import com.maddox.il2.engine.Orientation; import com.maddox.il2.fm.*; import com.maddox.il2.fm.FlightModel; import com.maddox.il2.fm.FlightModelMain; import com.maddox.il2.fm.Turret; import com.maddox.il2.game.Main3D; import com.maddox.il2.game.AircraftHotKeys; import com.maddox.il2.game.HUD; import com.maddox.il2.objects.sounds.SndAircraft; import com.maddox.il2.objects.sounds.Voice; import com.maddox.il2.objects.weapons.*; import com.maddox.il2.objects.Wreckage; import com.maddox.il2.objects.weapons.BombSC50; import com.maddox.util.HashMapInt; import java.io.IOException; import java.util.ArrayList; import java.util.Random; import com.maddox.rts.Property; import com.maddox.rts.*; Таких ссылок на коды ещё много есть. Если всё сделать тщательно - компиляция будет без проблемм. Но давайте научимся компилировать простые классы, изменять в них вооружение, понимать простые коды из дефолтных классов. Опять написал много - хочеться помочь просто. :ok: |
Цитата:
*********** * AIR.INI * *********** PA18 air.PA18 usa01 SUMMER *********************** * PLANE_RU.PROPERTIES * *********************** PA18 Piper PA-18 Super Cub, 1949 http://s019.radikal.ru/i604/1501/23/9c9a0cbcfbf5.jpg то не желают. Видимо не научился еще. |
Цитата:
И на карту ссылку - пожалуйста подарите. |
Цитата:
Цитата:
|
Класс компелиться нормально, хешируется как положено. Запись в айр ини вроде правильную делаю. На запуске вижу такую хрень:
[17:41:07] FM called 'FlightModels/JB.fmd:J_B' is being loaded from File: 'j_b' [17:41:07] FM called 'FlightModels/JB.fmd:J_B' is being loaded from Alternative File: 'j_b' [17:41:07] FM called 'FlightModels/JB.fmd:J_B' is being loaded from File: 'j_b' [17:41:07] FM called 'FlightModels/JB.fmd:J_B' is being loaded from Alternative File: 'j_b' [17:41:07] FM called 'FlightModels/L-39C.fmd:L39' is being loaded from File: 'l39' [17:41:07] FM called 'FlightModels/L-39C.fmd:L39' is being loaded from Alternative File: 'l39' [17:41:07] Main begin: PlMisAir: class 'air.B_45A' not found [17:41:07] java.lang.RuntimeException: PlMisAir: class 'air.B_45A' not found [17:41:07] at com.maddox.il2.gui.GUIQuick.fillArrayPlanes(GUIQui ck.java:1527) [17:41:07] at com.maddox.il2.gui.GUIQuick.<init>(GUIQuick.java:2 006) [17:41:07] at com.maddox.il2.gui.GUI.create(GUI.java:160) [17:41:07] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:18 85) [17:41:07] at com.maddox.il2.game.Main3D.beginApp(Main3D.java:15 79) [17:41:07] at com.maddox.il2.game.MainWin3D.beginApp(MainWin3D.j ava:212) [17:41:07] at com.maddox.il2.game.Main.exec(Main.java:432) [17:41:07] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java: 235) [25.01.2015 17:41:07] -------------- END log session ------------- Что это может быть? |
Может то быть, например, отсутствие класса B_45,
если в каком-то другом классе от обозначен как... public class <name> extends B_45 |
Цитата:
Цитата:
|
Джава-файл в студию., эта проблемма решаеться не сложно, такое проходил.
|
Вложений: 1
Цитата:
Цитата:
// Decompiled by DJ v3.10.10.93 Copyright 2007 Atanas Neshkov Date: 25.01.2015 21:12:11 // 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: B_45A.java package com.maddox.il2.objects.air; import com.maddox.JGP.Tuple3d; import com.maddox.il2.ai.BulletEmitter; import com.maddox.il2.ai.World; import com.maddox.il2.ai.air.Pilot; import com.maddox.il2.engine.*; import com.maddox.il2.fm.*; import com.maddox.il2.game.AircraftHotKeys; import com.maddox.il2.game.HUD; import com.maddox.il2.objects.sounds.SndAircraft; import com.maddox.il2.objects.weapons.Bomb; import com.maddox.il2.objects.weapons.BombJATO; import com.maddox.rts.*; import com.maddox.util.HashMapInt; import java.io.IOException; import java.util.ArrayList; import java.util.Random; // Referenced classes of package com.maddox.il2.objects.air: // B_45X, PaintSchemeBMPar02, TypeBomber, AircraftLH, // Aircraft, NetAircraft public class B_45A extends B_45X implements TypeBomber { public B_45A() { bHasBoosters = true; boosterFireOutTime = -1L; bpos = 1.0F; bcurpos = 1.0F; btme = -1L; bSightAutomation = false; bSightBombDump = false; fSightCurDistance = 0.0F; fSightCurForwardAngle = 0.0F; fSightCurSideslip = 0.0F; fSightCurAltitude = 3000F; fSightCurSpeed = 200F; fSightCurReadyness = 0.0F; } public void destroy() { doCutBoosters(); super.destroy(); } public void doFireBoosters() { Eff3DActor.New(this, findHook("_Booster1"), null, 1.0F, "3DO/Effects/Rocket/RocketSmokeWhite.eff", 30F); Eff3DActor.New(this, findHook("_Booster2"), null, 1.0F, "3DO/Effects/Rocket/RocketSmokeWhite.eff", 30F); } public void doCutBoosters() { for(int i = 0; i < 2; i++) if(booster[i] != null) { booster[i].start(); booster[i] = null; } } public void onAircraftLoaded() { super.onAircraftLoaded(); for(int i = 0; i < 2; i++) try { booster[i] = new BombJATO(); ((Actor) (booster[i])).pos.setBase(this, findHook("_BoosterH" + (i + 1)), false); ((Actor) (booster[i])).pos.resetAsBase(); booster[i].drawing(true); } catch(Exception exception) { debugprintln("Structure corrupt - can't hang Starthilferakete.."); } } static { Class class1 = com.maddox.il2.objects.air.B_45A.class; new NetAircraft.SPAWN(class1); Property.set(class1, "iconFar_shortClassName", "B-45A"); Property.set(class1, "meshName", "3DO/Plane/B-45A(Multi1)/hier.him"); Property.set(class1, "PaintScheme_us", new PaintSchemeBMPar02()); Property.set(class1, "yearService", 1943F); Property.set(class1, "yearExpired", 1956.6F); Property.set(class1, "FlightModel", "FlightModels/JB.fmd:J_B"); Property.set(class1, "cockpitClass", new Class[] { com.maddox.il2.objects.air.CockpitJetBomber.class, com.maddox.il2.objects.air.CockpitJetBomber_Bombar dier.class }); |
Ну и? Ни кто не знает ответа?
|
Цитата:
Попробуй так: Property.set(class1, "cockpitClass", new java.lang.Class[] { com.maddox.il2.objects.air.CockpitJetBomber.class, com.maddox.il2.objects.air.CockpitJetBomber_Bombardier.class }); |
Цитата:
С уважением |
У меня всё получилось - всё грузится, краша нет. Нужно - как я уже неоднократно писал - сделать для нового самолёта все свои классы, которыми он пользуется и очень тщательно проверить на совместимость. Так же в Иле должны присутствовать все классы вооружения, в частности - бомбы Джатко, которые упоминаються в коде класса В-45А.
-------------------------------------- Дополнение: папку с модом нужно именовать только аглицкими бук(в)ами. :umora: -------------------------------------- Такие мысли! |
Ракеты цель захватывать отказываются. Почему?
|
Активацию нажимаешь(В)?
|
Цитата:
|
Нет, нажимай в полёте кнопку, назначенную для колёсных тормозов (по умолчанию "В")
|
РАКЕТЫ ДЖЕТ-ЭРЫ КЛАССА МИСЛ
Вложений: 1
По ракетам: два дня ковыряю ракеты на основе Мисл из Джет-эры. Старые ракеты которые ссылаються на Missile.class от 8.11.2013 года не захватывают корабли и наземку - это те которые должны атаковать наземные цели., как я не изгалялся, тасуя в них цифирь, но толку нет. Воздух-воздух берут цель в 80 процентах, попадают тоже в таких пределах. Есть новое поколение ракет Мисл с частями кода от Хоминга., я немного разобрался в них, но они не перекомпилируються - нужен основной класс Мисл поновее, он наверное уже этого года. Я скачивал обновления для Джет-эры, но там не оказалось его. Если кто имеет новый Мисл, поделитесь пожалуйста - для успешной работы ракет нового поколения для Джет-эры такой класс Мисл нужно вкинуть в Ил. Перекомпилировать его я не смогу - у меня нет тех классов при которых он делался - следовательно он не корректно открываеться.
Прикрепил несколько джава-файлов в архиве. RocketRA8SCHIFF - компилится и стреляет, но цель не захватывает, кнопку В нажимал перед пуском - толку нет. При написании ориентировался на MissileAGM84B., более сложная RocketRA8GSCHIFF с радаром не компилится., ориентировался на MissileAGM65D. Конечно - без сомнений - лучше ракеты на основе кода Хоминг типа той же АЖМ, которая опираеться на класс рокет(public class AGM extends Rocket), а не на Мисл, но они стартуют стразу, а мне нужно что бы старт был с задержкой - после сброса ракеты. Ракеты земля-воздух то же писаны на основе кода Хоминг. Если кто грамотный сможет подправить(в коде) противокорабельную ракету что бы она захватывала цель - тому будет сердечная благодарность. :rolleyes: |
Цитата:
Короче методом суперсложного перевсовывания:D запустил их наконец то. Подобрав нужные классы. Архив (файлы джава) у тебя в личке. зы: давай далее на ты общяться |
Мне удалось :rolleyes: переписать код ракеты(RocketRA8SCHIFF.class) для атаки кораблей - теперь старт будет с задержкой на секунду-полторы, но пока она отделяеться от носителя не вниз как нужно, а назад, что в прынцыпе не так уж и плохо - ракета не проходит сквозь пропеллер, если подвешена под поршневик., но я хочу заставить её вываливаться из бомбоотсека и потом стартовать. На днях продолжу мозговой штурм. Так же попытаюсь убрать и реакцию на зенитки на земле - хочу развести модификации, отдельно на корабли и отдельно на наземные объекты. Надо ещё раз перечитать :rtfm: разные коды.
Ракета захватывает корабль приблизительно за 3 км. и уверенно поражает эсминец. Я думаю(предположения) ракету можно будет сочетать с прицелом типа К-14 и аналога что стоит на модном Хакебине. |
Цитата:
|
Хакебин это что?
|
Цитата:
if(tEStart > 0L) if(Time.current() > tEStart) { tEStart = -1L; setThrust(7000F); if(Config.isUSE_RENDER()) { newSound(soundName, true); Eff3DActor.setIntesity(smoke, 1.0F); Eff3DActor.setIntesity(sprite, 1.0F); flame.drawing(true); drawing(true); light.light.setEmit(2.0F, 100F); } } else Сейчас моя задача найти команду отделения ракеты от носителя - сброс. Старт с задержкой я уже прописал(как писал выше про это дело). Понимание приходит через опыт и испытания как и что работает. Вот строка: v.set(1.0D, 0.0D, 0.0D); - если поставить минус, то ракета летит назад., если перенести единицу на другое место, то ракета описывает круги - вертикальные или горизонтальные на одном месте. Предполагаю что с кодом самолётов последнего поколения сочетаться не будет - в смысле: стартовать они будут, но Брео их не увидит. В принцыпе я такую задачу и не ставлю - сейчас только учусь понимать Иловский код. Цитата:
|
Цитата:
Цитата:
|
При пуске ракеты Р-60 наблюдаю вылет на рабочий стол. Есть мысли?
[13:49:51] cannot open file for reading [13:49:51] Cannot open audio file samples/339_fuelsystem.wav [13:49:51] [13:49:55] ERROR file: File users/0/Icons not found [13:49:55] Mission: Campaign/RU/Frontier/Caucas_015.mis is Playing [13:49:55] INTERNAL ERROR: HierMesh: Can't find chunk 'Canopy' [13:49:56] warning: no files : music/takeoff [13:50:07] WARNING: Clear VBuf 130970 [13:50:07] WARNING: Clear IBuf 252219 [13:50:12] WARNING: Clear VBuf 130980 [13:50:12] WARNING: Clear IBuf 252504 [13:50:18] WARNING: Clear VBuf 130952 [13:50:18] WARNING: Clear IBuf 201084 [13:50:23] WARNING: Clear VBuf 130952 [13:50:23] WARNING: Clear IBuf 201084 [13:50:28] WARNING: Clear VBuf 130952 [13:50:28] WARNING: Clear IBuf 201084 [13:50:34] WARNING: Clear VBuf 130948 [13:50:34] WARNING: Clear IBuf 201078 [13:50:42] WARNING: Clear VBuf 130956 [13:50:42] WARNING: Clear IBuf 252876 [13:50:51] WARNING: Clear VBuf 130980 [13:50:51] WARNING: Clear IBuf 252504 [13:50:57] WARNING: Clear VBuf 130960 [13:50:57] WARNING: Clear IBuf 252882 [13:51:06] WARNING: Clear VBuf 130952 [13:51:06] WARNING: Clear IBuf 253491 [13:51:15] WARNING: Clear VBuf 130933 [13:51:15] WARNING: Clear IBuf 253233 [13:51:19] warning: no files : music/inflight [13:51:26] WARNING: Clear VBuf 130999 [13:51:26] WARNING: Clear IBuf 205392 [13:51:44] WARNING: Clear VBuf 130983 [13:51:44] WARNING: Clear IBuf 209826 [13:53:56] java.lang.NoSuchMethodError [13:53:56] at com.maddox.il2.objects.weapons.Missile.doStart(Missile.java:1375) [13:53:56] at com.maddox.il2.objects.weapons.Missile.start(Missi le.java:1099) [13:53:56] at com.maddox.il2.objects.weapons.RocketGun.interpola teStep(RocketGun.java:184) [13:53:56] at com.maddox.il2.objects.weapons.RocketGun.tick(Rock etGun.java:206) [13:53:56] at com.maddox.il2.engine.Interpolators.tick(Interpola tors.java:222) [13:53:56] at com.maddox.il2.engine.Actor.interpolateTick(Actor. java:365) [13:53:56] at com.maddox.il2.engine.InterpolateAdapter.msgTimeOu t(InterpolateAdapter.java:174) [13:53:56] at com.maddox.rts.MsgTimeOut.invokeListener(MsgTimeOu t.java:73) [13:53:56] at com.maddox.rts.Message._send(Message.java:1217) [13:53:56] at com.maddox.rts.Message.sendToObject(Message.java:1 191) [13:53:56] at com.maddox.rts.Message.sendTo(Message.java:1134) [13:53:56] at com.maddox.rts.Message.trySend(Message.java:1115) [13:53:56] at com.maddox.rts.Time.loopMessages(Time.java:252) [13:53:56] at com.maddox.rts.RTSConf.loopMsgs(RTSConf.java:101) [13:53:56] at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.ja va:131) [13:53:56] at com.maddox.il2.game.Main.exec(Main.java:449) [13:53:56] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java: 235) |
[13:53:56] at com.maddox.il2.objects.weapons.Missile.doStart(Missile.java:1375)
Вскрой класс Missile и посмотри строку номер 1375. Учись извлекать нужное из лог-файла ;) |
Цитата:
SAS Engine MOD 2.7 patch western 17/Oct./2014 http://www.sas1946.com/main/index.ph...c,39075.0.html вопрос, как это решить? |
Цитата:
..... BT~wasted's CounterMeasures MOD Не? |
Цитата:
|
Контрмеры, иными словами ЛТЦ и ДО
|
Цитата:
|
Наоборот, по утверждению western-a его патч несовместим с этим модом, а мод этот вроде бы идёт в комплекте с МиГ-21ми или с Ми-24 или с фантомами
|
Цитата:
|
Други, случайно удали батник-ресолвер:(. Нет ли у кого? Ресолвить каждый класс с командной строки, это просто ужос, либо сюда если не сложно черканите че там должно быть написано.
вот хешер C:\jdk1.3.1_20\bin\java -cp . -jar classhasher.jar com/ вот так пишу в ресолвер C:\jdk1.3.1_20\bin\java -cp . -jar classresolver.jar com/ а в ответ... тишина |
D:\g\il2\java\bin\java -cp . -jar classresolver.jar .
|
Цитата:
C:\jdk1.3.1_20\bin\java -cp . -jar classresolver.jar com/ |
Текущее время: 05:19. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot