24.12.2019, 01:02 | #121 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Код:
try { ArrayList arraylist = new ArrayList(); Property.set(class1, "weaponsList", arraylist); HashMapInt hashmapint = new HashMapInt(); Property.set(class1, "weaponsMap", hashmapint); byte byte0 = 13; String s = "default"; Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[byte0]; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = null; a_lweaponslot[3] = null; a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = null; for(int i = 13; i < byte0; i++) a_lweaponslot[i] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "6x50kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = null; a_lweaponslot[3] = null; a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[8] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[12] = null; for(int j = 13; j < byte0; j++) a_lweaponslot[j] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "3x100kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = null; a_lweaponslot[3] = null; a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); for(int j1 = 13; j1 < byte0; j1++) a_lweaponslot[j1] = null; |
24.12.2019, 01:02 | #122 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Код:
arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "4x100kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = null; for(int j2 = 13; j2 < byte0; j2++) a_lweaponslot[j2] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x250kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = null; a_lweaponslot[3] = null; a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); for(int j3 = 1; j3 < byte0; j3++) a_lweaponslot[j3] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x250kg+4x50kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); for(int j4 = 1; j4 < byte0; j4++) a_lweaponslot[j4] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "1x250kg+2x100kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun250kgJ", 1); for(int j5 = 1; j5 < byte0; j5++) a_lweaponslot[j5] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "10x50kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[6] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[7] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[8] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[9] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[10] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[11] = new Aircraft._WeaponSlot(3, "BombGun50kgJ", 1); a_lweaponslot[12] = null; for(int j6 = 13; j6 < byte0; j6++) a_lweaponslot[j6] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "5x100kg"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunVikkersKsi", 700); a_lweaponslot[1] = new Aircraft._WeaponSlot(10, "MGunVikkersKt", 600); a_lweaponslot[2] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[3] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[4] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[5] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = new Aircraft._WeaponSlot(3, "BombGun100kgJ", 1); for(int j7 = 13; j7 < byte0; j7++) a_lweaponslot[j7] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); s = "none"; a_lweaponslot = new Aircraft._WeaponSlot[byte0]; a_lweaponslot[0] = null; a_lweaponslot[1] = null; a_lweaponslot[2] = null; a_lweaponslot[3] = null; a_lweaponslot[4] = null; a_lweaponslot[5] = null; a_lweaponslot[6] = null; a_lweaponslot[7] = null; a_lweaponslot[8] = null; a_lweaponslot[9] = null; a_lweaponslot[10] = null; a_lweaponslot[11] = null; a_lweaponslot[12] = null; for(int l = 0; l < byte0; l++) a_lweaponslot[l] = null; arraylist.add(s); hashmapint.put(Finger.Int(s), a_lweaponslot); } catch(Exception exception) { } } } |
24.12.2019, 01:24 | #123 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Взято из CockpitD3A2_TGunner.java
Код:
public void moveGun(Orient orient) { super.moveGun(orient); mesh.chunkSetAngles("Turret1A", 0.0F, orient.getYaw(), 0.0F); mesh.chunkSetAngles("Turret1B", 0.0F, orient.getTangage(), 0.0F); } public void clipAnglesGun(Orient orient) { if(isRealMode()) if(!aiTurret().bIsOperable) { orient.setYPR(0.0F, 0.0F, 0.0F); } else { float f = orient.getYaw(); float f1 = orient.getTangage(); if(f < -33F) f = -33F; if(f > 33F) f = 33F; if(f1 > 62F) f1 = 62F; if(f1 < -3F) f1 = -3F; orient.setYPR(f, f1, 0.0F); orient.wrap(); } } Код:
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.getMessage()); } return class1; } static { Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "aiTuretNum", 0); Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "weaponControlNum", 10); Property.set(com.maddox.il2.objects.air.CockpitKi30A_TGunner.class, "astatePilotIndx", 1); } } Последний раз редактировалось Vasya; 24.12.2019 в 11:25. Причина: исправление ошибок |
24.12.2019, 01:50 | #124 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Вот, что получилось на скорую руку.
Компилится в среде 4.13.4. В архиве классы+джава и готовые хеши. Очень хочеться что бы получилось настроить Ки-30. Буду рад участвовать и далее в проектах. --------------------------- Исправил очепятки 25 декабря. Последний раз редактировалось Vasya; 25.12.2019 в 11:21. |
24.12.2019, 12:02 | #125 | |
Местный
|
Цитата:
|
|
24.12.2019, 14:44 | #126 | |
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,807
|
Цитата:
Могу предположить, что проблема в изначальном наклонном положении хука стрелковой точки. То есть в момент старта миссии нулевыми считаются координаты "транспортного положения". У СБ - там где верхний шкас поднимается - ствол изначально горизонтально. В Р-5 и У-2 перемещение стволов реализовано через фейковый мешь. То есть крутится ствол, который не связан с хуком. после завершения анимации перевода в боевое положение фейковый ствол скрывается а связанный с хуком наоборот показывается. И он изначально в горизонтальном "рабочем" состоянии. Может попробовать так сделать? |
|
24.12.2019, 17:51 | #127 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
Я знаю, что это дубляж дефаулт. И шо? Просто раздел дефаулт с этой функцией можно не писать, но я пишу. Пререпроверка наличного вооружения. |
|
24.12.2019, 21:23 | #128 | ||
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Василий спасибо за помощь! Увы, но вашими классами вылет на 60%. Может потому, что у меня версия Ил-а 4.12?
Цитата:
Цитата:
Попробую разобрать хеши от Василия и глянуть дефолт Р-5. |
||
24.12.2019, 21:48 | #129 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Глянул Р-5 в дефолте. У него нет анимации подъема или спуска пулемета. Обычный жестко закрепленный вариант пулемета.
|
25.12.2019, 00:02 | #130 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
Скинь мне будь-ласка в личку планер с кокпитом - я посмотрю как работает анимация пулемётиста. И версия 4.12.2 - 4.13.4 должна быть без разницы. Там простой код. |
|
25.12.2019, 00:28 | #131 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Отправил в личку. Это версия с анимированным не стреляющим пулеметом и корявыми сканами за которые я еще не брался.
|
25.12.2019, 01:49 | #132 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
Сейчас проверю. Пока проверял классы: приделал 3До от Д3А2., миссия загрузилась в патчах 4.12.2 и в 4.13.4. Правда в кокпит не смог зайти - какчество приборов Айчы не соответствует классам от Ки-30. Попутно переписал фм и мотор для Айчи - буду тестить сегодня. На картинках планер Айчы на классах от Ки-30. |
|
25.12.2019, 02:21 | #133 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Уже грузиться в миссии.
Читаю фм и рою интернет. |
25.12.2019, 11:19 | #134 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Поисправлял мелкие очепятки и накалякал фм с мотором.
http://forum.aviaskins.com/showthrea...829#post203829 Всё грузиться в патчах 4.12.2 и 4.13.4. Скорость паспортная. Мотор откровенно слабый для самолёта более 3-х тонн. Разгоняеться по полосе вяленько. Скорость отрыва с триммерами в ноль - 190 км. в час. Есть некоторые артефакты в кокпите. Пулемёт и вправду не стреляет. Наверное нужен другой код. В Д3А2 пулемёт стоит ровно без наклона. Углы в коде - по моему - это углы отклонения пулемёта при стрельбе. Для перевода пулемёт в нерабочее положение нужно наверное задавать в коде ещё одно положение. Тут я не спец, чесно. Последний раз редактировалось Vasya; 25.12.2019 в 12:24. |
25.12.2019, 12:00 | #135 | |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Цитата:
Это да, кокпитом не занимался. Что ж "будем искать". К сожалению у меня крайне мало знаний по яве, а в иле относительно мало механизмов анимации огневых точек. Присматриваюсь к опускным башням как на Б-25. Если башня опускается, значит её можно и поднять, а дальше мысли теряются... Или механизм подобный СБ... |
|
25.12.2019, 22:09 | #136 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
японский кулэмэт Тип-89. http://www.airwar.ru/weapon/guns/type89-2.html |
|
25.12.2019, 23:24 | #137 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Василий, спасибо за работу, поставил Энн с твоим ФМ. Ты говоришь вялый мотор? Сравнил старую ФМ и новую, записи в аир.ини разные, так что можно. Так вот, при равной загрузке Твоя модель оказалась быстрее чем старая! А пулемет в Твоей загрузке уже новый стоит?
|
25.12.2019, 23:49 | #138 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
Переписать? Старая фм вообще от фонаря - там и близко нет данных для Ки-30, даже крыло больше на 7 метров по площади. Так как площадей и плечей у меня нет, то лопатил разные фм и подставлял для Ки-30 близкие значения. Разница с реально померянными плечами и площадями Ки-30 и записями в моей фм будут не очень большая: +- 15-30 см. Крило смотрел по твоей модели - оно интересной формы/профиля. Вообще то угол установки крыла там небольшой - 8-11 градусов, я поставил 13, иначе самолёт будет туповат на взлёте. Просто большинство не пользуется триммерами. С выкрученным триммером руля высоты даже с бомбами Ки-30 - думаю - взлетал на скорости 170-180 км. в час. В Иле тяга прописанного мотора немного меньше реальногй тяги мотора Ки-30. Издержки древности игры. Накрутить мощность, а потом зажать сопротивлением как это сделано в дефолте для многих моделей, полагаю не выход. Сопротивление крыла и самолёта расчитана под меньшую площадь - около 18 метров. Недостающее сопротивление игра сама вычисляет согласно прописанной площади крыла в фм. ------------------------------------------------------ Ки-30 развивает максимальную скорость на высоте 4050 метров. Можешь померять. Нажмёшь стабилизацию и радиатор 6. Последний раз редактировалось Vasya; 26.12.2019 в 02:11. Причина: исправление ошибок |
|
26.12.2019, 01:56 | #139 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Спасибо. Василий, это все тяжелая работа, но дело в том, что сама модель очень неточная. Все равно спасибо, даже если мы не знаем хотя бы приблизительных геометрических характеристик, то привяжем параметры к уже имеющейся модели. По поводу пулемета, велики ли там отличия от Виккерса? Пока смотрю анимацию СБ, Ю-86, и ранних Хеншелей-111. Хотя все это конечно не то, что надо...
|
26.12.2019, 02:34 | #140 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Цитата:
Замерил маневренность. Потом я снова тщательно пересчитал крыло и сопротивление, увеличил К_Макс. Улучшил аэродинамическое качество крыла выставил приблизительную подъёмную силу. Но на разбеге Ки-30 показался очень вялым. Хотя максималка пришла в норму со второй попытки: ничего потом уже не пересчитывал. И маневренность показалась приемлемой - даже слегка лучше, чем планировал. У нас ресурса в фм для отображения поведения самолёта намного больше, чем во Флайт-симуляторе. Там всё очень плоско - модели летают одинаково. По коду пулемёта: или оставить горизонтально, или просить Ут2 помочь. Другого выхода не вижу. И ещё: в 3Д модель Ки-30 нужно поставить мотораму и противопожарную перегородку - через цилиндры видны ноги пилота. И в кокпите нужно одеть стрелка, а то он пока зелебобик. Успехов! Кстати: я исправил сваливание Ки-32. В оригинальной фм кто то поломал К_Макс. Я весной не досмотрел эту корявость. Бывает так часто, что в САСовских фм встречаються очепятки и бяки. Я тоже делаю ошибки, особенно очепятки из-за плохого зрения. Вот пишу и радуюсь - сердечный приступ (больше часа держал) прошёл, думал ласты склею, даже сознание потерял на секунд 30-40, потом судорга всего дёрнула и пришёл в себя. Пидтоптаный уже, однако. Последний раз редактировалось Vasya; 26.12.2019 в 02:38. Причина: исправление ошибок |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|