#p95028,Onealex написал(а):Во многих модах есть возможность поставить/убрать экипаж на палубу лодки сочетанием клавиш
Прописыванием комбинаций кнопок делу не поможешь. Тут проблема в командах. Для навигатора, румыны подготовили вот такой набор возможных команд. Часть трогать вообще нельзя (паттерны движения, рапорты), относительно независимыми можно считать только две команды (Navigation_officer Navigation_officer_end). Тебе надо открыть файлы управления анимацией, они лежат в папке library и могут называться... Ну, у меня называется UZOControll.dat для узошки, а болванов на палубе мне сто лет не надо, так что перебирать папку и искать управляющий файл придётся самостоятельно. В твоём случае команды в Commands выглядят примерно так:
[Cmd***]
Name=Navigation_officer
Ctxt=1
GoBack=Navigator_view
Key0=0x55,Cs,"SHIFT+U"
[Cmd***]
Name=Navigation_officer_end
Ctxt=1
Key0=0x55,Cc,"Ctrl+U"
Кнопки которые ты здесь пропишешь совершенно не важны (хоть U хоть N), это исключительно пользовательская заморочка и главное, чтоб они не повторялись на других командах, а то будут вызывать парное срабатывание команд (если не задумано обратное). Команды вызова экипажа на палубу, тоже ссылаются на эту команду. И активируя её, ты вызываешь одновременно и UZO и экипаж. Переделывать UZO не стоит, а после нахождения управляющего файла экипажа, надо установить, что это именно он (в файле расположен контроллер StateMachineClass), открыть секции "StateEntries" и раскрывая свитки найти все строки Expression=Order в них прописаны те команды, по которым происходит срабатывание кода. Я подозреваю, что в этом файле, везде будет ссылка на Navigation_officer и Navigation_officer_end. Теперь ключевой моент, а ты вымпелы на перископе используешь? Если нет, то можешь прописать в файл взамен Navigation_officer : AAGuns_Update_target а взамен Navigation_officer_end : DGuns_Update_target. Это команды вахтенного и их кроме вымпелов ни кто не использует. Для пушек и зен они тоже не несут смысла, хотя... это предположение, но вероятно, эти команды для обновления стрелков в случае их гибели. Теперь открывай Commands и копи/пастом через поиск (чтоб не скролить) вставляй "AAGuns_Update_target" и приводи её к такому виду:
[Cmd***]
Name=AAGuns_Update_target
Ctxt=1
Key0=0x4B,Cs,"SHIFT+K"
Тоже самое и с DGuns_Update_target
[Cmd***]
Name=DGuns_Update_target
Ctxt=1
Key0=0x4B,Cс,"Ctrl+K"
Вот теперь, всё будет работать независимо. Буквы для экипажа сам пропишешь, для примера я прописал "K". А чтоб не ломать голову, вот полный список кнопок. Он уже закоментирован и его можно вставить вниз Commands чтоб был всегда под рукой.
Ну, а если у тебя стоят вымпелы, да ещё люк между отсеками анимирован, то сложно что-то посоветовать. Свободных команд, которые не вызывают какое-то действие не так и много, а по мере появления модов, свободные команды были использованы на всякую мишуру. С другой стороны, вымпелы и болванчики рядком будут прекрасно дополнять друг друга. Нажал пимпу и вымпелы с экипажем оптом появились, а?
Прим: Один тонкий момент, у меня под рукой только вымпелы первой серии от Anvart-a у него, на подъём вымпелов, прописана команда "AAGuns_Update_target", а на спуск "DGuns_Update_target". Если у тебя вымпелов нету и не планируется устанавливать, то это уже не важно. В противном случае, надо проверить, какая команда поднимает вымпелы у тебя и прописать её для вызова экипажа. Тоже самое и для спуска вымпелов.
Команды навигатора из ядра игры|Свернуть
CMD_Navigation_officer,
CMD_Choose_destination_point,
CMD_Plot_course,
CMD_Return_to_course,
CMD_Search_pattern_1,
CMD_Search_pattern_2,
CMD_Search_pattern_3,
CMD_Report_time_to_turn,
CMD_Report_time_to_course_end,
CMD_Report_range_to_course_end,
CMD_Report_depth_under_keel,
CMD_Report_weather,
CMD_Navigation_officer_end,
Коды батонов|Свернуть
;0x01 Left mouse button
;0x02 Right mouse button
;0x03 Control-break processing
;0x04 Middle mouse button (three-button mouse)
;0x08 BACKSPACE key
;0x09 TAB key
;0x0C CLEAR key
;0x0D ENTER key
;0x10 SHIFT key
;0x11 CTRL key
;0x12 ALT key
;0x13 PAUSE key
;0x14 CAPS LOCK key
;0x1B ESC key
;0x20 SPACEBAR
;0x21 PAGE UP key
;0x22 PAGE DOWN key
;0x23 END key
;0x24 HOME key
;0x25 LEFT ARROW key
;0x26 UP ARROW key
;0x27 RIGHT ARROW key
;0x28 DOWN ARROW key
;0x29 SELECT key
;0x2A PRINT key
;0x2B EXECUTE key
;0x2C PRINT SCREEN key
;0x2D INS key
;0x2E DEL key
;0x2F HELP key
;0x30 0 key
;0x31 1 key
;0x32 2 key
;0x33 3 key
;0x34 4 key
;0x35 5 key
;0x36 6 key
;0x37 7 key
;0x38 8 key
;0x39 9 key
;0x41 A key
;0x42 B key
;0x43 C key
;0x44 D key
;0x45 E key
;0x46 F key
;0x47 G key
;0x48 H key
;0x49 I key
;0x4A J key
;0x4B K key
;0x4C L key
;0x4D M key
;0x4E N key
;0x4F O key
;0x50 P key
;0x51 Q key
;0x52 R key
;0x53 S key
;0x54 T key
;0x55 U key
;0x56 V key
;0x57 W key
;0x58 X key
;0x59 Y key
;0x5A Z key
;0x60 Numeric keypad 0 key
;0x61 Numeric keypad 1 key
;0x62 Numeric keypad 2 key
;0x63 Numeric keypad 3 key
;0x64 Numeric keypad 4 key
;0x65 Numeric keypad 5 key
;0x66 Numeric keypad 6 key
;0x67 Numeric keypad 7 key
;0x68 Numeric keypad 8 key
;0x69 Numeric keypad 9 key
;0x6C Separator key
;0x6D Subtract key
;0x6E Decimal key
;0x6F Divide key
;0x70 F1 key
;0x71 F2 key
;0x72 F3 key
;0x73 F4 key
;0x74 F5 key
;0x75 F6 key
;0x76 F7 key
;0x77 F8 key
;0x78 F9 key
;0x79 F10 key
;0x7A F11 key
;0x7B F12 key
;0x90 NUM LOCK key
;0x91 SCROLL LOCK key
;0xA0 Left SHIFT key
;0xA1 Right SHIFT key
;0xA2 Left CONTROL key
;0xA3 Right CONTROL key
;0xA4 Left MENU key
;0xA5 Right MENU key
;0xFA Play key
;0xFB Zoom key
#p95051,Trossschiff написал(а):Подскажите пожалуйста, с какими файлами взаимодействуют ноды файла particles.dat?
Вот например стоковая library от СХ3. Стрелками указаны прямые связи на particles. По сути, этот файл является главным сборником генераторов спецэффектов. Вмести с ним связан файл Materials.dat где расположены текстурки дымов, огня и прочего разноцветного, плюс, здесь находится часть простых генераторов используемых в сложных связках эффектов из particles.
Что касается связи с файлами орудий, то путь немного длиннее чем кажется. Пушка, точнее её контроллер из guns.sim, ссылается на эффект выстрела Fire > effect= ***id и на снаряд из файла Shells.dat а сам снаряд, точнее его контроллер из Shells.sim на эффект трассера, попадания, всплеска, самоуничтожения. Sim, dat файлы надо рассматривать как одно целое, т.е. если есть три файла guns.dat, guns.sim, guns.zon то это значит, что файлы связаны друг с другом, в dat модель, в sim параметры работы модели, в zon ессно демедж боксы модели. В правом, верхнем углу S3D есть панелька, где программа отображает все связанные файлы, можно кликнуть и программа сама откроет выбранный файл. Файлы бомб и губинок тоже ссылаются на на particles.dat заставляя генерировать, всплески, пузырьки, взрывы. При этом надо учитывать, что ссылка на эффект прописана не буквами, а вписывается id главного нода эффекта.
Дымы выхлопов кораблей ссылались в стоке на эффект #funnel_smoke из particles но это сильно портило картину с разными двигательными установками и мододелы собрали модик "particles_funnelsmoke" в нём выхлопы разбиты на четыре группы. Корабли в гигамодах тоже переписали на эти дымы, но при добавлении новодела, он как правило ссылается на сток. Надо переписать на нормальные выхлопы в sim файле корабля, контроллер "obj_Funnel". В любом случае, проверить эту связь стоит сразу.
А вот эффекты взрывов, горения, при их множестве в partiles, прописаны в Zones. Суть такова, например демедж бокс корабля:
[Funnels]
Multiplier=1.000000
Flotability=0.000000
HitPoints=15
Destructible=Yes
Effect1=#Splinter_explosion, 100
Armor Level=-1
Critic Flotation=0.300000
Critical=No
FloodingTime=59.999996
CargoType=None
Ясно из названия, что этот бокс навешивается на корабельную трубу и судя из строки эффекта, при полном уничтожении бокса трубы, сработает эффект #Splinter_explosion. Пожалуй, это единственное место, где можно писать эффекты не через их id а по людски - буквами названия. Сюда можно прописывать эффекты с префиксом # в названии. Если после запятой, после названия эффекта, стоит 100 то это равно 100%, если 50, то 50% повреждений и т.д. После достижения повреждений указанного значения происходит старт эффекта. Если планируется прописать несколько эффектов на один бокс, то надо инкрементировать нумерацию, т.е. Effect1=*** Effect2=*** Effect3=*** и т.д. Вот как это выглядит с боксом грузов на палубе;
[Load]
Multiplier=1.000000
Flotability=0.000000
HitPoints=25
Destructible=Yes
Effect1=#Fire_small, 40
Effect2=#Small_splinter_explosion, 100
Armor Level=5
Critic Flotation=0.300000
Critical=No
FloodingTime=59.999996
CargoType=None
Crash Depth=6
При 40% груз загорится, при 100% произойдёт взрыв.
Ссылки на эффекты, пример|Свернуть
Для установления проблемы с отсутствием материалов для эффекта дыма нужно, открыть sim файл проблемного корабля, открыть его контроллер дымовой трубы "obj_Funnel" скопировать id ссылку на эффект, открыть инструменты S3D и выполнить поиск файла по id во всей папке library, вероятно, поиск укажет на particles, далее, открыть указанный поиском файл и в самом эффекте найти id материала дымы и поискать его в materials. Если окажется, что материала вообще нету, или есть, но без текстуры, даже, в текстурной папке, то можно, прописать новый материал и подобрать для него интересную текстурку, а можно переписать адрес дыма у самого корабля на "particles_funnelsmoke" (если нету поищи в модах, или стукнись, у меня есть дома).