![]() |
Конечно хуки.
Без хуков 3До в окне простого редактора не соберётся. На нахер вар_класс. Только Property.set(class1. Я всегда исправляю, что бы Ил не сходил с ума от разночтений в коде. |
У меня большая прозьба:
нужно организовать ручное управление радиатором при автомате шага. Такой вид кода не компилится. Код:
public void onAircraftLoaded() При том, что в классе уже есть метод радиатора. Код:
public void update(float f) |
Вложений: 1
Василий, я не специалист и у нас разные компиляторы-декомпиляторы, но постараюсь помочь.
Первое, у меня не компилировался код с двумя методами управления чем либо, створки юбки капота, или масляный радиатор, управляющие поверхности, не важно. Метод управления для данной части должен быть один. Вот как на Ки-30 (на скрине). Требуется уточнение, для каких частей системы охлаждения мотора нужна анимация? К примеру на Гамма-5 или R-5 есть анимация только масляного радиатора. Вот пример выдвижного радиатора Р-5 Код:
|
Вот пример Ки-51, у этой модели анимированы и створки юбки капота и масляный радиатор.
Код:
|
Цитата:
Мне не анимация нужна. Анимацию я вписывать немного умею - несколько створок заставить двигаться - не проблема. У меня другой вопрос: нужно заставить работать радиатор именно в ручном режиме., сейчас радиатор в автоматическом режиме., пропеллер тип-8(лучше - конечно - тип 7, так будет оригиналнее)., у Фоки-4-8 нет раздела анимации створок, поэтому радиатор ручной., у Фоки-9 есть в классе код анимации, поэтому шаг автоматический., для Темпеста нужно заставить кодом работать радиатор в ручном режиме при автомате винта, а они увязаны в коде в глубинах классов. Если поставить шаг винта ручной - то и радиатор будет ручной. Но.... у мотора Темпеста обороты 3700 и винт весом 225 кг. При сбросе газа самолёт переворачивается и устремляется к земле, никакие манипуляции русом не помогают, только добавление тяги до 100 проц. Это такой баг в игре - сильно большие обороты - не стандартные для Ила. В дефолте обороты снизили до 3150, что бы не было бага переворачивания самолёта. Поэтому и спрашивал тут как вписать принудительное регулирование радиатора именно кодом в классе. Есть код на тип афтербуннера - и он работает. Причём тип и название афтербуннера пишется двумя разными методами и они прекрасно уживаются в одном классе. Такие пояснения относительного моего вопроса. :ok: |
Цитата:
Коллеги, может кто, что дельное подскажет? |
Цитата:
|
тут сложный вопрос - как разделить однотипные объекты?
В общем наверно можно в КП читать параметры с объектов (например высоту и удаленность) и после сортировки их выводить на экран. то есть в RotatingRadarGeneric ты создаешь переменные public float h; public float d; эти переменные внутри класса меняются у каждого объекта по своему в классе КП private RotatingRadarGeneric rrg; и читаешь переменные из класса rrg.h rrg.d остается вопрос - как распознать чьи это переменные? наверно можно при создании объекта генерить его уникальный код и передавать так же в КП |
А если попробовать сделать так -
Сделать основной класс NewRadarGeneric, в нем создавать массив целей. Класс RotatingRadarGeneric сделать наследником NewRadarGeneric public class RotatingRadarGeneric extends NewRadarGeneric и в нем заполнять массив класс КП тоже наследник NewRadarGeneric - в нем читать массив и выдавать целеуказания. |
А если попробовать сделать так -
Сделать основной класс NewRadarGeneric, в нем создавать массив целей. Класс RotatingRadarGeneric сделать наследником NewRadarGeneric public class RotatingRadarGeneric extends NewRadarGeneric и в нем заполнять массив класс КП тоже наследник NewRadarGeneric - в нем читать массив и выдавать целеуказания. |
А наследником ActorHMesh сделать класс КП. Изменить иерархию.
|
Я бы все таки попробовал сделать по аналогии классов тех же маяков - поменять иерархию наследования.
|
Доброго времени суток! Вопрос к знатокам...
Вот класс "Либерти", кораблик с тремя световыми эффектами которые включаются в ночное время суток. Подскажите пожалуйста как добавить еще один эффект, работающий постоянно, не зависимый от времени? Код:
/* Liberty_cargo_ship - Decompiled by JODE |
Еще бы хорошо, к коду в предыдущем посте, кроме постоянно работающего эффекта, добавить строки вращающегося меша. Подскажите как сделать плз.
|
В БАТ есть объекты сигнальные маяки, как раз вращаются, светят в две стороны
|
Спасибо за идею, но видимо плохо ищу... :cry: чего то не могу найти. За то вскрыл мод паровозов от wcat, с крутящимися колесами и... С явой в общем у меня проблемы.:cry: Разбираемся...
|
https://www.sas1946.com/main/index.p...html#msg691231
вот вроде сам мод, а поиском на САС по слову маяк - "Lighthouse" находится и что-то про Яву. |
Cпасибо, мод скачал, буду разбираться.
|
Здравствуйте. Прошу помощи в решении следующей задачи:
Имеется некий меш (А). Необходимо создать java код, который при нажатии определённой клавиши заставит этот меш повернуться вокруг оси на определённое количество градусов, а потом (или одновременно с этим) переместить меш на определённое количество метров вдоль какой-либо из осей. Прошу Гуру помочь в решении этой задачи. |
resetYPRmodifier(); - обнулить значения
//установить значение смещения по осям xyz[0] = 0.4f*setNew.fire; xyz[1] = 0.4f*setNew.fire; xyz[2] = 0.4f*setNew.fire; //установить поворот по посям ypr[0] = 0.4f*setNew.fire; ypr[1] = 0.4f*setNew.fire; ypr[2] = 0.4f*setNew.fire; mesh.chunkSetLocate("Z_Fire", xyz, ypr); //одновременный поворот и смещение указанного меша на ранее заданные значения. Можно только смещать (YPR просто не указываются) или только вращать (но вращать проще mesh.chunkSetAngles) |
К сожалению не получилось. Меш просто пропадает и всё. Хочу пояснить: я пытаюсь сделать анимацию отката рампы на Ан-26 на внешнем виде. Посмотрев реализацию сдвига фонаря на других самолётах увидел, что везде используется оператор вида:
Aircraft.xyz[1] = Aircraft.cvt((аргумент0)f, (аргумент1)F, (аргумент2)F, (аргумент3)F, (аргумент4)F); Можете объяснить значения этих аргументов? Правильно ли я делаю, используя переменную cvt? При попытке использовать Ваш код эклипс ругается на отсутствие переменной setNew |
Ну мой код не надо было прям копировать. :) Это был просто пример реализации. Я подозреваю что меш не пропадает, он просто очень сильно сдвигается. Оперировать надо сотыми долями при сдвиге.
Конструкция cvt работает следующим образом (на примере сдвига фонаря): resetYPRmodifier(); Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.55F); hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr); Aircraft.xyz[1] или Aircraft.xyz[0] или Aircraft.xyz[2] - ось по которой будет происходить сдвиг дальше можно расшифровать так - при значениях F от 0.01 до 0.99 установить значение Aircraft.xyz[1] (т.е. сдвинуть) от 0.0 до 0.55 оператор cvt устанавливает значение переменной в зависимости от другой переменной используя диапазон изменений. переменная фонаря изменяется от 0 (закрыт) до 1 (открыт) при этом значения положения меняются плавно от 0 к 1. с помощью CVT положение меша меняется плавно от 0 до 0.55, то есть происходит визуальное открытие фонаря. |
Спасибо! Всё получилось. :beer:
|
Вложений: 1
Опять у меня залипуха с Ан-26 (точнее с его рампой). В оригинальном моде открытие рампы "завязано" на управление воздушным тормозом (moveAirBrake). Но тогда у ботов десантирование людей и грузов происходит "сквозь рампу", то есть она(рампа) при десантировании ботами не открывается(откатывается). Я попробовал "привязать" управление рампой на управление створками бомболюка (moveBayDoor). Почти получилось, теперь боты при десантировании исправно открывают и закрывают рампу, но не устраивают два момента:
1. Откат рампы происходит очень быстро, можно ли каким либо образом увеличить время отката (хотя бы вдвое)? 2. У самолёта игрока нет блокировки срабатывания кнопки "сброса бомб"(сброса десантников или груза) при закрытых "створках бомболюка"(рампы). То есть если игрок нажимает кнопку"оружие 4" рампа открывается автоматически и после десантирования половины десантников так же автоматически закрывается и оставшиеся десантники прыгают сквозь рампу. Можно это как то поправить? Ну и ещё хотелось бы сохранить звук работы гидравлики открытия\закрытия рампы, потому что после "перепривязки" звук исчез. Если у Вас, уважаемый Asura, найдутся время и желание объяснить "чайнику" нюансы java-кода, прошу помочь мне справиться с этими проблемами. |
Вложений: 1
Цитата:
private float bcurpos ; if (FM.CT.BayDoorControl < 0.5f) { bcurpos -= 0.2F * f; if(bcurpos < 0.0F) bcurpos = 0.0F; } else { bcurpos += 0.2F * f; if(bcurpos > 1.0F) bcurpos = 1.0F; } это вставить в public void update(float f), ту да же вставить код сдвигания рампы. protected void moveBayDoor(float f) не используется. Это не рабочий код - это пример возможной реализации. Скорость открытия можно регулировать изменением множителя bcurpos -= 0.2F * f; Цитата:
Цитата:
|
Цитата:
protected void moveBayDoor(float f), то скорость открытия не изменяется. Если же удалить код открытия рампы из protected void moveBayDoor(float f), равно как и закоментить этот оператор, то рампа вообще не открывается. |
Вот так с ходу сложно придумать какой нибудь "замедлитель". Скорость открывания есть только у блистера. Как вариант само движение повесить на код открывания кабины и в нем ручками устанавливать открыт бомболюк или нет FM.CT.BayDoorControl = 0 или 1 для управления - можно бросать десант или нет.
|
Уважаемые коллеги прошу помощи. Вот класс корабля с ходовыми огнями, выделено черным, которые включаются ночью. Что и где нужно прописать что бы добавить эффект работающий круглосуточно?
Код:
/* Old_Gunboat - Decompiled by JODE |
Цитата:
|
Цитата:
|
Вложений: 3
Василий, то что для тебя яснее ясного, для меня темный лес. В яве я чуть меньше чем никак.:( Потому и прошу о помощи.
Спасибо всем откликнувшимся. Помогла вот такая простенькая конструкция. Добавил еще один "паровозный" дымок. Как бы стравливаемый пар. При поражении судна парит постоянно, что то вроде предохранительного клапана. Теперь научить бы ходовые огни гаснуть при появлении врага и одновременно включать еще один, дополнительный эффект. Код:
/* Old_Gunboat - Decompiled by JODE |
Уважаемые коллеги подскажите пожалуйста код для включения/ выключения меша. При появлении врага меш должен включится, как только враг улетит/уничтожен, меш должен выключиться. Возможно ли такое в принципе?
|
Здравствуйте. Подскажите, какой класс или переменная отвечает за измерение истинной скорости(та, которая отображается на виде без кабины)?
|
Если нужны цифровые значения то можно так:
spd = (int)(3.6f*Pitot.Indicator((float)World.getPlayerF M().Loc.z, World.getPlayerFM().getSpeed())*0.1f)*10; tas = (int)(3.6f*World.getPlayerFM().getSpeed()); Если для прибора то так (для американцев): mesh.chunkSetAngles("Z_Speed_1", 0.0F, floatindex(cvt(Pitot.Indicator((float) fm.Loc.z, fm.getSpeedKMH()) * 1.131F, 74.07994F, 1222.31894F, 0.0F, 14F), speedometerScale), 0.0F); mesh.chunkSetAngles("Z_Speed_2", 0.0F, floatindex(cvt(fm.getSpeedKMH() * 1.131F, 74.07994F, 1222.31894F, 0.0F, 14F), speedometerScale), 0.0F); или для наших: mesh.chunkSetAngles("zTAS", 0.0F, floatindex(cvt(fm.getSpeedKMH(), 400F, 1100F, 0.0F, 2.0F), tasScale), 0.0F); mesh.chunkSetAngles("zSpeed", 0.0F, floatindex(cvt(Pitot.Indicator((float)fm.Loc.z, fm.getSpeedKMH()), 0.0F, 750F, 0.0F, 14F), speedometerScale), 0.0F); |
Спасибо! Всё получилось.
|
Здравствуйте. Интересуют классы радиомаяков системы слепой посадки. Хочу сделать дальность срабатывания курсового и глиссадного маяков разными. Сейчас оба маяка начинают "перемещать планки" на приборе на расстоянии 35 км от них. В реальности глиссадный радиомаяк имеет дальность действия 18-20 км в отличие от курсового с дальностью до 48 км. Если не затруднит, подскажите, куда копать?
|
Подскажите пожалуйста. Согласно этому
https://www.patrulla-azul.com/FreeIL...php?f=45&t=311 руководству добавил в БАТ стационарник. Вроде получилось, самолет в игре есть, в миссиях появляется. Первый блин не комом. Но покоя нет. В БАТ папке vehicles/planes кроме классов вида Plane$A6M_21.class например, какие создались у меня снова в конечной папке, есть еще просто A6M_21.class. Они не создались. Вопрос. А что это за доп классы? Они нужны? Инструкция то не очень новая. Может чего поменялось? |
Классы со знаком "Аля доллар" в названии это типа внутренние классы внутри самого основного класса. В зависимости от кода в основном классе они могут создаваться, а могут и не создаваться при компиляции(ещё от среды компиляции зависит). Это я так все упрощённо описал. Каждый конкретный случай очень индивидуален. Мне кажется, что если скомпилировался основной клас без классов " Аля доллар" в названии и при этом все работает, то не заморачивайтесь, не мешайте работать игре. Это уж если все коряво работает, тогда уже и будете изучать "Аля внутренние" классы, в чем я и сам не силен.
|
Текущее время: 22:54. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot