Файлы миссии

Материал из Armatop Wiki
Перейти к: навигация, поиск

Обязательные файлы

Файлы расположенные в корневой папке миссии.

После первого сохранения, папка вашей миссии будет находиться:

  • Папка "Мои документы" ⇒ папка "Arma 3" или "Arma 3 - Other Profiles" ⇒папка "missions" ⇒ папка с названием вашей миссии

    Если в игре у вас стоит профиль по умолчанию, то первый вариант, если нет - второй

В данной папке обязательно должны присутствовать файлы init.sqf, briefing.sqf и decription.ext.

init.sqf

Основной листинг файла, эти строки должны присутствовать обязательно:

enableSaving [false, false];
enableSentences false;

Этот код автоматически включает отображение карты на брифинге для всех, у кого её нет.

Вызываем файл брифинга:

[] execVM "briefing.sqf";

Обязательно вставить этот код:

cTab_vehicleClass_has_FBCB2 = [];
cTab_vehicleClass_has_TAD = []; 

И в квадратные скобки добавить классы той техники, где может быть разрешена

Система cTAB
Для картоделов:
Класснеймы итемов:

    ItemcTab командирский планшет
    ItemAndroid Blue Force Tracker на Android
    ItemcTabHCam нашлемная камера
    ItemMicroDAGR MicroDAGR GPS

Единое информационное поле сTab для разных фракций:

По умолчанию каждая фракция имеет свою собственную систему управления боем никак не доступную другой стороне, даже путем перехвата устройств и техники. Если вы хотите расширить доступ к сведениям сTab для другой стороны, вы должны выставить одинаковые ключи шифрования. Это значения ключей шифрования по умолчанию:

    cTab_encryptionKey_west = "b";
    cTab_encryptionKey_east = "o";
    cTab_encryptionKey_guer = "i";
    cTab_encryptionKey_civ = "c";

Например если вы хотите чтобы OPFOR и GUER фракции на вашей миссии пользовались единой системой cTab, напишите в вашем init.sqf: cTab_encryptionKey_guer = "b";

Замечание:дружественные фракции и так имеют единую систему cTab.
Указание классов техники с доступными FBCB2 или TAD

По умолчанию вся военная техника имеет доступный терминал FBCB2 и вся авиация доступный TAD, чтобы изменить это вам нужно разместить в перечень классов техники для которой будут доступны системы init.sqf:

cTab_vehicleClass_has_FBCB2 = ["MRAP_01_base_F","MRAP_02_base_F","MRAP_03_base_F","Wheeled_APC_F","Tank"];

cTab_vehicleClass_has_TAD = ["Heli_Attack_01_base_F","Heli_Attack_02_base_F","Heli_Light_02_base_F","Heli_Transport_01_base_F","Heli_Transport_02_base_F","I_Heli_light_03_base_F","Plane"];
Указание классов шлемов в которых встроена нашлемная камера

cTab_helmetClass_has_HCam = ["BWA3_OpsCore_Schwarz_Camera","BWA3_OpsCore_Tropen_Camera"];
Изменение имени группы в системе сTab

Группы отображаются в cTab по их groupIDs. Для изменения groupIDs, добавьте следующий код в инит лидера группы: this setGroupId ["Red Devils"];
Изменение имени техники в системе сTab

По умолчанию все группы техника получает имя группы её занявшей, это может нести определенное неудобство. Чтобы изменить это разместите в инит техники следующий код: this setVariable ["cTab_groupId","Fox",true];
Общие соображение о реализме и требования к картоделам:

В XXI передовые страны начали внедрение систем управления боем тактического звена с целью облегчения сбора информации и принятия решений младшими командирами, а так же для предотвращения печальных инцидентов дружественного огня. Интеграция системы управления боем в пехотные структуры останется за Wieking. Однако на текущий момент у нас нет инструментария позволяющего императивно определять оснащенность системами управления боем классов техники. К сожалению мы вынужденны переложить данную заботу на плечи картодела. Картодел должен помнить 2 простых правила:

    вся боевая и транспортная техника США в XXI имеет доступ к системе управления боем. Если события на вашей миссии происходят в 2000+ году - техника армии США должна быть подключена к системе. Исключение составляет симуляция противодействия РЭБ и об этом должно указываться на брифинге.
    Следующие классы боевой техники ВС РФ должны иметь доступные терминалы: "rhs_bmd2k", "rhs_bmd2m", "rhs_bmd4_vdv", "rhs_bmd4m_vdv", "rhs_bmd4ma_vdv", "rhs_sprut_vdv", "rhs_bmp3_late_msv", "rhs_bmp3m_msv", "rhs_bmp3mera_msv".

Дополнительные параметры:

Установка "качества" прорисовки ландшафта, влияет на "летающих" технику и игроков на больших расстояниях. Чем меньше значение – тем лучше прорисовка. Не рекомендуется ставить очень низкие значения.
Возможные значения: 25, 12.5, 6.25, 3.125

setterraingrid 6.25;

Возможность пользоваться картой рядом стоящего бойца или внутри техники.

[] call wmt_fnc_briefingmap;

Скачать пример init.sqf

description.ext

Основной листинг файла.

//обязательный блок
respawn 		= 1;
respawnDelay		= 5;
disableChannels[]	= {0,2,4,5,6};
enableDebugConsole	= 1;
corpseRemovalMinTime= 86400;
wreckRemovalMinTime = 86400;
//forceRotorLibSimulation = 1;   // если на сервере не включено по умолчанию сложное пилотирование, то добавляем эту команду

//Название вашей миссии (без каких либо дополнений, просто название)
onLoadName = "Название вашей миссии";
//Ваш ник
author = "Автор";
//картинка, должна находиться в папке с миссией, размер не более 100кб, чтобы отключить - удалите строку
overviewPicture = "logo.jpg";
//краткое описание миссии
overviewText = "REALWAR";
//количество слотов (исправлять только если их у вас больше 180)
class Header
{
	gameType=RPG;
	minPlayers=1;
	maxPlayers=180;
};
// Убирает из брифинга возможность видеть список техники противника!
class WMT_Param 
{
CampaignBriefingMode = 1;
};

Скачать пример description.ext

briefing.sqf

Ремарки:

  • Приведенная ниже структура - обязательна. Заголовки пунктов брифинга и их порядок недопустимо изменять.
  • Все пункты кроме "Вводной" и "Дополнительной информации" в основном блоке обязательны к заполнению. Информация в них должна быть максимально краткой и содержательной.
  • Воду можно разлить в "Вводной", "Дополнительной информации" или вообще вне основного блока брифинга.
  • Убедитесь, что кодировка файла брифинга - UTF-8.
  • В игре новые записи в брифинге вставляются сверху, а не снизу. Поэтому в файле briefing.sqf пункты брифинга должны быть расположены в обратном порядке.
  • Стилистика. Держитесь в формальных рамках. Брифинг это документ, в котором не место брани и сленгу. Исключение: намеренная стилизация под прямую речь.

Структура брифинга:

1. ———-Разделительная линия———-
Разделительные линии нужны, чтобы легче было отделить главную часть брифинга от вспомогательных/служебных/произвольных пунктов брифинга.

2. Вводная (не обязательно)
Произвольный текст, призванный познакомить игроков с предысторией миссии и объяснить различные дизайнерские ходы картодела (например, “американцам не завезли батарейки, поэтому они без ПНВ и ТВП”).

3. Описание миссии
а) Краткое описание миссии.
б) Стартовые условия миссии:

  • Время старта;
  • Время рассвета/заката - если миссия пересекает рассвет/закат по времени);
  • Облачность;
  • Сила и направление ветра.

4. Задачи
Четкая формулировка задачи для стороны. Описание условностей связанных с выполнением задачи (перезахватывается ли зона, сколько нужно для захвата/удержания и т.п.).

Либо все задачи под одним пунктом брифинга, либо, если задач много - под несколькими:

 Задача: Основная
 Задача: Дополнительная

Либо так:

 Задача 1
 Задача 2
 ...

5. Наши силы
а) Краткое описание подразделений и м.б. техники, представленной на стороне игрока.
б) Полезная информация о всем, что касается стороны игрока. В первую очередь - не очевидная информация (например: “Наши танки не заряжены. БТРы не заправлены. Вертолеты взлетят только после выполнения такой-то задачи”).

6. Рации и карты

  • У кого имеются ДВ рации
  • У кого имеются КВ рации
  • У кого имеются карты, либо аналогичные средства навигации (GPS, Android, cTab).

7. О противнике
Информация о противнике, полученная от условной разведки (предположительное расположение старта противника, его оснащение оружием и техникой.
У картодела должна быть очень веская причина не заполнять этот раздел в необходимом объеме.

8. Игровые условности (не обязательно)
Информация о не очевидных аспектах миссии, которые, могут повлиять на геймплей.

9. Дополнительная информация (не обязательно)
Произвольная информация от картодела, которую не удалось воткнуть в Вводную. Здесь можно дополнительно описать какие-либо моменты брифинга более развернуто (т.к. другие пункты кроме Вводной должны быть максимально лаконичными).

10. ———-Разделительная линия———-

Скачать образец briefing.sqf

Дополнительные файлы

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

Не придумывайте велосипед там, где в этом нет необходимости - не усложняйте всем жизнь.

vehload.sqf

Используйте этот файл для выдачи вещей в ящики и вертолеты. В порядке исключительной необходимости, им можно выдавать вещи в инвентарь бойцов.
Примечание: не пытайтесь выдавать что-либо в наземную технику - ее инвентарь автоматически очищается.

Вызов:
Вызывать файл нужно (в редакторе) из строки инициализации контейнера строкой:

[this,"EMPTY"] call compileFinal preprocessFileLineNumbers "vehload.sqf";

Код:

_veh = _this select 0;
_ldout = _this select 1;

if (isServer) exitWith {
	switch (_ldout) do
		{
		CASE "EMPTY":
		{ 
			clearItemCargoGlobal _veh;
			clearBackpackCargoGlobal _veh;
			clearMagazineCargoGlobal _veh;
			clearWeaponCargoGlobal _veh;
			_veh addItemCargoGlobal ["AGM_EarBuds",10];   // Любые вещи (кроме рюкзаков) - параметры: ["ИмяКлассаОбъекта", Количество];
		};
		
		CASE "HELI":    // Обязательно проверяйте и очищайте инвентарь вертушек вручную, т.к. там по умолчанию лежит много мусора
		{
			clearItemCargoGlobal _veh; 
			clearMagazineCargoGlobal _veh;  
			clearWeaponCargoGlobal _veh; 
			_veh addBackpackCargoGlobal ["B_Parachute", 6];
		};
	};
};

Эти команды полностью очищают контейнер:

clearItemCargoGlobal _veh;
clearBackpackCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
clearWeaponCargoGlobal _veh;

Этой командой выдавайте рюкзаки в ящики:

_veh addBackpackCargoGlobal ["AGM_EarBuds",10];

Extra: Если нужно выдать что-то прямо в инвентарь бойцу, не используйте вышеописанные команды. Вместо этого используйте эти:

_veh linkItem "ItemGPS";
_veh addBackpack "tf_mr3000_rhs";
_veh addItem "Binocular";
_veh addWeapon "hlc_rifle_akm";

Скачать пример vehload.sqf