|
|
|
#121 |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Код:
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,354
|
Код:
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,354
|
Взято из 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,354
|
Вот, что получилось на скорую руку.
Компилится в среде 4.13.4. В архиве классы+джава и готовые хеши. Очень хочеться что бы получилось настроить Ки-30. ![]() Буду рад участвовать и далее в проектах. ![]() --------------------------- Исправил очепятки 25 декабря. Последний раз редактировалось Vasya; 25.12.2019 в 11:21. |
|
|
|
|
|
#125 | |
|
Местный
|
Цитата:
|
|
|
|
|
|
|
#126 | |
|
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,890
|
Цитата:
Могу предположить, что проблема в изначальном наклонном положении хука стрелковой точки. То есть в момент старта миссии нулевыми считаются координаты "транспортного положения". У СБ - там где верхний шкас поднимается - ствол изначально горизонтально. В Р-5 и У-2 перемещение стволов реализовано через фейковый мешь. То есть крутится ствол, который не связан с хуком. после завершения анимации перевода в боевое положение фейковый ствол скрывается а связанный с хуком наоборот показывается. И он изначально в горизонтальном "рабочем" состоянии. Может попробовать так сделать? |
|
|
|
|
|
|
#127 | |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Цитата:
Я знаю, что это дубляж дефаулт. И шо? Просто раздел дефаулт с этой функцией можно не писать, но я пишу. Пререпроверка наличного вооружения. |
|
|
|
|
|
|
#128 | ||
|
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Василий спасибо за помощь! Увы, но вашими классами вылет на 60%. Может потому, что у меня версия Ил-а 4.12?
![]() Цитата:
Цитата:
![]() Попробую разобрать хеши от Василия и глянуть дефолт Р-5. |
||
|
|
|
|
|
#129 |
|
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Глянул Р-5 в дефолте. У него нет анимации подъема или спуска пулемета. Обычный жестко закрепленный вариант пулемета.
|
|
|
|
|
|
#130 | |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Цитата:
Скинь мне будь-ласка в личку планер с кокпитом - я посмотрю как работает анимация пулемётиста. ![]() И версия 4.12.2 - 4.13.4 должна быть без разницы. Там простой код. |
|
|
|
|
|
|
#131 |
|
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Отправил в личку. Это версия с анимированным не стреляющим пулеметом и корявыми сканами за которые я еще не брался.
|
|
|
|
|
|
#132 | |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Цитата:
Сейчас проверю. Пока проверял классы: приделал 3До от Д3А2., миссия загрузилась в патчах 4.12.2 и в 4.13.4. Правда в кокпит не смог зайти - какчество приборов Айчы не соответствует классам от Ки-30. Попутно переписал фм и мотор для Айчи - буду тестить сегодня. На картинках планер Айчы на классах от Ки-30. |
|
|
|
|
|
|
#133 |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Уже грузиться в миссии.
Читаю фм и рою интернет. |
|
|
|
|
|
#134 |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Поисправлял мелкие очепятки и накалякал фм с мотором.
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,354
|
Цитата:
японский кулэмэт Тип-89. http://www.airwar.ru/weapon/guns/type89-2.html ![]()
|
|
|
|
|
|
|
#137 |
|
Местный
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
|
Василий, спасибо за работу, поставил Энн с твоим ФМ. Ты говоришь вялый мотор? Сравнил старую ФМ и новую, записи в аир.ини разные, так что можно. Так вот, при равной загрузке Твоя модель оказалась быстрее чем старая! А пулемет в Твоей загрузке уже новый стоит?
|
|
|
|
|
|
#138 | |
|
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,354
|
Цитата:
Переписать? Старая фм вообще от фонаря - там и близко нет данных для Ки-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,354
|
Цитата:
Замерил маневренность. Потом я снова тщательно пересчитал крыло и сопротивление, увеличил К_Макс. Улучшил аэродинамическое качество крыла выставил приблизительную подъёмную силу. Но на разбеге Ки-30 показался очень вялым. Хотя максималка пришла в норму со второй попытки: ничего потом уже не пересчитывал. И маневренность показалась приемлемой - даже слегка лучше, чем планировал. У нас ресурса в фм для отображения поведения самолёта намного больше, чем во Флайт-симуляторе. Там всё очень плоско - модели летают одинаково. По коду пулемёта: или оставить горизонтально, или просить Ут2 помочь. Другого выхода не вижу. И ещё: в 3Д модель Ки-30 нужно поставить мотораму и противопожарную перегородку - через цилиндры видны ноги пилота. И в кокпите нужно одеть стрелка, а то он пока зелебобик. ![]() Успехов! Кстати: я исправил сваливание Ки-32. В оригинальной фм кто то поломал К_Макс. Я весной не досмотрел эту корявость. Бывает так часто, что в САСовских фм встречаються очепятки и бяки. Я тоже делаю ошибки, особенно очепятки из-за плохого зрения. Вот пишу и радуюсь - сердечный приступ (больше часа держал) прошёл, думал ласты склею, даже сознание потерял на секунд 30-40, потом судорга всего дёрнула и пришёл в себя. Пидтоптаный уже, однако.
Последний раз редактировалось Vasya; 26.12.2019 в 02:38. Причина: исправление ошибок |
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|