Доброго времени суток! Подскажите по такому вопросу - Есть сторонний мод техники. В редакторе в разделе "ПУСТО", в списке классов эта техника находится не в группе "бронетехника" , "машины" или "авиация", а лежит под своим собственным названием группы. Есть возможность вскрыв мод изменить название группы так, чтобы эта техника отображалась в одной из стандартных групп ("бронетехника" , "машины" или "авиация")? Для чего это нужно - Есть замечательный мод "Virtual venchiclebox System" (тоже самое что и Virtual Ammobox System , только для техники), так вот этот мод распознаёт в игре только ту технику, которая лежит в стандартных группах "бронетехника" , "машины" или "авиация". Может есть способы научить сам "Virtual venchiclebox System" распознавать моды техники с другим названием группы?
Как изменить название группы?
#1 OFFLINE
Posted 14 February 2014 - 21:31
#2 OFFLINE
Posted 15 February 2014 - 03:48
Надо полагать, речь идет о скрипте Virtual Vehicle Spawner? Найди файл configuration.sqf и добавь класс техники из мода в соответствующий массив VVS_x. Т.е., допустим, мод добавляет автомобиль, класс которого называется MOD_Car_01_F. Значит, нужно будет изменить configuration.sqf следующим образом: VVS_Car = ["MOD_Car_01_F"]; Класс можно узнать, кликнув два раза по технике в редакторе - он будет написан справа-сверху открывшегося окошка.
#3 OFFLINE
Posted 15 February 2014 - 14:09
Да! Сделал как ты сказал, но получается так что новая техника не добавилась к списку, а стала единственной. Тоесть видно только ту технику которую я прописал.
Это изначальные настройки по умолчанию (стандартная техника вся видна!)
//Only display vehicles for that players side, if true Opfor can only spawn Opfor vehicles and so on.
VVS_SideOnly = false;
//Only set to true if you are making pre-made vehicle lists with VVS_x (i.e VVS_Car)
VVS_Premade_List = false;
//If you are going to use Pre-set VVS Vehicles it is recommended to set this to true as it will not run through the config saving CPU resources on initialization, otherwise leave as default.
VVS_Premade_List = false;
/*
Pre-set VVS Vehicles
This is similar to VAS's functionality, using these variables will only make those vehicles available.
Leave them the way they are if you want to auto-fetch the entire vehicle config and list every vehicle.
Example:
VVS_Car = ["C_Offroad_01_F","C_Quadbike_01_F"];
VVS_Air = ["B_Heli_Light_01_armed_F"];
*/
VVS_Car = [];
VVS_Air = [];
VVS_Ship = [];
VVS_Armored = [];
VVS_Submarine = [];
VVS_Autonomous = [];
VVS_Support = [];
/*
Vehicle restriction
Again, similar to VAS's functionality. If you want to restrict a specific vehicle you can do it or
you can restrict an entire vehicle set by using its base class.
Example:
VVS_Car = ["Quadbike_01_base_F"]; //Completely removes all quadbikes for all sides
VVS_Air = ["B_Heli_Light_01_armed_F"]; //Removes the Pawnee
*/
VVS_R_Car = [];
VVS_R_Air = [];
VVS_R_Ship = [];
VVS_R_Armored = [];
VVS_R_Submarine = [];
VVS_R_Autonomous = [];
VVS_R_Support = [];
Это моя настройка ( Вписал класс техники "HMMWV2_MK19" в группу VVS_Car = []; ) и теперь в боксе показывается только HMMWV2_MK19
//Only display vehicles for that players side, if true Opfor can only spawn Opfor vehicles and so on.
VVS_SideOnly = false;
//Only set to true if you are making pre-made vehicle lists with VVS_x (i.e VVS_Car)
VVS_Premade_List = false;
//If you are going to use Pre-set VVS Vehicles it is recommended to set this to true as it will not run through the config saving CPU resources on initialization, otherwise leave as default.
VVS_Premade_List = false;
/*
Pre-set VVS Vehicles
This is similar to VAS's functionality, using these variables will only make those vehicles available.
Leave them the way they are if you want to auto-fetch the entire vehicle config and list every vehicle.
Example:
VVS_Car = ["C_Offroad_01_F","C_Quadbike_01_F"];
VVS_Air = ["B_Heli_Light_01_armed_F"];
*/
VVS_Car = ["HMMWV2_MK19"];
VVS_Air = [];
VVS_Ship = [];
VVS_Armored = [];
VVS_Submarine = [];
VVS_Autonomous = [];
VVS_Support = [];
/*
Vehicle restriction
Again, similar to VAS's functionality. If you want to restrict a specific vehicle you can do it or
you can restrict an entire vehicle set by using its base class.
Example:
VVS_Car = ["Quadbike_01_base_F"]; //Completely removes all quadbikes for all sides
VVS_Air = ["B_Heli_Light_01_armed_F"]; //Removes the Pawnee
*/
VVS_R_Car = [];
VVS_R_Air = [];
VVS_R_Ship = [];
VVS_R_Armored = [];
VVS_R_Submarine = [];
VVS_R_Autonomous = [];
VVS_R_Support = [];
#4 OFFLINE
Posted 15 February 2014 - 15:09
Не знаю, в чем твоя проблема. Я поставил аддон с армаголика HAFM - ArmA 2 HMMWVs import (версия 3), скрипт VVS взял оттуда же (версия 0.3), точно также вписал класс этого хаммера с гранатометом, и у меня остальная техника никуда не исчезает. Прописывал я в уже готовую миссию, которая прилагается к скрипту VVS (которая VVS.Stratis). Если ты к своей миссии прикручивал VVS, может, ошибся где-то? Попробуй на стандартной миссии так сделать. Если не получится, есть вариант прописать VVS_Premade_List = true; и перечислить вообще всю технику в массивах VVS_Car, VVS_Air и т.д.
#5 OFFLINE
Posted 15 February 2014 - 15:41
Всё правильно. У меня тоже версия 3 и VVS версия 0,3. Сделал по твоему совету - прописал в VVS миссии в configuration.sqf - VVS_Car = ["HMMWV2_MK19"]; Зашел в редактор, запустил мисcию VVS и на точке респа (VVS_car_1 с названием Car Depot) отреспил только один HMMWV2_MK19. Кроме него в списке других машин не было. Может ты спутал точку респа VVS_car_1 (название Car Depot) с точкой респа VVS_all_1? На точке респа VVS_all_1 в таком случае в списке отображается HMMWV2_MK19, танки, воздушная техника, морская, поддержка - кроме автомобилей.
Повторюсь. Из машин отображается только HMMWV2_MK19. Остальных машин (именно машин, а не другой техники) не видно
Если из VVS_Car = ["HMMWV2_MK19"]; убрать "HMMWV2_MK19", то в таком случае всё отображается. Вся техника НО ТОЛЬКО без HMMWV2_MK19 (
#6 OFFLINE
Posted 15 February 2014 - 16:55
Да, ты прав, я невнимательно посмотрел. Действительно, машинки остальные пропадают.
Попробуй сделать следующее: найди файл fn_buildCfg.sqf
В этом файле найди строчку //Skim over and make sure VVS_x isn't built for a pre-made vehicle list.
Далее, кусок кода, который следует за ней, измени на код ниже - в оригинале были явные опечатки.
if(count VVS_Car > 0) then {VVS_pre_Car = VVS_Car;}; if(count VVS_Air > 0) then {VVS_pre_Air = VVS_Air;}; if(count VVS_Ship > 0) then {VVS_pre_Ship = VVS_Ship;}; if(count VVS_Submarine > 0) then {VVS_pre_Submarine = VVS_Submarine;}; if(count VVS_Armored > 0) then {VVS_pre_Armored = VVS_Armored;}; if(count VVS_Autonomous > 0) then {VVS_pre_Autonomous = VVS_Autonomous;}; if(count VVS_Support > 0) then {VVS_pre_Support = VVS_Support;};
Далее, найди строчку switch(_vehicleClass) do
Измени этот кусок следующим образом:
switch(_vehicleClass) do { case "Car": { VVS_pre_Car set[count VVS_pre_Car,_className]; }; case "Air": { VVS_pre_Air set[count VVS_pre_Air,_className]; }; case "Ship": { VVS_pre_Ship set[count VVS_pre_Ship,_className]; }; case "Submarine": { VVS_pre_Submarine set[count VVS_pre_Submarine,_className]; }; case "Armored": { VVS_pre_Armored set[count VVS_pre_Armored,_className]; }; case "Autonomous": { VVS_pre_Autonomous set[count VVS_pre_Autonomous,_className]; }; case "Support": { VVS_pre_Support set[count VVS_pre_Support,_className]; }; };
После этого, все должно нормально работать.
Автор скрипта ввел специальную переменную VVS_Premade_List, которая должна отвечать за то, будут ли браться машинки только из массивов VVS_ или из конфигов игры тоже. Но потом автор полностью игнорирует эту переменную, и не добавляет машинки из конфигов, если в массивах что-то добавлено. Недостаточно тестировали скрипт)
#7 OFFLINE
Posted 15 February 2014 - 18:01
Ну вот и заработало как нужно! Огроменное тебе спасибо. Выручил как и всегда
Абы не плодить еще тем спрошу у тебя еще один вопрос
#8 OFFLINE
Posted 15 February 2014 - 18:12
Есть у меня в миссии мод FA18. Решил я повесить на самолёты своё вооружение (свои типы ракет и бомб). Имена самолётам даны: FA18_1, FA18_2, FA18_3, FA18_4. Добавил в миссию ( в фаил "init.sqf") блоки для каждого самолёта
ПРИМЕР
//CAS
[FA18_1, "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1","js_m_fa18_Maverick_x1","js_m_fa18_Maverick_x1","js_m_fa18_bombrack_x1","js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1","js_m_fa18_Harpoon_x1"] execvm "FA18_instant_loadouts.sqf";
[FA18_3, "js_m_fa18_aim9x_x1", "js_m_fa18_aim9x_x1","js_m_fa18_aim9x_x1","js_m_fa18_aim9x_x1","js_m_fa18_bombrack_x1","js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1","js_m_fa18_GBU31_JDAM_x1"] execvm "FA18_instant_loadouts.sqf";
Всё вроде работает. Самолёты стоят на взлётке с моими типами бомб и ракек. Летают и и.т.д.
Вопрос в том, как сделать так чтобы после уничтожения самолёта он респился не как стандартный вариант (уже без моего оружия), а всё с теми же настройками моими? Это сложно сделать?
#9 OFFLINE
Posted 15 February 2014 - 18:25
Обсуждали же уже этот вопрос? http://arma3.ru/foru...reshit-problem/
Точно так же сделай, пропиши эти функции в модуль респавна, имена самолетов заменяя на (_this select 0).
#10 OFFLINE
Posted 15 February 2014 - 18:30
Эх найтиб еще этот модуль респавна
#11 OFFLINE
Posted 15 February 2014 - 18:37
В прошлый раз у тебя все получилось же? В редакторе F7, категория Multiplayer.
#12 OFFLINE
Posted 15 February 2014 - 19:08
Создал точку на карте через F7 как т написал. А куда имена самолётов писать?
#13 OFFLINE
Posted 15 February 2014 - 19:21
Ставишь модуль респавна на карту. Через F5, синхронизируешь его со своим самолетом, допустим, с первым. В поле Expression пишешь скрипт для первого самолета, только его имя замени на (_this select 0).
[(_this select 0), "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1", "js_m_fa18_Harpoon_x1"] execvm "FA18_instant_loadouts.sqf";
Я вот только понятия не имею, что это за скрипт - "FA18_instant_loadouts.sqf", но по идее работать должно, раз уж при старте миссии у тебя оружие меняется.
Для самолетов с другим боезапасом сделай еще один модуль респавна и впиши туда другой скрипт.
Edited by hipp0cat, 15 February 2014 - 19:24.
#14 OFFLINE
Posted 15 February 2014 - 20:09
В поле Expression самолёта или модуля нужно прописать?
[(_this select 0), "js_m_fa18_aim120c_x1", "js_m_fa18_aim120c_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_bombrack_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_Maverick_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU31_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU38_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1", "js_m_fa18_GBU32_JDAM_x1", "js_m_fa18_Harpoon_x1"] execvm "FA18_instant_loadouts.sqf";
Если ставлю имя самолёта _this select 0, происходит ошибка - неверное имя переменной.
Если вписываю скрипт в поле ОПРЕДЕЛЕНИЕ самолёта (меняю название самолёта на _this_select_0 ) пишет - локальная переменная в глобальном пространстве
Если вписываю скрипт в модуль в поле ОПРЕДЕЛЕНИЕ пишет - локальная переменная в глобальном пространстве.
#15 OFFLINE
Posted 15 February 2014 - 20:17
Модуля.
Самолет переименовывать не надо, как у него было имя и инициализация, так и оставляй.
Скрипт нужно прописать в поле Expression модуля, я хз, как оно в русской версии армы называется. Возможно, "Выражение". Это 6 снизу строчка, над позицией.
#16 OFFLINE
Posted 15 February 2014 - 21:23
Всё сделал как ты сказал. Ошибок в редакторе не вылетало, но вот при предварительном запуске миссии внизу экрана вылетает строка FX - [BIS_fns_modulerespawnvehicle] vehicle FA18_1 of type "JS_JC_FA18E" has simulation "airplane", must be "carx", "tankx", "helicopterx", "airplanex", "shipx" or "submarinex". респ самолёта не выполняется. Если из поля "ОПРЕДЕЛЕНИЕ" самолёта не убирать старую подпись "veh = [this, 300, 1600] execVM "vehicle.sqf";", то самолёт рспится по старому, без моих настроек.
#17 OFFLINE
Posted 15 February 2014 - 21:26
Залей свою миссию куда-нибудь, я посмотрю.
#18 OFFLINE
Posted 15 February 2014 - 21:39
вот
Attached Files
#19 OFFLINE
Posted 16 February 2014 - 13:42
Во-первых, заливать нужно распакованную миссию, которую можно открыть в редакторе, а не .pbo.
Во-вторых, огласи список аддонов, которые используются в миссии, помимо f/a-18.
#20 OFFLINE
Posted 16 February 2014 - 15:31
Вот моды для запуска и вскрытая миссия