Как изменить pbo файл

Я плохо разбираюсь но насколько понимаю все настройки нужно производить так ; берем файл pbo через pbo менеджер extrakt to делаем обычную папку дальше через нотепад редактируем настройки в dzai_config закрываем и опять через pbo менеджер упаковываем и кидаем обратно на сервер.Я делаю все так но н...

3 часа назад, sacha61rus сказал:

Я плохо разбираюсь но насколько понимаю все настройки нужно производить так ; берем файл pbo  через pbo менеджер extrakt to делаем обычную папку дальше через нотепад редактируем настройки в dzai_config закрываем и опять через pbo менеджер упаковываем и кидаем обратно на сервер.Я делаю все так но ничего не работает. поменял время спавна ботов они все равно появляются моментально поменял добавление хуманити за убийство так-же не работает.

какие боты версия?

если ЭТИ

то вот мой конфиг пробуй

diag_log "[DZAI] Reading DZAI configuration file.";

/*	Настройки DZAI.
--------------------------------------------------------------------------------------------------------------------*/

//Включить или отключить лог в arma2oaserver.rpt. Установка уровня отладки. 0: Нет лога, 1: Основной лог, 2: Расширенный лог. (Default: 0)
//Вывод отладочной информации может помочь найти дополнительную информацию о фоновом поведении DZAI. Это полезно для выявления ошибок и непредвиденного поведения.
DZAI_debugLevel = 0;

//Частота обновления монитора в журнале RPT в секундах. Монитор периодически сообщает количество макс / текущие единицы AI и динамический спавн триггеров в журнале RPT. (Default: 300, 0 = Disable reporting)	
DZAI_monitorRate = 300;

//Включить или выключить проверку таблиц Имя Класса (classname) используемого по DZAI. Если недействительные записи найдены, они будут удалены и внесены в журнал регистрации RPT. 
//Если эта функция отключена, любые неверные имена классов не будут удалены и клиенты могут потерпеть крах, если есть AI с недействительными предметами. Отключить только если предыдущая проверка не показывает неверные имена классов. (Default: true).	
DZAI_verifyTables = true;

//Включить спавн на сервере объектов/зданий обычно спавнящихся на клиентской стороне DayZ CfgTownGenerator. Предотвращает AI от ходьбы / стрельбы через мусор и другие объекты. (Default: true)	
//Если запускается DayZ Mod ("vanilla DayZ") или DayZ Overwatch, рекомендуется включить эту опцию, т.к. много дополнительных зданий обрабатываются в CfgTownGenerator. Не используется с Epoch.	
//Не включать во избежании задвоения объектов!																																				  
DZAI_objPatch = false;

//Минимальное время в секундах, которое должно пройти, прежде чем каждый труп AI или уничтоженный транспорт будет очищен с помощью планировщика задач DZAI. DZAI не будет убирать тела/транспортные средства, если есть рядом игрок. (Default: 900).	
//Примечание: Другие сценарии очистки могут мешать очистке мертвых AI / транспортных средств!	
DZAI_cleanupDelay = 900;

//Включить автоматическое обнаружение DayZ модов на сервере. Если дополнительная поддержка существует для модов, DZAI будет загружать дополнительные имена классов (пример: оружие, скины или другие предметы) 
//Дополнительная поддержка существует для следующих модов DayZ: Epoch, Overwatch, Unleashed, Hunting Grounds, 2017. (Default: true)
DZAI_modAutoDetect = false;


/*	Настройки ботов AI.
--------------------------------------------------------------------------------------------------------------------*/

//Расширенные настройки системы здоровья AI. . 
//Если включено, AI будут использовать систему 12000 крови DayZ, могут быть без сознания и Tasered и могут самостоятельно использовать пакет крови / морфин. Если этот параметр отключен, AI будут использовать по умолчанию обработку повреждений Arma 2. (Default: true)
DZAI_useHealthSystem = true;

//Минимальное и максимальное количество крови AI на каждую единицу. Каждый отдельный бот будет иметь рандомизированный уровень крови в пределах этого диапазона. Верхний предел: 12000 крови  (Default: [10000,12000])
//Примечание: Не действует, если DZAI_useHealthSystem = false
DZAI_unitBloodLevel = [10000,12000];

//Количество крови восстанавливающееся из full self-heal. Треть от общего количества восстанавливается 3 раза каждые 3 секунды. Примечание: Относится к пехотным AI единицам. (Default: 6000)
//Примечание: Не действует, если DZAI_useHealthSystem = false
DZAI_unitHealAmount = 6000;

//Ниже этого уровня крови, AI может принять решение, чтобы излечить себя до количества, указанного в DZAI_unitHealAmount. Исцелению требуется 9 секунд до полного завершения и может быть прервано. (Default: 5000)
//Примечание: Не действует, если DZAI_useHealthSystem = false
DZAI_lowBloodLevel = 5000;

//Включить или отключить реагирование зомби на выстрелы AI. Никакого эффекта, если DZAI_zombieEnemy = false. Включение этой опции может повлиять на производительность сервера, т.к. скрипт запускается для каждой выпущенной пули AI. 
//Примечание: AI не могут быть атакованы или повреждены зомби. (Default: false)	
DZAI_weaponNoise = false;

//Если включено, группа AI попытается разыскать игрока, ответственного за убийство члена группы. Игрокам с радиостанциями будет дано текстовое предупреждение, если AI будут преследовать. (Default: true)
DZAI_findKiller = true;	

//Если спавн ПНВ низкий или вовсе нету, тогда можно дать AI временные ПНВ, только если они спавнятся с weapongrade 1 или выше (только во время ночных часов). Временные ПНВ являются нелутабельными и будут удалены в момент смерти. (Default: false).	
DZAI_tempNVGs = true;	

//Количество humanity, чтобы вознаградить игрока за убийство AI. (Default: 0)	
DZAI_humanityGain = 100;	

//Если включено, игрокам с радиостанциями будет дано текстовое предупреждение, если их преследует группа AI. (Default: true)
DZAI_radioMsgs = true;

//Если включено, последнему оставшемуся в живых боту из группы будет увеличен немного навык (Skill). Не влияет, если бот заспавнился в одиночку. (Default: false)
DZAI_lastManStanding = false;


/*DZAI настройки на стороне аддон клиента. 
** Примечание **: Эти настройки требуют DZAI на стороне аддон клиента для установки в файл миссии ПБО, для того чтобы работать.
--------------------------------------------------------------------------------------------------------------------*/

//Включить использование на стороне клиента радио аддон для радиограмм вместо метода дистанционного выполнения. (Default: false)
DZAI_clientRadio = false;

//Включить или отключить AI враждебность к зомби. Если включено, AI единицы заспавненые DZAI будет атаковать близлежащих зомби. (Default: false)
DZAI_zombieEnemy = false;	

//Максимальное расстояние (в метрах) для AI лидера группы для обнаружения зомби. Увеличение диапазона за пределы умолчания может негативно сказаться на производительности сервера. (Default: 150)	
DZAI_zDetectRange = 150;

//Включение или отключение сообщения о смерти AI. Сообщения будут отправлены только игроку, ответственного за убийство бота. Сообщения будут отправлены в системный чата в формате "(Unit name) was killed." (Default: false)
DZAI_deathMessages = false;	


/*	Статические параметры спавна AI.
--------------------------------------------------------------------------------------------------------------------*/

//Включить или выключить статический спавн AI. Если включено, AI точки спавна будут генерироваться в городах, поселках и других предопределенных областях. Не влияет на пользовательский спавн. (Default: true).
DZAI_staticAI = false;

//Установить минимальное и максимальное время ожидания в секундах на респаун группы AI после того, как все AI были убиты. Применяется для статического AI и пользовательского спавна AI. (Default: Min 300, Max 600).	
DZAI_respawnTimeMin = 1000;
DZAI_respawnTimeMax = 1600;

//Время в секундах, прежде чем AI удалятся, когда ни один из игроков не присутствует в зоне триггера. Применяется для статического AI и пользовательского спавна AI. (Default: 120)	
DZAI_despawnWait = 120;	

//Пределы респавна. Установить -1 для неограниченного респавна. (Default: -1 for each).
DZAI_respawnLimit0 = -1; //Предел респавна для низкого уровня AI находящихся в малозначительных облостях (Default: -1)
DZAI_respawnLimit1 = -1; //Предел респавна для среднего уровня AI находящихся в городах и других облостях средней значимости (Default: -1)
DZAI_respawnLimit2 = -1; //Предел респавна для высокого уровня AI находящихся в местах с военным лутом (Default: -1)
DZAI_respawnLimit3 = -1; //Предел респавна для очень высокого уровня AI находящихся в местах с очень хорошим военным лутом (Default: -1)


/*	Динамические параметры спавна AI.
--------------------------------------------------------------------------------------------------------------------*/

//Включение или отключение динамического спавна AI. Если включен, точки спавна AI будут созданы для случайно выбранных игроков с рандомизированным интервалом. (Default: true)	
DZAI_dynAISpawns = true;

//Время (в секундах), необходимое для достижения максимальной вероятности спавна для каждого игрока, после чего вероятность сбрасывается до 0%. Меньшее число = Более частый спавн, Больше = Реже. (Recommended range: 1200-2700, Default: 1800)
DZAI_maxSpawnTime = 1800;

//Время (в секундах), чтобы каждый игрок сохранил максимальную вероятность спавна. (Default: 1800).
DZAI_keepMaxSpawnTime = 1800;

//Вероятность для динамического AI активно охотиться на выбранного игрока. Если проверка вероятности не удалась, динамический AI будет патрулировать местность, а не охотится. (Default: 0.50)
DZAI_huntingChance = 0.50;

//Вероятность отправить первый доступный AI вертолет, чтобы укрепить динамическую группу AI. Никакого эффекта, если DZAI_maxHeliPatrols = 0. (Default: 0.50)
DZAI_heliReinforceChance = 0.50;

//Массив области черного списка маркеров. Игроки в пределах маркеров областей не будут целями для динамического спавна AI (Example: ["BlacklistArea1","BlacklistArea2","BlacklistArea3"])
//Epoch: DZAI автоматически настроит 200м-радиус вокруг каждого трейдера.
DZAI_dynAreaBlacklist = [];

//Время ожидания до удаления всех единиц AI в динамической области триггера, когда ни один из игроков не присутствует. (Default: 120)
DZAI_dynDespawnWait = 120;

//Включение или отключение спавна динамических свободных зон с 600м радиусом вокруг спавна игроков. (Default: false)
DZAI_freshSpawnSafeArea = false;


/*	Настройки воздушных транспортных патрулей AI. Эти патрули будут случайным образом перемещаться между различными городами и поселками.
--------------------------------------------------------------------------------------------------------------------*/

//Глобальное максимальное количество активных AI патрулей на воздушных транспортных средствах. Установите в 0 для отключения. (Default: 0).	
DZAI_maxHeliPatrols = 3;

//Минимальное и максимальное время ожидания в секундах, чтобы возродить патруль AI после того, как транспортное средство было уничтожено или отключено. (Default: Min 600, Max 900).
DZAI_respawnTMinA = 600;
DZAI_respawnTMaxA = 900;

//Имена классов воздушного транспорта с максимальным количеством каждого типа на спавн. Default: [["UH1H_DZ",1]]
DZAI_heliList = [
//не боевые: 
["An2_1_TK_CIV_EP1",1],	 
["An2_2_TK_CIV_EP1",1],
["An2_TK_EP1",1],
["C130J_US_EP1",1],
["Mi17_Civilian",1],
["MV22",1],
["AH6X_DZ",1],	  
["MH6J_DZ",1],
["UH60M_MEV_EP1",1],
["Mi17_medevac_RU",1],	 
//с пулеметами:
["UH1H_DZ",1],
["CH_47F_EP1",1],
["MH60S",1],
["UH60M_EP1",1],	
["UH1H_DZ2",1],
["Mi17_DZ",1]
];

//Уровень сложности воздушных транспортных средств патрульных единиц. На уровень сложности также влияет снаряжение AI. Возможные значения: 0 to 3 (Default: 3)
DZAI_heliUnitLevel = 3;

//Максимальное количество наводчиков летательного аппарата. Ограничено реальным количеством доступных мест для наводчика. (Default: 2)
DZAI_heliGunnerUnits = 3;

//Укажите оружие для воздушных транспортных средств, которые без оружия по умолчанию. DZAI будет вооружать эти воздушные транспортные средства, в соответствии с указанным оружием на каждое транспортное средство. 
//Имена классов оружия проверяются. Если имя класса является недействительным (запрещены или отсутствует), то оно не будет добавлено в транспортное средство. 
//Формат: Каждая строка, содержащая имя класса транспорта будет оснащена оружием из соответствующей строки в разделе оружия. DZAI автоматически выберет тип патронов.
DZAI_airWeapons = [
//Имена классов воздушного транспорта (Не забывайте: нет запятой для последней записи!)
["Helicopter1_Example_Classname","Helicopter2_Example_Classname"]
,
//Имена классов оружия (Не забывайте: нет запятой для последней записи!)
["Helicopter1_Example_Weapon","Helicopter2_Example_Weapon"]
];


/*Настройки наземных транспортных патрулей AI. Эти патрули будут случайным образом перемещаться между различными городами и поселками.
--------------------------------------------------------------------------------------------------------------------*/

//Глобальное максимальное количество активных AI патрулей наземных транспортных средств. Установите в 0 для отключения. (Default: 0).	
DZAI_maxLandPatrols = 5;

//Минимальное и максимальное время ожидания в секундах, чтобы возродить патруль AI после того, как транспортное средство было уничтожено или отключено. (Default: Min 600, Max 900).
DZAI_respawnTMinL = 600;
DZAI_respawnTMaxL = 900;

//Имена классов наземных транспортных средств с максимальным количеством каждого типа на спавн. Default: [["UAZ_Unarmed_TK_EP1",1]]
DZAI_vehList = [
//не боевые: 
["Lada1",1],
["VolhaLimo_TK_CIV_EP1",1],
["UAZ_RU",1],
["UAZ_Unarmed_UN_EP1",1],	 
["Ural_TK_CIV_EP1",1],
["Ural_CDF",1],
["UralCivil",1],
["UralCivil2",1],
["Ural_UN_EP1",1],
["Kamaz",1],
["datsun1_civil_3_open",1],
["hilux1_civil_3_open_EP1",1],	
["MMT_Civ",1],
["Old_moto_TK_Civ_EP1",1],
["M1030_US_DES_EP1",1],
["TT650_Ins",1],
["ATV_US_EP1",1],
["UAZ_Unarmed_TK_EP1",1],	
//с пулеметами:
["HMMWV_Armored",1],
["LandRover_Special_CZ_EP1",1],	  
["UAZ_MG_CDF",1],
["Offroad_DSHKM_Gue",1],
["Pickup_PK_GUE",1]
];

//Уровень сложности наземных транспортных средств патрульных единиц. На уровень сложности также влияет снаряжение AI. Возможные значения: 0 to 3 (Default: 3)
DZAI_vehUnitLevel = 3;

//Максимальное количество наводчиков наземного аппарата. Ограничено реальным количеством доступных мест для наводчика. (Default: 1)
DZAI_vehGunnerUnits = 2;

//Максимальное количество грузовых единиц наземного транспортного средства. Ограничено реальным количеством доступных мест. (Default: 3)
DZAI_vehCargoUnits = 3;


/*	Настройки транспорта AI (Воздушный & Наземный)
--------------------------------------------------------------------------------------------------------------------*/

//Массив области черного списка маркеров. Игроки в пределах маркеров областей не будут целями для наземных транспортных средств. (Example: ["BlacklistArea1","BlacklistArea2","BlacklistArea3"])
//Примечание: Транспортные средства могут пройти через эти районы, но не будет делать остановки, если враги не встречаются.
DZAI_waypointBlacklist = [];


/*	Настройки выбора оружия AI
--------------------------------------------------------------------------------------------------------------------*/

//True: Динамически генерировать список оружия AI от CfgBuildingLoot (DayZ таблица лута). False: Используйте таблицы заданного оружия, расположенные ближе к концу этого файла. (Default: true).
//Рекомендуется включить DZAI_verifyTables если эта опция установлена в false. 
DZAI_dynamicWeaponList = false;

//Определяет, читает ли DZAI по умолчанию DayZ таблицы лута для генерации динамического оружия AI или из пользовательских таблиц лута. (Default: false)
//Не влияет, если DZAI_dynamicWeaponList = false. Если DZAI не может найти пользовательские таблицы лута, то будут использоваться таблицы лута по умолчанию. Если лут в таблицах не найден, DZAI будет использовать таблицы с готовым оружием.
DZAI_customLootTables = false;

//Список названий классов оружия, которые AI никогда не должны использовать. По умолчанию, AI может нести любое лутабельное оружие. (Только если DZAI_dynamicWeaponList = true)  
//Пример: DZAI_banAIWeapons = ["M107_DZ","BAF_AS50_scoped"] удалит M107 и AS50 из таблиц оружия AI, если список динамического оружия включен. 
//Примечание: Рекомендуется добавить все имена классов оружия ближнего боя в этот список, т.к. AI имеют проблемы с использованием оружия ближнего боя. 
//Предварительно запрещенное оружие по DZAI: "Crossbow_DZ","Crossbow","MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseball","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails"
DZAI_banAIWeapons = [];	

//Список пусковых типов оружия для среднего / высокого уровня AI для использования (по умолчанию, weapongrade 1/2/3), пример: ["M136"]. Если оставить пустым, AI не будут использовать пусковое оружие. (Default: [])
//Если AI столкнуться с бронированным транспортом игрока, они будут переключаться на случайно выбранный пусковой тип оружия. 
//Добавленные имена классов оружия здесь проверяются, если DZAI_verifyTables = true. Примечание: Launcher оружия удаляются у AI после смерти.
DZAI_launcherTypes = [];	

//Список AI weapongrades, которым разрешено использовать пусковые виды оружия. Отдельные пользовательские weapongrade уровни могут быть добавлены, чтобы использоваться. (Default: [1,2,3])
DZAI_launcherLevels = [1,2,3];	

//Предел количества пусковых типов оружия, чтобы добавить для каждой группы AI. Группы не могут иметь больше пусковых установок оружия, чем их weapongrade значение. (Default: 1).
DZAI_launchersPerGroup = 1;


/*	Настройки количества лута AI
--------------------------------------------------------------------------------------------------------------------*/

//Количество из выбора изделий медицинского назначения (Инвентарь)
DZAI_invmedicals = 1;

//Количество из выбора съедобных предметов (Инвентарь) 
DZAI_invedibles = 1;	

//Количество из выбора изделий медицинского назначения (Рюкзак)	
DZAI_bpmedicals = 1; 

//Количество из выбора съедобных предметов (Рюкзак)	
DZAI_bpedibles = 1;	

//Максимальное количество предметов выбранных из DZAI_MiscItemS таблицы.	
DZAI_numMiscItemS = 3;	

//Максимальное количество предметов выбранных из DZAI_MiscItemL таблицы.	
DZAI_numMiscItemL = 1;	


/*	Настройки вероятности лута AI
--------------------------------------------------------------------------------------------------------------------*/

//Шанс для добавления каждого медицинского предмета.
DZAI_chanceMedicals = 0.70;	

//Шанс для добавления каждого съедобного предмета.	
DZAI_chanceEdibles = 0.70;

//Шанс для добавления каждого случайного предмета из DZAI_MiscItemS таблицы.	
DZAI_chanceMiscItemS = 0.60;

//Шанс для добавления каждого случайного предмета из DZAI_MiscItemL таблицы.	
DZAI_chanceMiscItemL = 0.15;	


/*AI weapon/skill вероятности (gradeChances должны добавить до 1.00) - [Civilian, Military, MilitarySpecial, HeliCrash] - Примечание: AI с более высоким качеством вооружения также будут иметь более высокие параметры навыков.
--------------------------------------------------------------------------------------------------------------------*/

//equipType level 0 - AI будут использовать пистолеты или винтовки, а иногда и общие боевое оружие.
DZAI_gradeChances0 = [0.90,0.10,0.00,0.00];	

//equipType level 1 - AI имеют общие винтовки, многие будут иметь общее боевое оружие. Очень редко, AI появятся с полноценным военным или helicrash оружием.	
DZAI_gradeChances1 = [0.65,0.30,0.04,0.01];	

//equipType level 2 - AI несут военное оружие, а иногда и полноценные военные оружия.	
DZAI_gradeChances2 = [0.15,0.65,0.15,0.05];

//equipType level 3 - Все AI будет нести по крайней мере военное оружие. Многие будут оснащены полноценным военным оружием. Примечание: Воздушные и наземные транспортные патрули используют equipType уровень 3.	
DZAI_gradeChances3 = [0.00,0.50,0.35,0.15];	

//equipType level "dynamic" - Weapongrade шансы на динамический спавн AI. Большинство динамических AI будут нести низкосортные военные оружия, некоторые из них будут нести полноценный военный лут.
DZAI_gradeChancesDyn = [0.00,0.88,0.09,0.03];	


/*
Настройки мастерства AI
Уровень умения: Описание 
0-1: от низкого до среднего опытный AI. Наиболее распространенный тип AI. Предназначены что бы бросать вызов игрокам. 
2-3: высококвалифицированные AI. Нечасто / редкий тип AI которых можно найти в местах с военной добычей. Предназначены убивать игроков. 
Подсказка: Лучший способ быстро настроить AI является изменение значений aimingAccuracy. Для всех типов квалификации, выше число = лучше навык.
*/

//Настройки мастерства AI уровня 0 (мастерство, минимальный навык, максимальный уровень навыка). Базовый уровень квалификации: 0.50
DZAI_skill0 = [	
["aimingAccuracy",0.10,0.125],
["aimingShake",0.50,0.59],
["aimingSpeed",0.50,0.59],
["endurance",0.50,0.59],
["spotDistance",0.50,0.59],
["spotTime",0.50,0.59],
["courage",0.50,0.59],
["reloadSpeed",0.50,0.59],
["commanding",0.60,0.69],
["general",0.60,0.69]
];

//Настройки мастерства AI уровня 1 (мастерство, минимальный навык, максимальный уровень навыка). Базовый уровень квалификации: 0.60
DZAI_skill1 = [	
["aimingAccuracy",0.125,0.15],
["aimingShake",0.60,0.69],
["aimingSpeed",0.60,0.69],
["endurance",0.60,0.69],
["spotDistance",0.60,0.69],
["spotTime",0.60,0.69],
["courage",0.60,0.69],
["reloadSpeed",0.60,0.69],
["commanding",0.70,0.79],
["general",0.70,0.79]
];

//Настройки мастерства AI уровня 2 (мастерство, минимальный навык, максимальный уровень навыка). Базовый уровень квалификации: 0.70
DZAI_skill2 = [	
["aimingAccuracy",0.175,0.225],
["aimingShake",0.70,0.79],
["aimingSpeed",0.70,0.79],
["endurance",0.70,0.79],
["spotDistance",0.70,0.79],
["spotTime",0.70,0.79],
["courage",0.70,0.79],
["reloadSpeed",0.70,0.79],
["commanding",0.80,0.89],
["general",0.80,0.89]
];

//Настройки мастерства AI уровня 3 (мастерство, минимальный навык, максимальный уровень навыка). Базовый уровень квалификации: 0.80
DZAI_skill3 = [	
["aimingAccuracy",0.225,0.250],
["aimingShake",0.80,0.89],
["aimingSpeed",0.80,0.89],
["endurance",0.80,0.89],
["spotDistance",0.80,0.89],
["spotTime",0.80,0.89],
["courage",0.80,0.89],
["reloadSpeed",0.80,0.89],
["commanding",0.90,0.99],
["general",0.90,0.99]
];


/*
Дополнительные настройки мастерства AI могут быть определены (DZAI_skill4 - DZAI_skill9) для соответствующего уровня пользовательских weapongrade, используя тот же формат что выше. 
Примечание: Если пользовательские weapongrade используются без определения соответствующих пользовательских настроек навыков, вместо этого будут использоваться настройки DZAI_skill3
Инструкция: заменить "nil" на массив квалификации. См. выше заданные массивы квалификации для примера. 
Пользовательские AI настройки мастерства могут быть использованы только с пользовательским спавном (спавн, созданный с помощью функции DZAI_spawn).
*/

//weapongrade 4 skills
DZAI_skill4 = nil; 

//weapongrade 5 skills
DZAI_skill5 = nil; 

//weapongrade 6 skills
DZAI_skill6 = nil; 

//weapongrade 7 skills
DZAI_skill7 = nil; 

//weapongrade 8 skills
DZAI_skill8 = nil;

//weapongrade 9 skills
DZAI_skill9 = nil; 


/*
AI оружие, лут, и настройки экипировки

DZAI сначала загрузит таблицы ClassName определенные ниже, изменить настройки в соответствии с DayZ карты / мод.

Пример: DZAI будет всегда первым загружать таблицы ClassName определенные ниже, а затем, если DayZ Epoch обнаружен DZAI будет добавлять или заменять параметры, указанные в world_classname_configsepochdayz_epoch.sqf. 

*/

//По умолчанию таблицы оружия - DZAI использует ТОЛЬКО эти таблицы, если список динамического оружия (DZAI_dynamicWeaponList) отключен, в противном случае они игнорируются и перезаписываются, если он включен. 
//Примечание: Низкий уровень AI (weapongrade 0) может использовать пистолеты, перечисленные в DZAI_Pistols0 или DZAI_Pistols1. Средний / высокий уровень AI (weapongrade 1+) будут нести пистолеты, но не использовать их - они будут использовать винтовочное оружие.
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_Pistols0 = ["Makarov","Colt1911","revolver_EP1"]; //Weapongrade 0 pistols
DZAI_Pistols1 = ["M9","M9SD","MakarovSD","UZI_EP1","glock17_EP1"]; //Weapongrade 1 pistols
DZAI_Pistols2 = ["M9SD","MakarovSD","UZI_SD_EP1","Sa61_EP1"]; //Weapongrade 2 pistols
DZAI_Pistols3 = ["M9SD","MakarovSD","UZI_EP1","glock17_EP1"]; //Weapongrade 3 pistols

DZAI_Rifles0 = 
[
"LeeEnfield",
"Winchester1866",
"MR43",
"huntingrifle",
"Remington870_lamp",
"M1014",
"MP5A5",
"Saiga12K"
]; //Weapongrade 0 rifles
DZAI_Rifles1 = 
[
"SVD",
"SVD_CAMO",
"DMR_DZ",	
"VSS_vintorez",	 
"BAF_LRR_scoped",  
"M4SPR",
"huntingrifle",
"M14_EP1",
"M24",	 
"M24_des_EP1",
"M40A3",
"M240_DZ",
"M249_DZ",
"Mk_48_DZ",
"Pecheneg",
"PK",
"RPK_74",
"Winchester1866",
"LeeEnfield",
"Remington870_lamp",
"MR43",
"M1014",
"MP5A5",
"AK_74", 
"AK_74_GL",
"AK_74_GL_kobra",
"AK_47_M",
"AKS_74",
"AKS_74_kobra",
"AKS_74_U",
"AKS_74_pso",
"AKS_74_UN_kobra",
"AK_107_pso",	 
"AK_107_kobra",
"AK_107_GL_pso",
"AK_107_GL_kobra",
"M4A3_CCO_EP1",
"M16A2",
"M16A2GL",
"M4A1",
"Saiga12K",
"MP5SD",
"bizon",
"G36C",
"G36C_camo",
"Sa58P_EP1",
"Sa58V_EP1",
"Sa58V_CCO_EP1",
"M16A4_ACG",	
"M16A4_ACG_GL",
"M4A1_Aim",	
"M4A1_Aim_camo",
"M4A1_HWS_GL_camo",
"M4A3_RCO_GL_EP1",
"m8_compact_pmc",
"BAF_L85A2_RIS_Holo",
"BAF_L85A2_RIS_SUSAT",
"bizon_silenced",
"G36A_camo",
"G36K_camo", 
"G36_C_SD_eotech",
"G36_C_SD_camo",
"M4A1_AIM_SD_camo",
"M4A1_HWS_GL_camo",
"M4A1_HWS_GL_SD_Camo",
"m8_carbine",
"m8_holo_sd"
]; //Weapongrade 1 rifles
DZAI_Rifles2 = 
[
"SVD",
"SVD_CAMO",
"DMR_DZ",	
"VSS_vintorez",	 
"BAF_LRR_scoped",  
"M4SPR",
"huntingrifle",
"M14_EP1",
"M24",	 
"M24_des_EP1",
"M40A3",
"M240_DZ",
"M249_DZ",
"Mk_48_DZ",
"Pecheneg",
"PK",
"RPK_74",
"Winchester1866",
"LeeEnfield",
"Remington870_lamp",
"MR43",
"M1014",
"MP5A5",
"AK_74", 
"AK_74_GL",
"AK_74_GL_kobra",
"AK_47_M",
"AKS_74",
"AKS_74_kobra",
"AKS_74_U",
"AKS_74_pso",
"AKS_74_UN_kobra",
"AK_107_pso",	 
"AK_107_kobra",
"AK_107_GL_pso",
"AK_107_GL_kobra",
"M4A3_CCO_EP1",
"M16A2",
"M16A2GL",
"M4A1",
"Saiga12K",
"MP5SD",
"bizon",
"G36C",
"G36C_camo",
"Sa58P_EP1",
"Sa58V_EP1",
"Sa58V_CCO_EP1",
"M16A4_ACG",	
"M16A4_ACG_GL",
"M4A1_Aim",	
"M4A1_Aim_camo",
"M4A1_HWS_GL_camo",
"M4A3_RCO_GL_EP1",
"m8_compact_pmc",
"BAF_L85A2_RIS_Holo",
"BAF_L85A2_RIS_SUSAT",
"bizon_silenced",
"G36A_camo",
"G36K_camo", 
"G36_C_SD_eotech",
"G36_C_SD_camo",
"M4A1_AIM_SD_camo",
"M4A1_HWS_GL_camo",
"M4A1_HWS_GL_SD_Camo",
"m8_carbine",
"m8_holo_sd"
]; //Weapongrade 2 rifles
DZAI_Rifles3 = 
[
"FN_FAL",
"FN_FAL_ANPVS4",
"SVD",
"SVD_CAMO",
"DMR_DZ",	
"VSS_vintorez",	 
"BAF_LRR_scoped",  
"M4SPR",
"huntingrifle",
"M14_EP1",
"M24",	 
"M24_des_EP1",
"M40A3",
"M240_DZ",
"M249_DZ",
"Mk_48_DZ",
"Pecheneg",
"PK",
"RPK_74"
]; //Weapongrade 3 rifles


/*
Пользовательские таблицы оружия могут быть определены ниже этой линии (DZAI_Rifles4 - DZAI_Rifles9) для соответствующего уровня пользовательских weapongrade, используя тот же формат что выше. 
Примечание: Если пользовательские weapongrade используются без определения соответствующего пользовательского массива оружия, вместо этого будет использоваться массив DZAI_Rifles3
Инструкция: Заменить "nil" с нужного массива оружия. См. выше массивы оружия для примера о том, как определить пользовательские таблицы оружия. 
Пользовательские таблицы оружия могут быть использованы только с пользовательским спавном (спавн, созданный с помощью функции DZAI_spawn).
*/

//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_Rifles4 = nil; //weapongrade 4 weapons
DZAI_Rifles5 = nil; //weapongrade 5 weapons
DZAI_Rifles6 = nil; //weapongrade 6 weapons
DZAI_Rifles7 = nil; //weapongrade 7 weapons
DZAI_Rifles8 = nil; //weapongrade 8 weapons
DZAI_Rifles9 = nil; //weapongrade 9 weapons


//Имена классов скинов AI. DZAI будет использовать любой из этих имен классов для спавна AI. Примечание: Дополнительные скины могут быть включены в моде на-основе одной карты или - см. папки в world_classname_configs
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_BanditTypes = 
[
"Sniper1_BOT",
"Camo1_BOT",
"Bandit1_BOT", 
"BanditW1_BOT", 
"Survivor3_BOT",
"Survivor8_BOT",	
"Survivor8_1_BOT",
"Survivor8_2_BOT",
"Survivor8_3_BOT",
"Bandit1_1_BOT",
"Bandit1_2_BOT",	 
"GUE_Woodlander1_BOT",  
"GUE_Woodlander2_BOT",
"GUE_Woodlander3_BOT", 
"GUE_Soldier_1_BOT",
"GUE_Soldier_2_BOT",
"GUE_Soldier_3_BOT",	
"GUE_Commander_BOT",	 
"GUE_Soldier_AA_BOT",
"GUE_Soldier_CO_BOT",
"GUE_Soldier_Sniper_BOT",
"INS_Bardak_BOT",
"INS_Soldier_1_BOT",
"INS_Soldier_2_BOT",
"INS_Soldier_CO_BOT", 
"INS_Soldier_GL_BOT", 
"INS_Soldier_Pilot_BOT",
"RU_Commander_BOT",
"RU_Soldier_Officer_BOT",
"RUS_Soldier1_BOT",
"FR_TL_BOT",
"FR_Marksman_BOT",
"FR_Sapper_BOT",
"SBE_CZ_Soldier_WLD_EP1_BOT",
"SBE_CZ_Special_Forces_TL_WLD_EP1_BOT",
"SBE_CZ_Soldier_Light_WLD_EP1_BOT",
"BB_OA_Merc_Sabot_BOT",
"BB_OA_Merc_SD_BOT",
"BB_OA_Merc_GL_BOT",
"BB_OA_Merc_TL_BOT",
"BB_OA_Merc_Marksman_BOT",
"jinpmc_BOT",
"jinpmcs_BOT",
"jinpmcgg_BOT",
"ARD_TSF_J_TL1_BOT",
"ARD_TSF_U_RM1_BOT",
"ARD_TSF_CTU_TL1_BOT",
"ARD_TSF_CTU_RM1_BOT",
"ARD_TSF_CHT_TL1_BOT",
"Gangsta_merc_BOT",
"Gangsta_merc2_BOT",
"Gangsta_merc3_BOT",
"Gangsta_merc5_BOT",
"sobr_05_BOT",
"sobr_14_BOT",
"sobr_15_BOT",
"INS_Che_Soldier_1_BOT",
"INS_Che_Soldier_3_BOT",
"Ins_Che_Soldier_GL_BOT",
"Ins_Che_Soldier_AT_BOT",
"SG_FSB_KZS_TL_BOT",
"SG_FSB_KZS_OP_BOT",
"SG_FSB_Gorka_OP_BOT",
"SG_GRU_Scout_D_BOT",
"SG_GRU_Marksman_BOT",
"SG_GRU_Operator_BOT",
"SG_GRU_Sniper_BOT",
"SG_GRU_Marksman_D_BOT",
"SG_GRU_Operator_D_BOT",
"SG_IRA_Soldier_2_BOT",	
"SG_IRA_Soldier_Sniper_BOT",
"SectorB_def_BOT",
"vil_stskin4_BOT",
"vil_woman_cop_BOT",
"ori_vil_woman_bandit_1_BOT",  
"ori_vil_woman_bandit_2_BOT",
"ori_vil_woman_bandit_3_BOT",
"ori_vil_woman_bandit_4_BOT",
"ori_vil_woman_bandit_5_BOT",
"ori_vil_woman_bandit_6_BOT",   
"ori_vil_woman_hero_1_BOT",
"ori_vil_woman_hero_2_BOT",
"ori_vil_woman_hero_3_BOT",
"ori_vil_woman_hero_4_BOT",
"ori_vil_woman_hero_5_BOT",
"ori_vil_woman_hero_6_BOT",
"vil_bdu_cap_woman_BOT",	 
"vil_bdu_hood_woman_BOT",
"ori_vil_woman_survivor_1_BOT", 
"ori_vil_woman_survivor_2_BOT",
"ori_vil_woman_survivor_3_BOT",
"ori_vil_woman_survivor_4_BOT",
"ori_vil_woman_survivor_5_BOT",
"ori_vil_woman_survivor_6_BOT", 
"ori_vil_bandit_ghilie_BOT",
"ori_vil_hero_ghilie_BOT", 
"ori_vil_woman_vjt_1_BOT",  
"ori_vil_woman_vjt_2_BOT",
"ori_vil_woman_vjt_3_BOT",
"ori_vil_woman_vjt_4_BOT",
"ori_vil_woman_vjt_5_BOT",
"ori_vil_woman_vjt_6_BOT",
"ori_vil_woman_bandit_cr_BOT",
"ori_vil_woman_survivor_cr_BOT"
];


//Типы рюкзаков AI (для уровней weapongrade 0-3)
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_Backpacks0 = ["DZ_Patrol_Pack_EP1","DZ_ALICE_Pack_EP1","DZ_Assault_Pack_EP1"];
DZAI_Backpacks1 = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_British_ACU","DZ_TK_Assault_Pack_EP1","DZ_CivilBackpack_EP1","DZ_ALICE_Pack_EP1"];
DZAI_Backpacks2 = ["DZ_CivilBackpack_EP1","DZ_British_ACU","DZ_Backpack_EP1"];
DZAI_Backpacks3 = ["DZ_CivilBackpack_EP1","DZ_Backpack_EP1"];


//Еда AI / Медицинские предметы. DZAI_Edibles: Питьевые и пищевые элементы. DZAI_Medicals1: Список общих медицинских предметов, которые будут добавлены в инвентарь AI. DZAI_Medicals2: Список всех медицинских предметов, доступных только в больницах, которые будут добавлены в рюкзак AI.
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_Edibles = ["ItemSodaCoke", "ItemSodaPepsi", "ItemWaterbottle", "FoodCanSardines", "FoodCanBakedBeans", "FoodCanFrankBeans", "FoodCanPasta", "ItemWaterbottleUnfilled","ItemWaterbottleBoiled","FoodmuttonCooked","FoodchickenCooked","FoodBaconCooked","FoodRabbitCooked","FoodbaconRaw","FoodchickenRaw","FoodmuttonRaw","foodrabbitRaw","FoodCanUnlabeled","FoodPistachio","FoodNutmix","FoodMRE"];
DZAI_Medicals1 = ["ItemBandage", "ItemPainkiller"];
DZAI_Medicals2 = ["ItemPainkiller", "ItemMorphine", "ItemBandage", "ItemBloodbag", "ItemAntibiotic","ItemEpinephrine"];


//Разные типы предметов для AI. DZAI_MiscItemS: Список случайных малоценных предметов. DZAI_MiscItemL: Список случайных полу-ценных / полезные вещи.
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_MiscItemS = ["ItemHeatpack", "HandRoadFlare", "HandChemBlue", "HandChemRed", "HandChemGreen","SmokeShell","TrashTinCan","TrashJackDaniels","ItemSodaEmpty"];
DZAI_MiscItemL = ["ItemJerrycan", "PartWheel", "PartEngine", "PartFueltank", "PartGlass", "PartVRotor","PartWoodPile"];


//AI toolbelt предметы. Toolbelt добавляются в инвентарь AI при смерти. Формат: [имя класса предмета, вероятность]
//Weapongrade уровень 0-1 AI будут использовать DZAI_tools0 таблицу, weapongrade уровень 2-3 AI будут использовать DZAI_tools1 таблицу. Пользовательский спавн AI будут использовать DZAI_tools1 таблицу. 
//ПРИМЕЧАНИЕ: Не удаляйте элементы из этого списка, установите нулевой шанс. Добавлять элементы Только в конец массива, а не в середину.
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_tools0 = [["ItemFlashlight",0.65],["ItemWatch",0.65],["ItemKnife",0.50],["ItemHatchet",0.40],["ItemCompass",0.40],["ItemMap",0.35],["ItemToolbox",0.15],["ItemMatchbox",0],["ItemFlashlightRed",0.05],["ItemGPS",0.005],["ItemRadio",0.005],["ItemCrowbar",0.15]];
DZAI_tools1 = [["ItemFlashlight",0.75],["ItemWatch",0.75],["ItemKnife",0.75],["ItemHatchet",0.70],["ItemCompass",0.75],["ItemMap",0.70],["ItemToolbox",0.35],["ItemMatchbox",0],["ItemFlashlightRed",0.10],["ItemGPS",0.10],["ItemRadio",0.075],["ItemCrowbar",0.35]];


//AI используемые типы Toolbelt предметов. Эти предметы будут добавлены в инвентарь AI при создании бота и могут быть использованы AI. Формат: [имя класса предмета, вероятность]
//Weapongrade уровень 0-1 AI будут использовать DZAI_gadgets0 таблицу, weapongrade уровень 2-3 AI будут использовать DZAI_gadgets1 таблицу. Пользовательский спавн AI будут использовать DZAI_gadgets1 таблицу. 
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DZAI_gadgets0 = [["binocular",0.40],["NVGoggles",0.00]];
DZAI_gadgets1 = [["binocular",0.60],["NVGoggles",0.05]];



//НЕ РЕДАКТИРОВАТЬ НИЖЕ

//Load custom DZAI settings file.
if ((!isNil "DZAI_overrideEnabled") && {DZAI_overrideEnabled}) then {call compile preprocessFileLineNumbers format ["%1DZAI_settings_override.sqf",DZAI_directory]};

diag_log "[DZAI] DZAI configuration file loaded.";


Изменено 3 апреля 2017 пользователем Miduznya

(история изменений)

#1

OFFLINE
 

Намик

    Ефрейтор

  • Пользователи
  • 39 сообщений

Отправлено 05 February 2016 — 21:58

Всем привет, пожалуйста помогите. Я вытащил один файл с помощью Pbo View формата hpp кое что поменял теперь хочу обратно положить его в архив pbo. Как мне это сделать, функция удалить там есть а вот вставить не видел.

  • 0

  • Наверх


#2

OFFLINE
 

Victorius-13

Victorius-13

    Рядовой

  • Пользователи
  • 3 сообщений

Отправлено 06 February 2016 — 22:23

Всем привет, пожалуйста помогите. Я вытащил один файл с помощью Pbo View формата hpp кое что поменял теперь хочу обратно положить его в архив pbo. Как мне это сделать, функция удалить там есть а вот вставить не видел.

Привет. Странно что кнопки «Вставить» нету. Использую PBOManager v.1.4 beta. После изменения файла, нажимаю на нем правой кнопкой, выбираю копировать, открываю PBO файл, выбираю нужную папку, жму правой кнопкой и вставить.

  • 0

  • Наверх


#3

OFFLINE
 

ананист

ананист

    Ефрейтор

  • Пользователи
  • 54 сообщений
  • Откуда:Россия

Отправлено 19 March 2016 — 11:15

Всем привет, пожалуйста помогите. Я вытащил один файл с помощью Pbo View формата hpp кое что поменял теперь хочу обратно положить его в архив pbo. Как мне это сделать, функция удалить там есть а вот вставить не видел.

Привет. Странно что кнопки «Вставить» нету. Использую PBOManager v.1.4 beta. После изменения файла, нажимаю на нем правой кнопкой, выбираю копировать, открываю PBO файл, выбираю нужную папку, жму правой кнопкой и вставить.

есть еше пбо виев просто назад в пбо папку файлы ставишь и всё

  • 0

  • Наверх


#4

OFFLINE
 

volodytrekalo

volodytrekalo

    Рядовой

  • Пользователи
  • 9 сообщений

Отправлено 05 May 2016 — 22:48

Всем привет, пожалуйста помогите. Я вытащил один файл с помощью Pbo View формата hpp кое что поменял теперь хочу обратно положить его в архив pbo. Как мне это сделать, функция удалить там есть а вот вставить не видел.

Привет. Странно что кнопки «Вставить» нету. Использую PBOManager v.1.4 beta. После изменения файла, нажимаю на нем правой кнопкой, выбираю копировать, открываю PBO файл, выбираю нужную папку, жму правой кнопкой и вставить.

есть еше пбо виев просто назад в пбо папку файлы ставишь и всё

Всем привет, пожалуйста помогите. Я вытащил один файл с помощью Pbo View формата hpp кое что поменял теперь хочу обратно положить его в архив pbo. Как мне это сделать, функция удалить там есть а вот вставить не видел.

Я делаю просто. копирую файл и в открытом pbo вставляю.

  • 0

  • Наверх


#5

OFFLINE
 

Sityativno

Sityativno

    Ефрейтор

  • Пользователи
  • 32 сообщений

Отправлено 12 May 2016 — 02:01

А вариант распаковать, заменить файл, запаковать, вам не подходит?

1.Устанавливаем

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

2.Нажимаем ПКМ на нужном файле, выбираем PBO manager, далее в выпадающем меню выбираем нужный пункт(я всегда выбираю нижний, это распаковка в отдельную папку с таким же названием как pbo)

3.Правим config (если он забинарен, то разбинарить можно с помощью

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

который входит в пакет Arma 3 Tools) сохраняем и если нужно то забинариваем обратно.

4.Делаем копию pbo которую распаковывали и удаляем оригинал.

5.Нажимаем ПКМ на папку которая создалась в пункте 2 и выбираем PBO manager далее в выпадающем меню выбираем Pack into>название файла.pbo

  • 0

  • Наверх


Please Log in or Register to see this: Spoiler

Вот такая ошибка при открытии мода PBO manager — ом, означает что он зашифрован.

Это не проблема и нужно 3 программы чтобы такое PBO открыть.

  1. RePBO 
  2. BankRev
  3. Notpad++

Ссылки под спойлером

Please Log in or Register to see this: Spoiler

Открывается PBO в таком порядке. Сначала нотпадом, открываем и ищем слово obfuscated в самой первой строке, таких слов обычно 2 их нужно заменить на что либо другое, неважно на что и сохранить не меняя разрешение файла. Обычный блокнот не подходит, я проверял. Возможно sublim text 3 подойдёт.

Please Log in or Register to see this: Spoiler

Перетаскивай или drag & drop — пай, сохранённый PBO на RePBO и получаем такой же, но с нижним подчёркиванием.

Он уже открывается PBO менеджером без ошибок.

Please Log in or Register to see this: Spoiler

Теперь нужно файл с подчёркиванием перенести на BankRev (это программа из тулзов армы 3 для распаковки аддонов).

PBO manager — ом распаковывать не нужно! После распаковки BankRev — ом появится папка со всеми файлами которые были в PBO.

Теперь самое интересное, привести в порядок код — чтобы заработал мод.

config.bin разбинаривается CfgConverterом, который входит в пакет dayz tools вот статья из википедия богемии на всякий случай, с ним проблем нет, с csv файлами тоже.

Проблема со скриптами .сpp и с них очень часто встречается команда include и путь до файл с расширением, jpg, p3d, rvmat и другим. Вместо строчки include и пути файла подгружается код из этого файла, без изменений (команда гуглится, в php точно такая же есть, лично я ей не раз пользовался в своё время, кому интересно — почитает).

Надо нотпадом такие файлы открыть и найти код.

Когда найдёшь скопировать его, вставить, сохранить, вот пара скриншотов с примерами.

Please Log in or Register to see this: Spoiler

Please Log in or Register to see this: Spoiler

У меня всё.  Эта информация развязывает руки:

  • Можно например админку перевести на великий и могучий, отдельным модом подгружать после основного, вот гайд есть как переводить моды в дэйз стенделоун
  • Можно чужие моды вскрывать и от смотреть как там что сделано. Я так кастомные слоты научился делать, мод татарин слотс вскрыл, и за вечер сделал то, что две недели не мог сделать.
  • Можно вскрывать моды для отдельных серверов без бикей ключа с запароленными скриптами типа мода карма крю веапон пак, там даже у пушек звуки кастомные).
  • Можно внести правки в заброшенные моды или найти кодера который в c# понимает и может в enfusion разобраться, а не будет настаивать на том, что всё с нуля надо переписывать.

Пример с админкой под спойлером:

Please Log in or Register to see this: Spoiler

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

7
branches

6
tags

Code

  • Use Git or checkout with SVN using the web URL.

  • Open with GitHub Desktop

  • Download ZIP

Latest commit

@winseros

Files

Permalink

Failed to load latest commit information.

Type

Name

Latest commit message

Commit time

PBO Manager

A tool to open, pack and unpack ArmA PBO files.

Key features

  • Can pack/unpack PBO files.
  • Can preview files inside a PBO.
  • Can open mangled (by Mikero’s tools) PBO.
  • Integrates with Windows Explorer.
  • Supports PBO metadata provisioning through pbo.json or $PBOPREFIX$ files.

Screenshots

Main application window
Unpack PBO context menu
Pack folder as PBO context menu

Installation

🔹 The application requires Microsoft Visual C++ Redistributable 2015-2019 to run. Othervise, the application will complain regarding the vcruntime140.dll.

Installer

  1. Download the installer from the Releases section.
  2. Run the installer.

Manual instllation

  1. Download the binaries from the Releases section.
  2. Run the pbom.exe
  3. Optionally, to get the Windows Explorer integration, register the dll:
     C:WindowsSysWOW64regsvr32.exe C:WhereTheAppIspboe.dll
    

    To unregister the dll later, use:

    C:WindowsSysWOW64regsvr32.exe /u C:WhereTheAppIspboe.dll
    

    Normally no admin permissions should be required for the registration.

Building from source

  1. Set the env variables:

    Variable Description Example
    QT_DIR Where QT is located. Needed for CMAKE to build. G:Qt6.3.3msvc2019_64
  2. Run the script:

    # powershell
    git clone --recurse-submodules git@github.com:winseros/pboman3.git
    cmake -S <path_to_source_code> -B <path_to_build_files>
    cmake --build <path_to_build_files>
    

Also, see how CI builds.

Open in IDE

  1. Set the env variabls:

    Variable Description Example
    QT_DIR Where QT is located. Needed for CMAKE to build. G:Qt6.3.0msvc2019_64
    PATH Where QT binaries are located. Needed for the IDE to run/debug. G:Qt6.3.0msvc2019_64bin
    PATH Where OpenSSL binaries are located. Needed for IDE to run/debug. G:QtToolsOpenSSLWin_x64bin
  2. Open the the root folder in IDE

Table of Contents

Editing Tutorial: Beginners

ArmA Editing Tutorial: Beginners by PMC.

This tutorial should get a complete newbie into ArmA editing. While it might not do Newbie → Hardcore conversion, it is still vital for anyone getting into ArmA editing. While this is not a tutorial to get some specific task done, its the core essence of editing, if you don’t know absolutely anything, this will get you started.

PBO’s what are these?

PBO files are addons in a packet.

PBO files are located in the <arma root>addons directory, or in any directory you specify to be used with the -mod parameter. More info in startup parameters and in mod folders pages.

Dont confuse the pbo files to the <addon_name>.pbo.bi.bisign as those are the signature key files for multiplayer purposes.

Config.cpp (or .bin) what is it?

Config.cpp is the games configuration file for the given addon. Config.cpp can be also found in the <arma root>bin directory which is the games main configuration file. Config.cpp is what makes the addon work.

If config.cpp file is binarized it will become “config.bin” and cannot be read with text editor. You can create text format config.cpp file from the .bin file with deRapify tool. You really don’t have to worry about creating bin out of cpp file right now.

Config.cpp file can be (usually) found on each addon’s PBO root directory.

P3D’s what are they?

P3D files are the 3D models.

P3D files can be found really in any dir, in BIS addons they are usually in the root of the PBO file.

Textures?

Textures are in .paa or .pac file name extensions. Also .rvmat files are sort of textures, as they control many things related to the materials and stuff, while these aren’t specifically textures, they are absolutely related to textures.

Textures can be found in any dir but in BIS addons they are under data directory.

Terrains?

Terrains are always in WRP files, like sara.wrp for Sahrani. Terrains are edited in Visitor 3.

You need to create elevation’s for your terrain, this can be done either in Wilbur or in gray scale image on your favorite image editor. Then you import this elevation into Visitor 3 (v3), place your objects and finally import big satellite mask and satellite texture images. Just before you bring your terrain into in-game, you need to export the actual WRP file out of v3, then pack all to pbo and you’re done.

Missions?

Missions can be unpacked in their directory format or as in PBO files. Do not confuse mission pbo into addon pbo. Also to confuse you… mission dir can be included in addon pbo… :)

Missions will be on two locations, in <arma root>Missions and <arma root>MPMissions directories, its quite self explanatory but single player missions go to “Missions” dir and multiplayer missions go to “MPMissions” dir. These dirs can have sub directories if you wish to sort your many missions. Also these dirs can have mission directories or pbo’s.

Please read below for Mission Editing for additional details.

Campaigns?

Campaigns are 2 missions or more, campaign is never ever 1 mission. The missions are prepared in certain directory format which is then read by the game from description.ext file in the campaign root directory. Campaign just like missions can be in unpacked format as in directory or in a PBO file.

Campaigns can be found under <arma root>campaigns directory or in any directory which is used with -mod parameter. Take a note, campaign directories do work from -mod dir while mission directories DO NOT.

arma.RPT file?

arma.RPT file found in your arma root directory is very important when you want to debug your work, just run the addon/mission in-game for a moment (even few seconds should be enough) and then exit game, then open the arma.RPT file with any text editor and look for warning/error lines in there which are related to your addon. Take a note that the <arma>.RPT file is the file name of your ArmA executable, usually and default its “arma” but it can be anything else too.

For more details check out arma.RPT page for some errors we have found.

Cpbo util packs and unpacks PBO files.

BinPBO official BIS tools to pack PBO files, also binarizes addons.

Visitor 3 (V3) edits and saves WRP terrain files.

Oxygen 2 (o2) edits and saves MLOD format P3D 3d model files.

TexView 2 loads tga images and saves paa/pac texture files.

Unrap unpacks the binary config.bin and .rvmat files. You can use your favorite text editor to edit config.cpp and non binary .rvmat files.

For text file editing (scripts sqs, sqf, mission.sqm, rvmat’s and config.cpp) we highly recommend using good editor like EditPadPro or Notepad++ so it will highlight the syntax for you and most importantly formats the text properly, notepad is NOT suitable for ArmA editing.

Graphical editing tools beyond ArmA is PaintShop Pro and Adobe PhotoShop. There is also GIMP which is free for download. Please refer to our editing tools section for more information about other tools.

What you want to do?

When you start to edit ArmA, you must know what you want to do first. As you are beginner, naturally we would instruct to start small, if you immediately start a massive mod you might get overwhelmed by the task ahead. When you start small, you can have a good feeling if editing ArmA is what you really want to do. It would be shameful if you start a mod, post news/topics about it and one week later realize that you are not capable of editing everything that are required for mod making and then posting again to announce the mod is dead.

For beginners it would be really good to start edit a one config to modify how certain addon is working, from there you can then proceed into texture and model editing. As for mission making, its really not “mod making”, its just mission editing. When you make missions, you just use the content available, if you edit ArmA in mod making way, you create new content or modify the existing one.

What you should NOT do!

Many times it happens that beginners start to edit the original ArmA files. This is not necessary or “allowed”. If you mess around with original files you only harm your ArmA installation.

Do not edit files in <ArmA_root>addons directory!

You can copy the pbo’s from there, put them in <ArmA_root>xaddons and launch ArmA with parameter -mod=x to see your edits ingame.

Config Editing

Its quite easy to make config edits, just open the cpp and edit away. Heh well almost. Some parts of the config are rather self explanatory, like the magazines for example, its easy to tweak your soldier config to have three magazines and three grenades instead of three magazines and four smoke shells.

You can start by editing the existing configs so in fact you are not creating any new addon pbo’s to be used, this is very easy. Just unpack lets say addonsweapons.pbo, then unRap the config.bin and now you are ready to load the cpp into text editor. Then just edit what you like, for example M16A4 fire rates or dispersion values for the weapons. When you’re done, just pack the “weapons” directory into pbo packet again and you are ready to try the edited config / weapons.pbo in-game.

Modeling

With O2 you can load and edit the MLOD format p3d models. You cannot open any default ArmA p3d model files are they are binarized which makes them ODOL format. Some uneducated individuals talk about binarizing and think its some sort of “encryption”, well rest assured it is NOT any encryption, just optimization of the p3d file. ArmA engine itself loads MLOD and ODOL formats just fine.

P3D Format Description
MLOD Unoptimized / unbinarized format, can be loaded with O2
ODOL Optimized / binarized format, not working in O2

So where to get MLOD models!? Well for example from the BIS example models which include good range of examples for you. Then you can search around for user made addons, since last quarter of 2007 there were quite few addons released in MLOD format. At this last quarter of 2007 you cannot “unbinarize” or convert ODOL to MLOD as there is no such tools released to the public.

Texturing

Just open TexView2, load up existing paa/pac texture and see how it is done. When you are ready to modify the texture, save it to TGA so you can load it to your favorite image editing program. Also it would be good idea to get the PAAPlugin for Photoshop so you can directly load, edit and save paa/pac files with it.

The basic textures are in <something>_CO.paa/pac file name, then the normal maps are in <something>_NOHQ.paa/pac filename and the specular map is <something>_SMDI.paa/pac file name. For more details check out Texture Naming Rules.

At start you should do just fine editing the _CO texture and later on when you are ready to make normal/specular maps, you’ll use for example the NVIDIA plugin for Photoshop to create normal map and TexView2 to create specular map.

If you create brand new textures, keep resolutions in specific size like 512×256, 1024×512 and so on. Do not use 350×993 or other such strange resolutions.

Quick help is that unit/character textures can be found from the characters.pbo under the data directory. Helicopter textures can be found from air.pbo under the data directory. Vehicle textures can be found from wheeled or tracked .pbo files under the data directory. And finally weapon textures can be found from weapons.pbo under the data directory.

Terrain Editing

You need to create elevation’s for your terrain, this can be done either in Wilbur or in gray scale image on your favorite image editor. Then you import this elevation into Visitor 3 (v3), place your objects and finally import big satellite mask and satellite texture images. Just before you bring your terrain into in-game, you need to export the actual WRP file out of v3, then pack all to pbo and fire up ArmA.

Mission Editing

Mission editing is really easy, in game just open mission editor and off you go. As long as you have one unit selected as “Player” you can use the preview button to play your mission normally.

When you save a mission, the drop down menu gives you choices for export to Missions or MPmissions directory, this creates the pbo file out of the mission and placed it to the proper dir for you. If you just choose the directory name, it just saves the mission into the Users<YOURNAME>Missions directory. This users dir is controlled through -profiles parameter.

When you play multiplayer (MP), any played missions are downloaded from the server and placed on MPMissionsCache directory. If you want to edit or play these missions on your computer, you need to unpack the pbo and move the created directory into Users<YOURNAME>Missions directory. If you want to host MP session with these missions, copy them into MPMissions directory.

Of course when you get more deeper into mission editing there is all kinds of trickery with scripts and stuff.

Campaign Editing

Editing campaigns is quite much same as missions, except this time you create one root directory where you put your single missions, you then connect those missions together in the description.ext file.

This is the directory / file structure.

campaign_rootdescription.ext
campaign_rootMissions

You place all your single missions into the Missions directory.

Notes

As you see this tutorial is very beginner stuff in attempt to just orientate the newbie ArmA editor into the basic concepts, so feel free to ask more specific questions in PMC Tactical forums ArmA Editing area. We would like to write a bit more advanced tutorial next, to go through few specific things, your questions in the forum would really help us to focus on what is important.

In PMC Tactical no newbie is looked down upon, we were all newbies once. Its our goal to build this wiki so it will help even the complete beginner guys to learn how to edit.

Диск P: это виртуальный диск, который используется для моддинга.
Он ссылается на распакованные данные игры и очень удобен для хранения всего, что связано с модификациями игры, в том числе и скриптами.

Предположим, что вы хотите хранить все эти данные в папке «C:Users<Название вашего профиль Windows>DocumentsDayZ Projects» (именно такой путь мне по умолчанию предложил DayZ Tools)
Тогда вам не нужно выполнять пункты ниже, до распаковки игры. Достаточно лишь проверить, что указана верная папка в Path to the Project Drive
Если вы хотите, чтобы ссылались на другую папку, то нужно выполнить следующие шаги:

  1. Запускаем DayZ Tools
  2. Открываем Settings и снимаем галку у пункта «Default» для строки Path to the Project Drive(он же диск P).
    1. 1640695116482.png

    2. 1640695189543.png

  3. Нажимаете на иконку папки и выбираете новый путь до места, где у вас будут хранится все файлы по моддингу
  4. Как закончите, нажимаете кнопку Apply

Теперь распаковываем данные игры:

  1. Тут всё просто. Открываем Tools и выбираем Extract Game Data.
    1. 1640695450186.png

    2. 1640695490472.png

  2. В появившемся окне сверяем пути и если всё ОК, то подтверждаем операцию
    1. 1640695598349.png

Этот процесс может занять длительное время, поэтому посмотрите что-нибудь, перекусите и попейте чаю :)

Что в этом шаге происходит?
Данные из папки с игрой переносятся в папку для моддинга и распаковываются.
Это необходимо, чтобы изучать файлы игры и смотреть, что и как сделано и на их основе уже делать моды.
Распаковывать файлы необходимо при каждом обновлении игры, чтобы всё было актуально и не создавать себе лишних проблем из-за этого.

Для скриптеров, по идее, надо копировать и распаковывать лишь scripts.pbo, что лежит в папке с игрой и подпапке dta, например «C:Program Files (x86)SteamsteamappscommonDayZdtascripts.pbo»
И только лишь его держать актуальным, ну возможно, что ещё gui.pbo из той же папки (для создания своих интерфейсов(UI))
Автор пока не проверял эту гипотезу. Вы можете её проверить самостоятельно, либо дождаться автора.
Либо не морочить себе голову и распаковывать всегда всё. По идее, при обновлениях должны распаковываться только изменённые файлы, тем самым сокращая время, но это не точно…

Когда процесс завершиться, вам нужно как раз-таки сэмулировать диск P
Для этого в DayZ Tools во вкладке Tools выбираете пункт Mount Drive P (возможно, что для этого запросит права администратора)

1640696302949.png

Для проверки, что диск появился, можете зайти в Проводник -> Этот компьютер и в подразделе «Устройства и диски» увидеть диск P

1640696424282.png

В нём как раз и будут лежать распакованные файлы игры

1640696525591.png

Понравилась статья? Поделить с друзьями:
  • Как изменить remote origin url
  • Как изменить path через командную строку
  • Как изменить path mac
  • Как изменить remote origin git
  • Как изменить patchwall