Перейти к содержанию
Zealot

(Заморожено) Платформа для TvT миссий от Zealot

Рекомендуемые сообщения

Внимание, в данный момент вместо платформы следует использовать WMT модули. Если у вас есть какие-то вопросы или проблемы с конвертацией карт - обращайтесь в ТС и Скайпе.
 
Шаблон миссии со всеми скриптами сразу:
При создании своей миссии, распаковать архив и записать в папку:
C:Users{логин в WIndows}DocumentsArma 3 — Other Profiles{имя профиля а Arma3}MPMissions

1) Изменить конфигурацию техники и оружия, название файла и мисии
2) подготовить картинку и исправить параметры по-умолчанию в param_def.hpp 
3) отредактировать текст брифинга для разных сторон в briefing.sqf
4) отредактировать миссию в редакторе
Особенности:
1) Не раздавать оружия и снаряжения через поле инициализации, т.к. снаряжение будет переинициализировано скриптом. (вместо этого нужно записать файл в каталог TPL и записать имя этого файла в инит техники или бойца


this setvariable ['TPL', 'mytpl'];

если mytpl.sqf — это имя файла )
TBD
 
21/07/14 версия 1H
 
- фризтайм техники теперь реализуется через Eventhandler, исправлен баг с пропаданием терминала UAV
 
- переписан скрипт завершающий миссию по потерям
 
- снаряжение из шаблонов TPL теперь применяется только после захода игрока в бота (это должно снизить нагрузку на сервер)
 
30/06/14 версия 1F
 
- появилась возможность отключать тепловизор только в технике (в оружии, беспилотниках, титанах) он остается,
для этого можно воспользоваться следущими настройками param_def.hpp
 
//отключен ли тепловизор в технике
#define T7_MISSION_THERMOVISION_DISABLED_IN_VEHICLES
 
//тепловизор отключен везде, в биноклях и в терминале UAV показывается черный экран вместо тепловизора
#define T7_MISSION_THERMOVISION_DISABLED_TOTAL
 
- счетчик времени фризтайма и список голосования смещены выше и сделаны белого цвета, чтобы не так бросаться в глаза,
кроме того уменьшен размер шрифта у списка голосования
 
- появился пункт в parma_def.hpp для того чтобы указать какое сообщение выводить при срабатывании таймера
#define MISSION_TIMER_WIN_MSG "Победа CSAT. Город удалось отстоять!"
это пункт можно не указывать, тогда будет показываться стандартное сообщение.
 
- в метках на отряды на брифинге показывается количество игроков в отряде через двоеточие
 
- отображение техники, которая стоит далеко от своих войск:
this setVariable ["zlt_side",west]; в инит техники (kлибо east, resistance)
если нужно чтобы техника наоборот не показывалась, нужно добавить this setVariable ["zlt_show",false];
 
- новая опция:
//расскоментируйте чтобы включть показ списка вражеской техники на брифинге
#define T7_MISSION_SHOW_ENEMY_VEHICLES
 
- теперь метки на брифинге также появляются и на беспилотники, беспилотники появляются в списке дружественной техники
 
- если вам не нравится место расположения списка частот на карте - укажите новое с помощью маркера "Freq_Pos"
- маркеры начинающиеся со слов west, east, res будут видны на брифинге только соответствующим сторонам и их союзникам.
 
- добавлена возможность выбора коэффицента потерь при котором завершится игра
// При каком проценте потерь с каждой стороны миссия будет зарублена (типичные значения, 0.1, 0.05)
#define T7_MISSION_LOSSES_COEFF 0.1
 
по умолчанию, если закомментировать эту строчку коэффицент составляет 0.1
 
- скрипт изменения дальности видимости был переработан, теперь TAW не используется, все самодельное
 
27/06/14 версия 1E
- на брифинге в метках отрядов показывается имя их командира
- убраны сообщения при стрельбе во время фризтайма
- теперь тела и сгоревшая техника не удаляется через несколько минут игры
- сторона игрока не меняется при тимкиллах
- небольшие исправления
- спуск на веревке с вертолета теперь не поддерживается, так же как и гражданская техника в городах
- теперь появилась возможность отключения переопределения инвентаря техники и пехоты
с помощью установок (для картоделов, которые меняют снаряжению юнитов или техники не предусмотренными в платформе способами, например вставляя команды в инит напрямую)
//раскомментируйте чтобы платформа не изменяла снаряжение пехоты
// снаряжение станет ванильным
// (назначение снаряжения командами setVariable работать тоже перестанут!)
//#define T7_MISSION_DONT_TOUCH_UNIT_EQUIPMENT
 
//раскомментируйте чтобы платформа не изменяла снаряжение техники 
// снаряжение станет ванильным
// (назначение снаряжения командами setVariable работать тоже перестанут!)
//#define T7_MISSION_DONT_TOUCH_VEHICLE_EQUIPMENT
 
в param_def.hpp

- #define MISSION_THERMOVISION_DISABLED для отключения тепловизора вместо #define MISSION_TIE_DISABLED_DEFAULT 0 и #define MISSION_TIE_DISABLED_DEFAULT 1
#define MISSION_TIE_DISABLED_DEFAULT 0 нужно просто удалить а #define MISSION_TIE_DISABLED_DEFAULT 1 заменить на #define MISSION_THERMOVISION_DISABLED
 
16/02/14 версия 1D2
- багфикс скрипта спуска по канату
 
11/02/2014 обновление платформы, версия 1D
- теперь по умолчанию в бронетехнике есть дополнительное снаряжение - магазины для автоматов и пулеметов, гранаты
- теперь оружие не перегружается полностью при старте миссии (это вызывало некоторые баги)
 
27/01/2014 обновление платформы, версия 1C
- AAF_DESERT командиру отделения и старшему стрелку выдается GPS автоматически
- теперь после смерти можно нажав "End" увидеть статистику
- мелкий багфикс в скрипте ремонта
- обновлен TAW ViewDistance Скрипт до версии 1.3
- различные мелкие улучшения
- скрипт генерации частот поддерживает больше карт
 
16/01/2014 Небольшие багфиксы, мелкие улучшения. Версия 1B

14/01/2014 Небольшие багфиксы. Версия 1А

11/01/2014 Обновление шаблонной миссии — небольшие багфиксы.

 
https://cloud.mail.ru/public/dbe3434023b3/wog_154_Defence_Atira_14.Altis.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем в эту тему конечно надо, но более подходящей не нашел.

У меня просьба к картоделам. При игре на островах, перенесённых в А3 из А2, например в Черноруссии, очень заметна разница в освещении в А3. Такое чувство, что Чернорусь переместилась на широту Ташкента. Очень всё яркое, настолько что играть неприятно.

Соответственно сама просьба: если делаете миссии на островах из А2 - Черноруссия, Утёс, Буковина и т.п., находящиеся по задумке на средних широтах, да и для южных, Такистан, но в меньшей степени, выставляйте пожалуйста облачную погоду. А3 позволяет играть с погодой в широких пределах.

Я проверял в редакторе, выставление облачной погоды делает Чернорусь вполне аутентичной тому, что было в А2. Да и просто она сразу намного лучше смотрится.

Заранее благодарю уважаемых картоделов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как по простому в мультиплеерной миске сделать вызов скрипта TAW ViewDistance не через колесико, как по умолчанию, а через 0-0-7 как в данной платформе. И как ограничить выставляемую максимальную дистанцию для всех игроков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создаешь файл с расширением .sqf и прописываешь в нем как-то так:

clearWeaponCargoGlobal _this;clearMagazineCargoGlobal _this;clearItemCargoGlobal _this;_this addItemCargoGlobal ["ItemGPS",8];_this addItemCargoGlobal ["FirstAidKit",30];_this addMagazineCargoGlobal ["RPG32_HE_F",3];_this addMagazineCargoGlobal ["RPG32_F",3];_this addWeaponCargoGlobal ["launch_RPG32_F",3];

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Exorcist, это я в курсе. Просто в шаблоны нету папки TPL - вот я и засомневался.

А еще лучше руками не писать этот скрипт, а пойти других путем - http://wogames.info/topic/442-konverter-profailov-lea-v-nuzhnyi-vam-format/  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Nkey, тогда я не понял сути твоего сообщения. Зеалот давно забил не то что на Arma3, а на сам WOG. По этому думаю писать ему что либо тут бесполезно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновленный скрипт частот для новой рации: 

// Pregenerated frequencies by [STELS]Zealot// Use from init.sqf:// [] execVM "zlt_gen_freqs.sqf";// or ['a3ru'] execVM "zlt_gen_freqs.sqf"; for arma3.ru frequencies/*Changelog:1R- Added support for Desert_E map*/#define SCRIPT_VERSION "1R"#define STR_HELP "Генерация частот рации по-умолчанию (Автор: Zealot) <br/>Скрипт во время брифинга пишет на карте предлагаемые случайные частоты в верхнем левом углу карты.<br/> Версия: "+SCRIPT_VERSION#define STR_SCRIPTS_NAME "Скрипты"#define STR_SCRIPT_NAME "Генерация частот рации "#define STR_LR_STRING "ДВ %1 MHz (Сдвиг: %2)"#define STR_MAP_HDR "Предлагаемые частоты:"//private ["_radio_t"];zlt_genfreq_radio_t = [_this, 0, "TF"] call bis_fnc_param;zlt_genfreq_radio_t = toUpper (zlt_genfreq_radio_t);_radio = [-2,2,32,64,100,400];if ( zlt_genfreq_radio_t == "A3RU" ) then {	_radio = [-2,2,5,18,100,400];};if ( zlt_genfreq_radio_t == "TF" ) then {	if (not isClass (configFile >> "CfgPatches" >> "task_force_radio_items")) exitwith { zlt_genfreq_radio_t = ""; };	tf_same_sw_frequencies_for_side = false;	tf_same_lr_frequencies_for_side = true;	};zlt_prc_freq_updmarkers = {	_zlt_genfreq_xmap = 0;	_zlt_genfreq_ymap = 8000;	_zlt_genfreq_deltamap = 250;		switch (worldName) do {		case ("Altis") : {			_zlt_genfreq_xmap = 1000;			_zlt_genfreq_ymap = 30000;			_zlt_genfreq_deltamap = 500;			};			case ("Stratis") : {			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 8000;			_zlt_genfreq_deltamap = 250;		};		case ("Chernarus") : {			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 15000;			_zlt_genfreq_deltamap = 250;			};		case ("Takistan") : {			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 14000;			_zlt_genfreq_deltamap = 250;			};				case ("Zargabad") : {			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 8000;			_zlt_genfreq_deltamap = 100;			};		case("plr_mana"):{			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 5000;			_zlt_genfreq_deltamap = 100;			};		case("Desert_E"):{			_zlt_genfreq_xmap = 0;			_zlt_genfreq_ymap = 2000;			_zlt_genfreq_deltamap = 25;			};			};	_zlt_spawnSetLrChannel = {		if (leader group player == player) then {			_this spawn {										waituntil {sleep 0.1;player call TFAR_fnc_haveLRRadio;};					sleep 0.5;					_val = str (_this);										[(call TFAR_fnc_activeLrRadio) select 0, (call TFAR_fnc_activeLrRadio) select 1, _val] call TFAR_fnc_setLrFrequency;					if (dialog) then {						call TFAR_fnc_updateLRDialogToChannel;					};								};		};	};		_zlt_fnc_printfrq = {			_str = _this;		_txt = "";		_mcolor = "";				switch ( typename (_str select 0)) do {			case ( typename east) : { _txt = format[STR_LR_STRING,_str select 1, _str select 2]; _mcolor = ([ (_str select 0) , true] call bis_fnc_sidecolor); };			case ( typename grpnull) : { _txt = format["%1: %2 MHz", groupid(_str select 0)+"("+ name leader (_str select 0) +")", _str select 1]; _mcolor = [ side (_str select 0) , true] call bis_fnc_sidecolor; };			default { _txt = STR_MAP_HDR; _mcolor = [ playerside , true] call bis_fnc_sidecolor; };		};				_mname = format ["mrk_freq_%1", _zlt_genfreq_ymap];		createMarkerLocal[_mname, [_zlt_genfreq_xmap, _zlt_genfreq_ymap]];		_mname setMarkerTypeLocal "mil_dot";		_mname setMarkerTextLocal _txt;		_mname setMarkerColorLocal _mcolor;		_mname setmarkerposlocal [_zlt_genfreq_xmap, _zlt_genfreq_ymap];		_zlt_genfreq_ymap = _zlt_genfreq_ymap - _zlt_genfreq_deltamap;	};	_friends = ([side player] call BIS_fnc_friendlySides) - [civilian];	_friendsids = [];	_playersideid = [playerside] call BIS_fnc_sideID;	[""] call _zlt_fnc_printfrq;	(zlt_pub_gen_frequencies select _playersideid) call _zlt_fnc_printfrq;	{		//if ( typename (_x select 0) == typename grpNull and {side (_x select 0) in _friends} and { leader (_x select 0) in playableunits} ) then {				if ( typename (_x select 0) == typename grpNull and {side (_x select 0) in _friends} and { leader (_x select 0) in allUnits} ) then {					_x call _zlt_fnc_printfrq;		};	} foreach zlt_pub_gen_frequencies;	if (zlt_genfreq_radio_t == "TF" ) then {		((zlt_pub_gen_frequencies select _playersideid) select 1) call _zlt_spawnSetLrChannel;	};};if (hasInterface) then {	[] spawn {					waitUntil {player == player};		player createDiarySubject [STR_SCRIPTS_NAME,STR_SCRIPTS_NAME];		player createDiaryRecord [STR_SCRIPTS_NAME,[STR_SCRIPT_NAME, STR_HELP]];						waitUntil {!isNil "zlt_pub_gen_frequencies"};				if (playerside == civilian) exitwith {};			[] call zlt_prc_freq_updmarkers;	};};if (isServer or isDedicated) then {	_fnc_genfreq = {		private ["_state","_num","_isinbl","_l1","_l2"];		_state = _this select 0; 		if (isNil "zlt_freqblacklist") then {			zlt_freqblacklist = [0];		};		_num = 0;		_l1 = _radio select 0;		_l2 = _radio select 1;		_isinbl = true;		if (_state == 0) then {			_l1 = _radio select 2; _l2 = _radio select 3;		};		if (_state == 1) then {			_l1 = _radio select 4; _l2 = _radio select 5;		};		while {_isinbl} do {			_num = round (([_l1,_l2] call bis_fnc_randomnum) * 10) / 10 ;			if not (_num in zlt_freqblacklist) then {				 zlt_freqblacklist set [count zlt_freqblacklist, _num ];				_isinbl = false;			};		};		_num;	};	_zlt_pub_gen_frequencies = [];	{		_num = 0;		_sdv = 0;		switch true do {			case (_x == resistance and ([west, resistance] call BIS_fnc_areFriendly) ) : {				_num = (_zlt_pub_gen_frequencies select 1) select 1;				_sdv = (_zlt_pub_gen_frequencies select 1) select 2;			};			case (_x == resistance and ([east, resistance] call BIS_fnc_areFriendly) ) : {				_num = (_zlt_pub_gen_frequencies select 0) select 1;				_sdv = (_zlt_pub_gen_frequencies select 0) select 2;			};			default {				_num = [0] call _fnc_genfreq ;				_sdv = [2] call _fnc_genfreq ;			};			};		_data = [_x, _num, _sdv]; 				_zlt_pub_gen_frequencies set [count _zlt_pub_gen_frequencies,  _data];	} foreach [east, west, resistance];		call TFAR_fnc_processGroupFrequencySettings;	{		_num = [1] call _fnc_genfreq ;		_zlt_pub_gen_frequencies set [count _zlt_pub_gen_frequencies, [_x, _num] ];						if (zlt_genfreq_radio_t == "TF") then {			_vl3 = _x getVariable "tf_sw_frequency"; 						(_vl3 select 2) set [0, str (_num)];			_x setVariable["tf_sw_frequency", _vl3, true];		};	} foreach allgroups;		zlt_pub_gen_frequencies = _zlt_pub_gen_frequencies;	publicVariable "zlt_pub_gen_frequencies";	};

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни, недавно занялся миссиями. Пока в основном для своих игр и тренировок. С рацией вроде разобрался, спасибо Nkey.Пользую эту платформу, всем доволен. Но подскажите, как мне ее использовать на других картах? Допустим Заргабад или Быстрица? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все не сложно, просто надо разобраться с папками.

1. Нужно создать миссию через сетевой редоктор (который не в главном меню, а когда создаешь сервер), раставить юнитов, триггеры и маркеры.

2. Сохранить миссию, как user mission (не помню, как это перевели в русской версии). Надо что бы миссия сохранялась в виде отдельной папки, а не pbo.

3. В папке C:UsersadminDocumentsArma 3 - Other Profiles[FRWL]%20EzhukMPMissions (в моем случае) найти папку с названием миссии и скопировать туда все из архива, кроме mission.sqf. Не забыв при этом обновить скрипт на частоты.

4. Для запоковки в pbo рекомендую http://www.armaholic.com/page.php?id=16369 , а так можно через редактор, сохранив, как mp misson

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ezhuk спасибо. И раз такая жара, то спрошу по теме. Есть ли у кого нить вменяемый мануал по триггерам? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
@Nkey, нужно содержимое файла zlt_gen_freqs.sqf поменять на содержимое твоего поста и все, я правильно понимаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни, подскажите. Если я не ошибаюсь, то скрипты удаляют оружие (взрывчатку) из любых ящиков. Проверяли в пустом редакторе, ставятся. На платформе - нет. Иные скрипты так же не помогают.Не подскажите, где убрать этот скрипт?  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Парни, подскажите. Если я не ошибаюсь, то скрипты удаляют оружие (взрывчатку) из любых ящиков. Проверяли в пустом редакторе, ставятся. На платформе - нет. Иные скрипты так же не помогают. Не подскажите, где убрать этот скрипт? 

 

Скрипт, в котором прописана очистка нашли, откорректировали. Теперь всё работает.

 

Есть другой вопрос:

 

Я создал sqf-файл со след. данными:

clearWeaponCargoGlobal _this;clearMagazineCargoGlobal _this;clearItemCargoGlobal _this;clearBackpackCargoGlobal _this;_this addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 5];_this addMagazineCargoGlobal ["SatchelCharge_Remote_Mag", 5];

Как мне использовать его для заполнения определенного ящика? Я знаю, что за это должна отвечать команда:

this setVariable ["name"];

Но что еще необходимо для того, чтобы ящик брал данные с sqf-файла? Т.к. просто ссылки на необходимый sqf-файл оказалось недостаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы не висела ошибка не пол экрана, в файле zlt_tracker3.sqf в строке 127 должно быть

_vehradioside = _x call TFAR_fnc_getVehicleSide; 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.