|
![]() |
#121 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Код:
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; |
![]() |
![]() |
![]() |
#122 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Код:
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) { } } } |
![]() |
![]() |
![]() |
#123 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]()
Взято из 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. Причина: исправление ошибок |
![]() |
![]() |
![]() |
#124 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]()
Вот, что получилось на скорую руку.
Компилится в среде 4.13.4. В архиве классы+джава и готовые хеши. Очень хочеться что бы получилось настроить Ки-30. ![]() Буду рад участвовать и далее в проектах. ![]() --------------------------- Исправил очепятки 25 декабря. Последний раз редактировалось Vasya; 25.12.2019 в 11:21. |
![]() |
![]() |
![]() |
#125 | |
Местный
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#126 | |
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,863
|
![]() Цитата:
Могу предположить, что проблема в изначальном наклонном положении хука стрелковой точки. То есть в момент старта миссии нулевыми считаются координаты "транспортного положения". У СБ - там где верхний шкас поднимается - ствол изначально горизонтально. В Р-5 и У-2 перемещение стволов реализовано через фейковый мешь. То есть крутится ствол, который не связан с хуком. после завершения анимации перевода в боевое положение фейковый ствол скрывается а связанный с хуком наоборот показывается. И он изначально в горизонтальном "рабочем" состоянии. Может попробовать так сделать? |
|
![]() |
![]() |
![]() |
#127 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
Я знаю, что это дубляж дефаулт. И шо? Просто раздел дефаулт с этой функцией можно не писать, но я пишу. Пререпроверка наличного вооружения. |
|
![]() |
![]() |
![]() |
#128 | ||
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]()
Василий спасибо за помощь! Увы, но вашими классами вылет на 60%. Может потому, что у меня версия Ил-а 4.12?
![]() Цитата:
Цитата:
![]() Попробую разобрать хеши от Василия и глянуть дефолт Р-5. |
||
![]() |
![]() |
![]() |
#129 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]()
Глянул Р-5 в дефолте. У него нет анимации подъема или спуска пулемета. Обычный жестко закрепленный вариант пулемета.
|
![]() |
![]() |
![]() |
#130 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
Скинь мне будь-ласка в личку планер с кокпитом - я посмотрю как работает анимация пулемётиста. ![]() И версия 4.12.2 - 4.13.4 должна быть без разницы. Там простой код. |
|
![]() |
![]() |
![]() |
#131 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]()
Отправил в личку. Это версия с анимированным не стреляющим пулеметом и корявыми сканами за которые я еще не брался.
|
![]() |
![]() |
![]() |
#132 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
Сейчас проверю. Пока проверял классы: приделал 3До от Д3А2., миссия загрузилась в патчах 4.12.2 и в 4.13.4. Правда в кокпит не смог зайти - какчество приборов Айчы не соответствует классам от Ки-30. Попутно переписал фм и мотор для Айчи - буду тестить сегодня. На картинках планер Айчы на классах от Ки-30. |
|
![]() |
![]() |
![]() |
#133 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]()
Уже грузиться в миссии.
Читаю фм и рою интернет. |
![]() |
![]() |
![]() |
#134 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]()
Поисправлял мелкие очепятки и накалякал фм с мотором.
http://forum.aviaskins.com/showthrea...829#post203829 Всё грузиться в патчах 4.12.2 и 4.13.4. Скорость паспортная. Мотор откровенно слабый для самолёта более 3-х тонн. Разгоняеться по полосе вяленько. Скорость отрыва с триммерами в ноль - 190 км. в час. Есть некоторые артефакты в кокпите. Пулемёт и вправду не стреляет. Наверное нужен другой код. В Д3А2 пулемёт стоит ровно без наклона. Углы в коде - по моему - это углы отклонения пулемёта при стрельбе. Для перевода пулемёт в нерабочее положение нужно наверное задавать в коде ещё одно положение. Тут я не спец, чесно. Последний раз редактировалось Vasya; 25.12.2019 в 12:24. |
![]() |
![]() |
![]() |
#135 | ||
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]() Цитата:
Это да, кокпитом не занимался. Цитата:
![]() |
||
![]() |
![]() |
![]() |
#136 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
японский кулэмэт Тип-89. http://www.airwar.ru/weapon/guns/type89-2.html ![]() ![]() |
|
![]() |
![]() |
![]() |
#137 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]()
Василий, спасибо за работу, поставил Энн с твоим ФМ. Ты говоришь вялый мотор? Сравнил старую ФМ и новую, записи в аир.ини разные, так что можно. Так вот, при равной загрузке Твоя модель оказалась быстрее чем старая! А пулемет в Твоей загрузке уже новый стоит?
|
![]() |
![]() |
![]() |
#138 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
Переписать? Старая фм вообще от фонаря - там и близко нет данных для Ки-30, даже крыло больше на 7 метров по площади. Так как площадей и плечей у меня нет, то лопатил разные фм и подставлял для Ки-30 близкие значения. Разница с реально померянными плечами и площадями Ки-30 и записями в моей фм будут не очень большая: +- 15-30 см. Крило смотрел по твоей модели - оно интересной формы/профиля. Вообще то угол установки крыла там небольшой - 8-11 градусов, я поставил 13, иначе самолёт будет туповат на взлёте. Просто большинство не пользуется триммерами. С выкрученным триммером руля высоты даже с бомбами Ки-30 - думаю - взлетал на скорости 170-180 км. в час. В Иле тяга прописанного мотора немного меньше реальногй тяги мотора Ки-30. Издержки древности игры. Накрутить мощность, а потом зажать сопротивлением как это сделано в дефолте для многих моделей, полагаю не выход. Сопротивление крыла и самолёта расчитана под меньшую площадь - около 18 метров. Недостающее сопротивление игра сама вычисляет согласно прописанной площади крыла в фм. ------------------------------------------------------ Ки-30 развивает максимальную скорость на высоте 4050 метров. ![]() Можешь померять. ![]() Нажмёшь стабилизацию и радиатор 6. Последний раз редактировалось Vasya; 26.12.2019 в 02:11. Причина: исправление ошибок |
|
![]() |
![]() |
![]() |
#139 |
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
![]()
Спасибо. Василий, это все тяжелая работа, но дело в том, что сама модель очень неточная. Все равно спасибо, даже если мы не знаем хотя бы приблизительных геометрических характеристик, то привяжем параметры к уже имеющейся модели. По поводу пулемета, велики ли там отличия от Виккерса? Пока смотрю анимацию СБ, Ю-86, и ранних Хеншелей-111. Хотя все это конечно не то, что надо...
|
![]() |
![]() |
![]() |
#140 | |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,294
|
![]() Цитата:
Замерил маневренность. Потом я снова тщательно пересчитал крыло и сопротивление, увеличил К_Макс. Улучшил аэродинамическое качество крыла выставил приблизительную подъёмную силу. Но на разбеге Ки-30 показался очень вялым. Хотя максималка пришла в норму со второй попытки: ничего потом уже не пересчитывал. И маневренность показалась приемлемой - даже слегка лучше, чем планировал. У нас ресурса в фм для отображения поведения самолёта намного больше, чем во Флайт-симуляторе. Там всё очень плоско - модели летают одинаково. По коду пулемёта: или оставить горизонтально, или просить Ут2 помочь. Другого выхода не вижу. И ещё: в 3Д модель Ки-30 нужно поставить мотораму и противопожарную перегородку - через цилиндры видны ноги пилота. И в кокпите нужно одеть стрелка, а то он пока зелебобик. ![]() Успехов! Кстати: я исправил сваливание Ки-32. В оригинальной фм кто то поломал К_Макс. Я весной не досмотрел эту корявость. Бывает так часто, что в САСовских фм встречаються очепятки и бяки. Я тоже делаю ошибки, особенно очепятки из-за плохого зрения. Вот пишу и радуюсь - сердечный приступ (больше часа держал) прошёл, думал ласты склею, даже сознание потерял на секунд 30-40, потом судорга всего дёрнула и пришёл в себя. Пидтоптаный уже, однако. ![]() Последний раз редактировалось Vasya; 26.12.2019 в 02:38. Причина: исправление ошибок |
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|