![]() |
Спасибо, что откликнулись.
|
Ну вот насобирал я разных самолетов себе под ModAct, все работает, но возник вопрос в наведении порядка. :) Сейчас каждый самолет или сборка лежит в отдельном каталоге в папке #SAS. Будет ли смысл и практическая польза если собрать все доп. самолеты в один каталог? Увеличится ли скорость загрузки игры? А если упаковать в SFS - кроме удобства распространения плюсы будут?
|
Не буду создавать новую тему, продолжу спрашивать тут. Вот такой вопрос возник... Установил себе Ланкастер на 4.12.2+ModAct. Поставил все патчи, в основном все работает без проблем, но есть один косяк - когда переходишь на кормового стрелка черный пустой экран. Отключаю автопилот стрелка, сдвигаю немного мышкой турель - появляется нормальное изображение. Если снова включить автопилот стрелка, или выставить турель четко по центру - изображение меняется на черную картинку. Проверил в DBW такого эффекта нет, проверил на другом компьютере - черный экран есть. В чем тут может быть проблема и как ее можно исправить? В общем конечно не критично, но как то не правильно это. :)
|
Цитата:
|
Вложений: 1
В том то и дело что нет. А двигая турель мышкой можно получить такую картинку:
|
Ситуация следующая. Пробую вытащить из HSFX Черных вдов, сам самолет вытаскивается без проблем, java компилируется и под ModAct самолет доступен. Следующий этап - вытащить вооружение и вот тут возникают проблемы. Есть java код с бомбой, есть 3do к этой бомбе, Эклипс все обрабатывает без ошибок, но в списке вооружение не появляется. Если подставить файлик с оружием скомпилированный не на моем компе - проблем нет. Специально проверил распаковав с помощью QTimUtils и запаковав обратно своим Эклипс. В чем может быть проблема? Почему вооружение не правильно у меня обрабатывается? При этом с пилонами и пушками таких проблем нет, только бомбы и топливные баки.
|
Цитата:
|
У меня подключен jar с классами 4.12.2. Если бы не видел выдал бы ошибку. Такое ощущение что новый класс оружия просто игнорируется.
|
Ведь читал про это, но с ходу не смог соотнести. :) Все дело было в отсутствии Property.set(class1, "bulletClass", (Object)com.maddox.il2.objects.weapons.BombM72A1.class);
|
Вложений: 2
Помогите пожалуйта зашить под патч 4.12.2 класс Хаята - пробовал в нескольких средах(09, 12.2 и отдельно общей переменной) - командная строка пишет нет статуса(ошибка - джава-31).
В этом месте: static Class _mthclass$(String s) { return Class.forName(s); ClassNotFoundException classnotfoundexception; classnotfoundexception; throw new NoClassDefFoundError(classnotfoundexception.getMes sage()); } не правильно декомпилируеться - как должно быть - не знаю, к сожалению. :cry: Файл внизу: Буду благодарен! ================================================== ====== Цитата:
================================================== === Цитата:
К большому сожалению ваша конструкция не зашиваеться - выдаёт две ошибки, по сути одна., может быть я не так вписал - думаю, каждая кавычка и строка должна быть на своём месте. Знать бы как написано в оригинале класса Хаята? Я только начинаю познавать - всё путём проб и ошибок., обычно багаж таких знаний накапливаеться за год-полтора, а пока что прошу подсказать(помочь) мне - исправить. :cry: Картинку ошибок(так же файл класса) прикрепил. :I'm_thinking: ================== Может Дмитрий снова сжалиться и ткнёт меня носом. :law: |
Вложений: 4
Слава Богу!
Зашился класс и самолёт летает, есть вооружение - пришлось переписовать по образцу что написан на Запасном - как и советовали мне уважаемые Ут2 и Асура. БЛАГОДАРЮ за подсказки! Посмотрел внимательно объяснения и клас заработал. Сейчас борюсь с подвеской бомб - бомбы есть и баки так же, но цепляються в перемешку. Жаль нет мануала по отужию - посмотреть бы как прописуються цыфрами бомбы под крыльями. Ковыряю далее. Вариант в разработке такой: Aircraft.weaponTriggersRegister(class1, new int[] { 0, 0, 1, 1, 3, 3, 9, 9, 9, 9 }); Aircraft.weaponHooksRegister(class1, new String[] { "_MGUN01", "_MGUN02", "_CANNON01", "_CANNON02", "_ExternalBomb01", "_ExternalBomb02", "_ExternalDev01", "_ExternalDev02", "_ExternalBomb01", "_ExternalBomb02" }); try { ArrayList arraylist = new ArrayList(); Property.set(class1, "weaponsList", arraylist); HashMapInt hashmapint = new HashMapInt(); Property.set(class1, "weaponsMap", hashmapint); byte byte0 = 10; String s = "default"; Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); for(int i = 4; i < byte0; i++) a_lweaponslot[i] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "RocketGunX4homing", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "RocketGunX4homing", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int j = 8; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "2x250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int k = 8; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "2x150dt"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "FuelTankGun_TankKi84", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "FuelTankGun_TankKi84", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int k = 8; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x150dt"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "FuelTankGun_TankKi84", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int k = 6; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x150dt+1x250kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "FuelTankGun_TankKi84", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int k = 8; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "none"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; for(int l = 0; l < byte0; l++) a_lweaponslot[l] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); } catch(Exception exception) { } } } ================================================= Вот так как выше прописано - всё становиться на места., правда ракеты немного в крыло залазяют, но это терпимо., можно конечно прописать пилоны от Ки-100 и ракеты будут нормалней проявляться, но это нужно уже ковырять планер и хиер.хим - это пока что не по силам, вернее не пытался поковырять. Просьба к модераторам: пусть повисит тут в моём посте текст прописки вооружения, может кому то кто будет ковыряться в классах из начинающих польза будет, хоть немного., очень мало информации(разжёванной) по классам. Особо благодарен Лакоте за пояснения на Запасном и вообще - что поддерживает советом всех кто прибегает на звон бубна. Так же благодарность Асуре за участливость к ошибающимся(это я о себе). :thx: |
С начало надо знать имена хуков и их порядок в модели и расположение потом делаешь простейшую карту на бумаге и крепишь что хочешь не велика сложность
|
Пока что сложность для меня ещё очень велика - глубоко не ковырял., думаю, на протяжении весны попытаюсь освоить. Нужно время для ковыряния - поначалу всё медленно осваиваиться., а ещё фулл-реал на улице - семью кормить нужно.
============================================ Собственно говоря - я затеял эту эпопею с Хаятом только по одной причине: уж больно хотелось поставить Хоминги на Хаят., но вот заковыка - они пускаються залпом, если бы кто подсказал где и что вписать что бы бомбы/ракеты сбрасывались отдельно. Было б вообще супер - Хаят хорошо несёт вооружение - площадь крыла большая. |
Цитата:
a_lweaponslot[12] = new Aircraft._WeaponSlot(2, "RocketGunK13A", 1); a_lweaponslot[13] = new Aircraft._WeaponSlot(2, "RocketGunNull", 1); a_lweaponslot[14] = new Aircraft._WeaponSlot(2, "RocketGunK13A", 1); a_lweaponslot[15] = new Aircraft._WeaponSlot(2, "RocketGunNull", 1); Но, такой фокус проходит, когда ракет 2, 4, или 8шт. Если ракет 6, то первые 3 пускаются одиночно, 4 и 5 парой и 6 одиночно. По крайней мере на МиГ-21 бис это так, с чем связано не разобрался |
Благодарю!
:thx: Попробую. :rtfm: |
Может кому поможет быстрее освоить работу с вооружением:
Цитата:
Цитата:
Цитата:
Оружие цепляется по порядку к хукам. (1, "MGunHo5k", 160) 1 - триггер (кнопка) MGunHo5k - класс вооружения 160 - количество вооружения на хуке s = "1x250"; - название вооружения в списке игры, если тут будут пробелы перевод на русский в файле weapons_ru.properties работать не будет. Если список вооружения в редакторах обрывается по середине - значит нет следующего по списку класса вооружения. Если список вооружения пуст - скорее всего в классе самолета типовая конструкция для вооружения а файла cod нет. |
Цитата:
|
Не скажу что я тут большой специалист, но думаю от класса самолетов и от прописания вооружения это не зависит. В SAS_Engine_Mod есть несколько классов по работе с ракетами, в том числе те, на которые ссылаются самонаводящиеся ракеты. Миг-21 кроме того порожден от классов TypeGuidedMissileCarrier, TypeCountermeasure, TypeThreatDetector Энжин мода. Я пытался покапаться в потрошках Энжин мода, но пока отложил :) Там точно есть переключение между ракетами и выбор типа стрельбы. И кстати, сейчас попробовал у себя стрельнуть с МиГ-21бис - 5 Р-60 запустились по одной, а шестая вообще не захотела стрелять :) видно целей не хватило.
|
Вложений: 1
Ребят, может я не в тему, Вы не об этом?
Назначив команду, мы можем сами решать , какими ракетами стрелять, будь то к примеру Р-60 или К-13(пусть и К-5), либо ещё Нурсы. Что выбрали, тем и пальнули. Система работает, проверено Если я хоть чуточку уловил про что Вы, то "всё уже придумано до нас" . Ну а если туплю--тогда простите великодушно:ups: |
Нет, не об этом. Это всё работает. Разговор шёл об одиночном пуске - захватил цель нажал пуск - ушла ОДНА ракета, а не две. Если однотипных ракет на самолёте 2 или 4, то всё работает отлично. А вот если 6, то "возможны варианты". но, похоже, это только у меня так
|
К вопросу пуска ракет - а как система наведения на Миге работает? пара ракет могла уйти по двум целям например. Сколько целей сопровождает МиГ-21 бис в игре?
|
Цитата:
|
Вот только пришёл домой и читаю - очень полезный разговор, побольше бы на такую тему мы переписовались., политика надоела., немного не по ракетам спрошу: Лакота(Дмитрий) писал о ТВД, в смысле что воздуха как бы в Иле вокруг них нет., дело в том что у последнего мода Ме-262 с ТВД моторам можно прописать лошадинные силы и самолёт ведёт себя подобно поршневому(очень похоже, но есть отличия, небольшие)., я думал что такая примочка есть где то в классах енжин-мода, но, поставив тот же мотор на другой самолёт(Та-152С-3), ничего подобного - самолёт даже с места не сдвинулся, пока я снова не вписал тягу(траст)., похоже в классе нового Мессера что-то вписали такого что Ил может считать лошадки у чистого ТВД.
Выписан так: [Generic] Type Jet Autonomous 0 Cylinders 6 Carburetor 0 Direction Right TowFactor 1.0 PropMass 1000.0 EngineI 1.0 EngineAcceleration 0.15 Extinguishers 5 CompressorType 3 CompressorSteps 1 AfterburnerType 0 MixerType 0 MixerAltitude 23000 cThrottle 1 cAfterburner 0 cProp 0 cMix 0 cMagneto 0 cCompressor 0 cFeather 0 cRadiator 0 TESPEED 0.015 TWATERMAXRPM 580 TOILINMAXRPM 40 TOILOUTMAXRPM 100 MAXRPMTIME 600 MINRPMTIME 999 TWATERMAX 700 TWATERMIN 0 TOILMAX 125 TOILMIN 0 SoundName Jumo004A StartStopName Jumo004A [BMW003DM-1_Turboprop_Reductor] Direction Right HorsePowers 2000.0 BoostFactor 1.2 Carburetor 2 cFeather 1 TowFactor 1.0 Thrust 1.0 EngineI 10.0 EngineAcceleration 3.2 MixerType 0 cMix 0 MixerAltitude 13000 cThrottle 1 cProp 1 PropMass 300.0 RPMMin 300 RPMNom 5000 RPMMax 5300 RPMMaxAllowed 6480 Reductor 1.00 PropDiameter 3.33 PropAnglerType 10 PropAnglerSpeed 0.31 PropAnglerMinParam 300 PropAnglerMaxParam 5300 PropPhiMin 12.0 PropPhiMax 70.0 PropAoA0 11.0 Voptimal 360.0 CompressorRPMCurvature 3.8 CompressorPMax 5.1 CompressorAltitude0 14000.0 CompressorMultiplier0 0.90 CompressorBaseMultiplier0 1.08 CompressorRPMP0 2000.0 CompressorRPMPMax 5300.0 CompressorMaxATARPM 4.25 CompressorSpeedManifold 0.70 CompressorRPM0 300 CompressorATA0 0.10 CompressorRPM1 1000 CompressorATA1 0.70 CompressorRPM2 1200 CompressorATA2 0.80 CompressorRPM3 5000 CompressorATA3 4.25 DisP0x 4000 DisP0y 0 DisP1x 0 DisP1y 12 TESPEED 0.015 TWATERMAXRPM 570 TOILINMAXRPM 40 TOILOUTMAXRPM 100 MAXRPMTIME 340 MINRPMTIME 999 TWATERMAX 700 TWATERMIN 0 TOILMAX 140 TOILMIN 0 Знать бы где заковыка в классе - можно было б тоньше настраивать моторы типа ТВД для самолётов изначально имевших поршневые. Посмотрите пожалуйста класс этого Мессера на досуге. Я после доводки Хаята и двух Яков 43 года так же поковыряю этот класс. |
настроить количество одновременно запускаемых ракет можно в конфиге
[Mods] BombToStart=1 RocketToStart=1 |
Дякую! Пробуем.
|
Вложений: 2
Цитата:
[Mods] BombToStart=1 RocketToStart=1 RandomSplash=1 netCallsign= PALGameMenuStatusBar=1 PALGameMenuShowFPS=0 PAL3DStart=0 PAL3DSepAim=0.7 PAL3DSepGun=1.35 PAL3DSepPit=1.5 PAL3DSepExt=25.0 PAL3DConvAimL=-0.05 PAL3DConvAimR=-0.05 PAL3DConvGunL=-0.09 PAL3DConvGunR=-0.09 PAL3DConvPitL=-0.13 PAL3DConvPitR=-0.13 PAL3DConvExtL=-0.55 PAL3DConvExtR=-0.55 PAL3DCockpitSoftViewEnabled=1 PAL3DCockpitSoftView=0.075 PAL3DCockpitTurretInertiaEnabled=1 PAL3DCockpitTurretInertia=0.0010 PAL3DFollowInertiaEnabled=1 PAL3DFollowInertia=0.009999999776482582 PAL3DFollowInertiaAngle=0.01 PAL3DExternalSoftView=0.075 PAL3DExternalTrackIR=0 PAL3DExternalMouseInertia=1 ======================================= Цитата:
arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(1, "MGunHo5k", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[3] = new Aircraft._WeaponSlot(0, "MGunHo5s", 160); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "RocketGunX7homing", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGunNull", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(3, "RocketGunX7homing", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); for(int j = 9; j < byte0; j++) a_lweaponslot[j] = null; С одного пилона пропадает ракета и лепиться к другой - наверное что-то не так делаю. :I'm_thinking: |
Цитата:
|
Дело в том, что я ракеты прикрепил вместо бомб, вернее, на том месте в дефолтном оригинале вешаються бомбы, что и соответствует кнопке 3(у меня на джойстике 4 - нет кнопки ноль) - поэтому я приписывал BombGunNull как и должно быть., в хуках в орыгинале(Хаят-Б) пилоны (подвесы) расчитанные на подвеску бомб и я ничего менять не буду в оригинале что бы не создавать свою папку 3ДО., вот такой порядок подвески бомб/ракет:
a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "RocketGunX4homing", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "RocketGunX4homing", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(9, "PylonKI84PLN2", 1); позволил визуально правильно расположить пилоны и ракеты. Соответственно, Хоминги будут запускаться кнопкой сброса бомб, что они успешно и делают - меня это устраивает и избавляет ковыряться в хуках и т.д.(папке плане). Нужно только заставить их пускаться отдельно - думаю - это решиться, мне нужно просмотреть ещё много классов - как в них реализовано последовательный запуск. Вот как реализовано в Та-152С-3: a_lweaponslot[3] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); a_lweaponslot[5] = new Aircraft._WeaponSlot(9, "PylonETC250", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(9, "PylonETC250", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(2, "RocketGunX7homing", 1); a_lweaponslot[8] = new Aircraft._WeaponSlot(2, "BombGunNull", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(2, "RocketGunX7homing", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(2, "BombGunNull", 1); Этот мод выписывал не я. Перетасовывал я строки вооружения с десяток раз - результата нет, вернее, положительного., отрицательный - при чередовании с виртуальными пилонами - бомбы и ракеты лепяться в кучу на одно крыло, а второе пустое. :I'm_thinking: |
Цитата:
Зарание Благодарен! |
[QMB]
PlaneList=0 [Mods] WepEffect=1 BombToStart=1 RocketToStart=1 AirShowSmoke=2 AirShowSmokeEnhanced=1 BombBayDoors=1 SideDoor=1 CatapultAllow=1 CatapultAllowAI=1 CatapultBoost=1 StandardDeckCVL=1 CatapultAI_CVE=1 CatapultAI_CVL=1 CatapultAI_EssexClass=1 CatapultAI_LexingtonClass=1 CatapultAI_AkagiClass=1 CatapultAI_IllustriousClass=1 CatapultAI_CasablancaClass=1 CatapultAI_ShokakuClass=1 CatapultAI_GrafZep=1 NoNavLightsAI=1 FastLaunchAI=1 CatapultPower=22.0 CatapultPowerJets=35.0 TracersPlayer=400 TracersAircrafts=400 TracersWorld=400 TracersWirbelwind=50 BombSightAssist=1 BombSightAssistConf=3 MixedSpeedbar=1 FullSpeedbar=1 PALMODsColor=1 ShowSIToo=1 PALQMBLinesMap=24 PALQMBLinesPl0=24 ;PALButtonsPrefix=test. |
Спасибо Большое!
:rtfm::thx: Пробую. ============================== НЕ-А. Изменений нет, может чего нужно ещё прописать куда. :rtfm: Было бы хорошо если бы Сергей (Де Сад) прояснил ситуацию :ups: - всё же опыт и грамотность и в Африке позволяла пирамиды строить на тысячелетия. |
Цитата:
|
Захотелось себе Мессер Густав-10С-3 с новым вооружением - пришлось переписывать почти всё вооружение заново.
Было так: Aircraft.weaponTriggersRegister(class1, new int[] { 0, 0, 0, 1, 1, 1, 1, 1, 9, 9, 9, 9, 2, 2, 9, 9, 3, 3, 3, 3, 3, 3, 9, 9, 9 }); Aircraft.weaponHooksRegister(class1, new String[] { "_MGUN01", "_MGUN02", "_CANNON01", "_CANNON01", "_CANNON02", "_CANNON03", "_CANNON04", "_CANNON05", "_ExternalDev01", "_ExternalDev01", "_ExternalDev02", "_ExternalDev03", "_ExternalRock01", "_ExternalRock02", "_ExternalDev04", "_ExternalDev05", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_ExternalBomb05", "_ExternalBomb06", "_ExternalDev06", "_ExternalDev07", "_ExternalDev08" }); String as[] = new String[25]; as[0] = "MGunMG131si 300"; as[1] = "MGunMG131si 300"; as[3] = "MGunMG15120MGki 200"; Aircraft.weaponsRegister(class1, "default", as); String as1[] = new String[25]; as1[0] = "MGunMG131si 300"; as1[1] = "MGunMG131si 300"; as1[3] = "MGunMG15120MGki 200"; as1[8] = "PylonETC900 1"; as1[16] = "BombGunSC250 1"; Aircraft.weaponsRegister(class1, "R1-SC250", as1); String as2[] = new String[25]; as2[0] = "MGunMG131si 300"; as2[1] = "MGunMG131si 300"; as2[3] = "MGunMG15120MGki 200"; as2[8] = "PylonETC900 1"; as2[16] = "BombGunAB250 1"; Aircraft.weaponsRegister(class1, "R1-AB250", as2); String as3[] = new String[25]; as3[0] = "MGunMG131si 300"; as3[1] = "MGunMG131si 300"; as3[3] = "MGunMG15120MGki 200"; as3[8] = "PylonETC900 1"; as3[16] = "BombGunSC500 1"; Aircraft.weaponsRegister(class1, "R1-SC500", as3); String as4[] = new String[25]; as4[0] = "MGunMG131si 300"; as4[1] = "MGunMG131si 300"; as4[3] = "MGunMG15120MGki 200"; as4[8] = "PylonETC900 1"; as4[16] = "BombGunAB500 1"; Aircraft.weaponsRegister(class1, "R1-AB500", as4); String as5[] = new String[25]; as5[0] = "MGunMG131si 300"; as5[1] = "MGunMG131si 300"; as5[3] = "MGunMG15120MGki 200"; as5[8] = "PylonETC50Bf109 1"; as5[17] = "BombGunSC50 1"; as5[18] = "BombGunSC50 1"; as5[19] = "BombGunSC50 1"; as5[20] = "BombGunSC50 1"; Aircraft.weaponsRegister(class1, "R2-SC50", as5); String as6[] = new String[25]; as6[0] = "MGunMG131si 300"; as6[1] = "MGunMG131si 300"; as6[3] = "MGunMG15120MGki 200"; as6[8] = "PylonETC50Bf109 1"; as6[17] = "BombGunAB23 1"; as6[18] = "BombGunAB23 1"; as6[19] = "BombGunAB23 1"; as6[20] = "BombGunAB23 1"; Aircraft.weaponsRegister(class1, "R2-AB23", as6); String as7[] = new String[25]; as7[0] = "MGunMG131si 300"; as7[1] = "MGunMG131si 300"; as7[3] = "MGunMG15120MGki 200"; as7[12] = "RocketGunWfrGr21 1"; as7[13] = "RocketGunWfrGr21 1"; as7[14] = "PylonRO_WfrGr21 1"; as7[15] = "PylonRO_WfrGr21 1"; Aircraft.weaponsRegister(class1, "R2-WfrGr21", as7); String as8[] = new String[25]; as8[0] = "MGunMG131si 300"; as8[1] = "MGunMG131si 300"; as8[3] = "MGunMG15120MGki 200"; as8[8] = "PylonETC900 1"; as8[9] = "FuelTankGun_Type_D 1"; Aircraft.weaponsRegister(class1, "R3-DROPTANK", as8); String as9[] = new String[25]; as9[0] = "MGunMG131si 300"; as9[1] = "MGunMG131si 300"; as9[3] = "MGunMG15120MGki 200"; as9[4] = "MGunMK108kh 35"; as9[5] = "MGunMK108kh 35"; as9[10] = "PylonMk108 1"; as9[11] = "PylonMk108 1"; Aircraft.weaponsRegister(class1, "R4-2XMK108", as9); String as10[] = new String[25]; as10[0] = "MGunMG131si 300"; as10[1] = "MGunMG131si 300"; as10[3] = "MGunMG15120MGki 200"; as10[4] = "MGunMG15120kh 135"; as10[5] = "MGunMG15120kh 135"; as10[10] = "PylonMG15120 1"; as10[11] = "PylonMG15120 1"; Aircraft.weaponsRegister(class1, "R6-2XMG151-20", as10); String as11[] = new String[25]; as11[0] = "MGunMG131si 300"; as11[1] = "MGunMG131si 300"; as11[3] = "MGunMG15120MGki 200"; as11[8] = "PylonETC900 1"; as11[9] = "FuelTankGun_Type_D 1"; as11[12] = "RocketGunWfrGr21 1"; as11[13] = "RocketGunWfrGr21 1"; as11[14] = "PylonRO_WfrGr21 1"; as11[15] = "PylonRO_WfrGr21 1"; Aircraft.weaponsRegister(class1, "R2R3-TANKWfrGr21", as11); String as12[] = new String[25]; as12[0] = "MGunMG131si 300"; as12[1] = "MGunMG131si 300"; as12[3] = "MGunMG15120MGki 200"; as12[4] = "MGunMG15120kh 135"; as12[5] = "MGunMG15120kh 135"; as12[8] = "PylonETC900 1"; as12[9] = "FuelTankGun_Type_D 1"; as12[10] = "PylonMG15120 1"; as12[11] = "PylonMG15120 1"; Aircraft.weaponsRegister(class1, "R3R6-MG151-20", as12); String as13[] = new String[25]; as13[0] = "MGunMG131si 300"; as13[1] = "MGunMG131si 300"; as13[3] = "MGunMG15120MGki 200"; as13[4] = "MGunMK108kh 35"; as13[5] = "MGunMK108kh 35"; as13[8] = "PylonETC900 1"; as13[9] = "FuelTankGun_Type_D 1"; as13[10] = "PylonMk108 1"; as13[11] = "PylonMk108 1"; Aircraft.weaponsRegister(class1, "R3R4-2XMK108", as13); String as14[] = new String[25]; as14[0] = "MGunMG131si 300"; as14[1] = "MGunMG131si 300"; as14[3] = "MGunMK108ki 65"; Aircraft.weaponsRegister(class1, "U4-MK108", as14); String as15[] = new String[25]; as15[0] = "MGunMG131si 300"; as15[1] = "MGunMG131si 300"; as15[3] = "MGunMK108ki 65"; as15[12] = "RocketGunWfrGr21 1"; as15[13] = "RocketGunWfrGr21 1"; as15[14] = "PylonRO_WfrGr21 1"; as15[15] = "PylonRO_WfrGr21 1"; Aircraft.weaponsRegister(class1, "U4R2-MK108WfrGr21", as15); String as16[] = new String[25]; as16[0] = "MGunMG131si 300"; as16[1] = "MGunMG131si 300"; as16[3] = "MGunMK108ki 65"; as16[8] = "PylonETC900 1"; as16[9] = "FuelTankGun_Type_D 1"; Aircraft.weaponsRegister(class1, "U4R3-TANK1XMK108", as16); String as17[] = new String[25]; as17[0] = "MGunMG131si 300"; as17[1] = "MGunMG131si 300"; as17[3] = "MGunMK108ki 65"; as17[4] = "MGunMK108kh 35"; as17[5] = "MGunMK108kh 35"; as17[10] = "PylonMk108 1"; as17[11] = "PylonMk108 1"; Aircraft.weaponsRegister(class1, "U4R4-3XMK108", as17); String as18[] = new String[25]; as18[0] = "MGunMG131si 300"; as18[1] = "MGunMG131si 300"; as18[3] = "MGunMK108ki 65"; as18[4] = "MGunMG15120kh 135"; as18[5] = "MGunMG15120kh 135"; as18[10] = "PylonMG15120 1"; as18[11] = "PylonMG15120 1"; Aircraft.weaponsRegister(class1, "U4R6-MK1082XMG151-20", as18); String as19[] = new String[25]; as19[0] = "MGunMG131si 300"; as19[1] = "MGunMG131si 300"; as19[3] = "MGunMK108ki 65"; as19[4] = "MGunMK108kh 35"; as19[5] = "MGunMK108kh 35"; as19[8] = "PylonETC900 1"; as19[9] = "FuelTankGun_Type_D 1"; as19[10] = "PylonMk108 1"; as19[11] = "PylonMk108 1"; Aircraft.weaponsRegister(class1, "U4R3R4-3XMK108", as19); String as20[] = new String[25]; as20[0] = "MGunMG131si 300"; as20[1] = "MGunMG131si 300"; as20[3] = "MGunMK108ki 65"; as20[4] = "MGunMG15120kh 135"; as20[5] = "MGunMG15120kh 135"; as20[8] = "PylonETC900 1"; as20[9] = "FuelTankGun_Type_D 1"; as20[10] = "PylonMG15120 1"; as20[11] = "PylonMG15120 1"; Aircraft.weaponsRegister(class1, "U4R3R6-MK1082XMG151-20", as20); String as21[] = new String[25]; as21[3] = "MGunMG15120ki 200"; as21[21] = "PylonRECO1BF109 1"; Aircraft.weaponsRegister(class1, "R5-NOMG131", as21); String as22[] = new String[25]; as22[3] = "MGunMG15120ki 200"; as22[8] = "PylonETC900 1"; as22[9] = "FuelTankGun_Type_D 1"; as22[21] = "PylonRECO1BF109 1"; Aircraft.weaponsRegister(class1, "R5-TANK-NOMG131", as22); Aircraft.weaponsRegister(class1, "R5-2XTANK-NOMG131", new String[] { }); Aircraft.weaponsRegister(class1, "none", new String[25]); } } |
Переписал так:
Aircraft.weaponTriggersRegister(class1, new int[] { 0, 0, 0, 1, 1, 1, 1, 1, 9, 9, 9, 9, 2, 2, 9, 9, 3, 3, 3, 3, 3, 3, 9, 9, 9 }); Aircraft.weaponHooksRegister(class1, new String[] { "_MGUN01", "_MGUN02", "_CANNON01", "_CANNON01", "_CANNON02", "_CANNON03", "_CANNON04", "_CANNON05", "_ExternalDev01", "_ExternalDev01", "_ExternalDev02", "_ExternalDev03", "_ExternalRock01", "_ExternalRock02", "_ExternalDev04", "_ExternalDev05", "_ExternalBomb01", "_ExternalBomb02", "_ExternalBomb03", "_ExternalBomb04", "_ExternalBomb05", "_ExternalBomb06", "_ExternalDev06", "_ExternalDev07", "_ExternalDev08" }); try { ArrayList arraylist = new ArrayList(); Property.set(class1, "weaponsList", arraylist); HashMapInt hashmapint = new HashMapInt(); Property.set(class1, "weaponsMap", hashmapint); byte byte0 = 25; Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[byte0]; String s = "default"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); for(int i = 3; i < byte0; i++) a_lweaponslot[i] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK103S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK103s", 65); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO115S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO103S_HO5S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3xHO5S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO5S_HO115S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO103S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo103s", 500); for(int j = 3; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MG15120MGS_SC250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC250", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S_SC250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC250", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK103S_SC250"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK103s", 65); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC250", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MG15120MGS_AB500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunAB500",1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S_AB500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunAB500", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO115S_AB500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunAB500", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; |
arraylist.add(s);
hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MG15120MGS_SC500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC500", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S_SC500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC500", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK103S_SC500"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK103s", 65); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[16] = new Aircraft._WeaponSlot(3, "BombGunSC500", 1); for(int k = 17; k < byte0; k++) a_lweaponslot[k] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MG15120MGS_SC50"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC50Bf109", 1); a_lweaponslot[17] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[18] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[19] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[20] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); for(int n = 21; n < byte0; n++) a_lweaponslot[n] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S_SC50"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC50Bf109", 1); a_lweaponslot[17] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[18] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[19] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[20] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); for(int n = 21; n < byte0; n++) a_lweaponslot[n] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO115S_SC50"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC50Bf109", 1); a_lweaponslot[17] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[18] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[19] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); a_lweaponslot[20] = new Aircraft._WeaponSlot(3, "BombGunSC50", 1); for(int n = 21; n < byte0; n++) a_lweaponslot[n] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3XMG15120MGS"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 140); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 140); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); for(int o = 12; o < byte0; o++) a_lweaponslot[o] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "5xHO5S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo5s", 140); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo5s", 140); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); for(int o = 12; o < byte0; o++) a_lweaponslot[o] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3XMK108"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunMK108s", 45); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunMK108s", 45); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); for(int o = 12; o < byte0; o++) a_lweaponslot[o] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3XHO115S"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); for(int o = 12; o < byte0; o++) a_lweaponslot[o] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO115S_RocketWfrGr21_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[12] = new Aircraft._WeaponSlot(2, "RocketGunWfrGr21", 1); a_lweaponslot[13] = new Aircraft._WeaponSlot(2, "RocketGunWfrGr21", 1); a_lweaponslot[14] = new Aircraft._WeaponSlot(9, "PylonRO_WfrGr21", 1); a_lweaponslot[15] = new Aircraft._WeaponSlot(9, "PylonRO_WfrGr21", 1); for(int p = 16; p < byte0; p++) a_lweaponslot[p] = null; |
arraylist.add(s);
hashmapint.put(Finger.Int(s), a_lweaponslot); s = "MK108S_RocketWfrGr21_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[12] = new Aircraft._WeaponSlot(2, "RocketGunWfrGr21", 1); a_lweaponslot[13] = new Aircraft._WeaponSlot(2, "RocketGunWfrGr21", 1); a_lweaponslot[14] = new Aircraft._WeaponSlot(9, "PylonRO_WfrGr21", 1); a_lweaponslot[15] = new Aircraft._WeaponSlot(9, "PylonRO_WfrGr21", 1); for(int p = 16; p < byte0; p++) a_lweaponslot[p] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3xMG15120MGS_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 150); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 150); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3xMK108S_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMK108s", 75); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunMK108s", 45); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunMK108s", 45); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "HO5S_3xHO115S_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3xHO5S_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo5s", 150); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo5s", 150); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "5xHO5S_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo5si", 160); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo5s", 200); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo5s", 150); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo5s", 150); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMG15120", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3xHO115S_TANK"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunHo103si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunHo115s", 80); a_lweaponslot[4] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[5] = new Aircraft._WeaponSlot(1, "MGunHo115s", 60); a_lweaponslot[8] = new Aircraft._WeaponSlot(9, "PylonETC900", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(9, "FuelTankGun_Type_D", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(9, "PylonMk108", 1); for(int r = 12; r < byte0; r++) a_lweaponslot[r] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "none"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; for(int k1 = 0; k1 < byte0; k1++) a_lweaponslot[k1] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); } catch(Exception exception) { } } } ================================================= Почему выложил текст - как говорил SLON - классы уже стали секретом полишенеля., можно не опасаться ворчания старорежимных ворчунов. Ну а вообще - то не ради похвалиться, просто может кому захочеться ковырять классы, то уже будут лежать готовые блоки с вооружением., мне пришлось кучу запятых, точек и кавычек выставлять. К вооружению после названия класса нужно такую штуку писать: private static Aircraft._WeaponSlot[] GenerateDefaultConfig(int i) { Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[i]; try { a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG131si", 300); a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120MGs", 200); } catch(Exception exception) { } return a_lweaponslot; } =================================== В начале класса - так же - написать такое: import com.maddox.JGP.Tuple3d; import com.maddox.JGP.Vector3d; import com.maddox.il2.ai.*; import com.maddox.il2.engine.*; import com.maddox.il2.fm.*; import com.maddox.il2.game.Main3D; import com.maddox.il2.objects.Wreckage; import com.maddox.il2.objects.sounds.SndAircraft; import com.maddox.il2.objects.weapons.GunEmpty; import com.maddox.rts.Property; import com.maddox.rts.Finger; import com.maddox.rts.Property; import com.maddox.util.HashMapInt; import java.util.ArrayList; import java.util.Random; ================================ Всё нормально зашиваеться и грузиться - стреляет. Может кому пригодиться - буду очень рад. Раз уж по сайтам выкладывают объяснялку к коррекции классов - то чем наш сайт хуже. Думаю так: чем больше людей будут желать поковырять Ил и познавать его устройство - тем дольше наш сим будет играбельным и востребованным. Выписывал вооружение, основываясь на конструкции выложенной на ЗАПе и пересматривал много классов. |
Вложений: 1
Ковырял заторможенный ФВ-190А-4, но ограничение по оборотам не удалось убрать., применял разные примочки от других Фокерров, но тщетно. Оставил в рабочем варианте всё так как в ФР., даже прописал - что класс А-4 сылаеться на основной FW_190NEW.class, но тяга осталась 88 проц., хотя игра новый модный класс видит - так же видит новую отдельную фм, реагировала на изменение в вооружении., наверное это ограничение ещё где то в коде прописано. Если бы кто помог разобраться.:I'm_thinking:
|
Класс FW_190A4.class
Вот этот кусок кода public void update(float f) { if(FM.CT.getPowerControl() > 0.875F) FM.CT.setPowerControl(0.875F); if(FM.CT.getPowerControl(0) > 0.875F) FM.CT.setPowerControl(0.875F); super.update(f); } вроде бы отвечает за ограничение Только я не понял, зачем дважды повторять одни и те же операторы |
Цитата:
|
Да я это знаю, - об этом же говорил Лакота. При изменении цифр в этом кусочке джава-файл не зашиваеться. При удалении этого куска класс зашиваеться, но тяга остаёться всё равно 88 проц., я перепробовал кучу вариантов - не помогает. Я сделал в классе почти всё как в Фоккере ФР и других - А-5, А-6, но вигвам, однако. Это ограничение - так думаю - записано ещё где то, в классе Мотор или ещё где. Класс Мотор у меня не компилируеться никак - несколько дней я ковырял этот класс. А-4 можно использовать во многих дин. компаниях., с дефолтным Д-ГЕНом только эту модель., А-4ФР просто игнорируеться. Хочеться убрать это ограничение - оно не грамотное., потому как наддув ограничивался настройкой регулятора на компрессоре, а не на ручке РУДа. Как раз на значении АТА в 1.36 достигалась мощность 1800-1820 л.с. При установке дополнительного впрыска бензина в правый коллектор появилась кнопка - увеличение лётных характеристик, а при заливке бензина С3 в один из баков мощность мотора Д-2 приблизилась к 2000 л.с. и стало возможным выставлять регулятор наддува на 1.58 и 1.62. Это вычитал по разным самолётным сайтам - там же висели документы и схемы военных лет. Где то в своей ветке прикреплял файлик с тем что накопал.
Хотелось бы выправить ситуацию - хотя бы стала тяга 100 проц. - от этого можно было бы танцевать далее. Если получиться, помогите с таким фокеровским делом!?? |
Текущее время: 09:30. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot