Jump to content

Добро пожаловать на проект
Weekly Open Games

Weekly Open Games — это проект для людей, которым интересен хардкорный тип игры. Мы стараемся максимально эффективно использовать структуру, слабые и сильные стороны, а также технику и вооружение различных сторон конфликта, но не ставим перед собой цель провести 100% сбалансированного боестолкновения. Командная игра, командное взаимодействие — фундамент нашего проекта.
О проекте WOG Как начать играть Правила серверов
Sharif

Вспышка ярости

Recommended Posts

Открыть полигон


Название: Вспышка ярости
Версия: 4a
Остров: Sahrani
Число слотов: 156
Время начала: 08:38
Время на миссию: 95 минут
Стороны: US Army (Атака) vs People's Revolutionary Army (Оборона)

Вводная

13 марта 1979 года в результате государственного переворота к власти пришло левое движение «New Jewel Movement» во главе с Морисом Бишопом. Новое руководство страны взяло курс на активное сотрудничество с социалистическими странами, в первую очередь, с Кубой и СССР. Новый внешнеполитический курс Гренады вызвал значительное беспокойство со стороны США.
26 марта Гренада привела свою армию в состояние боевой готовности и мобилизовала части полиции, насчитывавшие 3 тыс. человек. Однако Бишоп понимал опасность создавшегося положения и стремился избежать эскалации конфликта. Прагматическая позиция премьера Гренады не понравилась леворадикально настроенным членам правительства.
Между тем к середине 1983 года в движении «New Jewel Movement» наметился раскол. Радикальные коммунисты — сторонники заместителя премьер-министра Бернарда Корда и командующего гренадской армией генерала Хадсона Остина — были недовольны умеренностью Мориса Бишопа и планами нормализации отношений с США. 13 октября группа Корда—Остина совершила переворот. Морис Бишоп был расстрелян.
В это время на Гренаде находились около 630 студентов из США, возможность угрозы их безопасности стала официальным поводом правительству США для проведения военной операции.
Первоначальной задачей ВС США является эвакуация граждан США с территории острова, а также выведение из строя радиостанции удерживаемой Народно-революционной армией Гренады (People's Revolutionary Army).


Задачи

Атака:
Уничтожить топливный бак под радиовышкой, захватить Медицинский Университет и Особняк

Оборона:
Не позволить уничтожить топливный бак под радиовышкой, удержать Медицинский Университет и Особняк

Условности

В Особняке и в Университете могут быть гражданские, миномету и вертолету запрещено обстреливать зоны фугасами или ракетным вооружением!Радиовышка уничтожается через Actionmenu на топливном баке под вышкой, после установки, заряд будет взорван через 30 секунд.Запрещено надевать головные уборы, бронежилеты и форму противника! Инженеры не могут строить укрепления внутри зданий в триггерах.Инженерам запрещено застраивать топливный бак под вышкой.Зоны захватываются в течении 2ух минут.Легкий захват включен.Ограничена радиофикация.Количество карт на отделение ограничено.

Техника

Атака:
  • C-130J - 1
  • M113A3 (M2/Early) - 3
  • M252 - 2
  • UH-1H - 1
  • UH-1H Gunship - 2
  • UH-1H Unarmed - 1
  • М113А3 (боепр.) - 1
Оборона:
  • BRDM-2 - 1
  • DSHkM Minitripod - 2
  • UAZ-3151 (DShKM) - 2
  • ZU-23-2 - 3
  • БТР-60ПБ - 2
  • ГАЗ-66 (ЗУ-23-2) - 1
  • ГАЗ-66 (боеприпасы) - 1
  • ГАЗ-66 (открытый) - 1
  • ГАЗ-66-ЭСБ-8ИМ - 1
  • ДШКМ - 1
  • УАЗ-3151 (Откр.) - 2

Share this post


Link to post
Share on other sites
3 часа назад, Sharif сказал:

Миссия обновлена до версии 1b

В условностях написал как уничтожить радиовышку.
Добавил туман на старте.

Туман на каповских картах запрещен. 

Share this post


Link to post
Share on other sites
3 минуты назад, Sharif сказал:

@Merans это правило вроде как на картах с кастомными водоемами распростронялось. По типу напфа

Не, оно применялось на всех кап картах, т.к. появлялась "полоса" тумана, вместо нормального тумана. 

Share this post


Link to post
Share on other sites

Миссия обновлена до версии 1f

Огни на взлетке для C-130J.
ПНВ для пилотов добавлены.
Дополнительный слот пилота С-130J.
Пулеметчик + помощник пулеметчика в десантных отделениях добавлены.

Share this post


Link to post
Share on other sites

Миссия обновлена до версии 1g

Небольшой фикс снаряжения.
Мелкие правки брифинга.
Максимальная высота и скорость для высадки десанта увеличены.

Share this post


Link to post
Share on other sites

@Vincen
Я исправил отсутствие урона при десантировании, также заменил парашют на rhs_d6_Parachute_backpack из RHS. Отдельно протестировал на работоспособность. Если все ок, то обновлю миссию.

Спойлер

/*
	File: fn_paradrop.sqf
	Version: 1.1
	
	Author(s): cobra4v320 - effects adapted from old halo.sqs, sounds from freesound.org
	
	Description: allows AI units and players to paradrop - fixes AI bug
	
	Parameters:
	0: UNIT    - (object) the unit that will be doing the paradrop
	1: VEHICLE - (object) the vehicle that will be doing the paradrop
	2: (optional) SAVELOADOUT - (boolean) true to save backpack and its contents, and add a "fake" backpack to the front of the unit.
	3: (optional) CHEMLIGHT - (boolean) true if the units will use chemlights
	
	Example(s):
	[this, helo_1, true] call COB_fnc_paradrop
*/
if (!isDedicated) then {

//Parameters
private ["_unit","_vehicle","_saveLoadOut"]; 
_unit 	 	 = [_this, 0, objNull, [objNull]] call BIS_fnc_param;
_vehicle 	 = [_this, 1, objNull, [objNull]] call BIS_fnc_param;
_saveLoadOut = [_this, 2, true, [true]] call BIS_fnc_param;

//Validate parameters
if (isNull _unit) exitWith {"Unit parameter must not be objNull. Accepted: OBJECT" call BIS_fnc_error};
if (isNull _vehicle) exitWith {"Vehicle parameter must not be objNull. Accepted: OBJECT" call BIS_fnc_error};

//create a log entry
["Paradrop function has started"] call BIS_fnc_log;

//save the backpack and its contents, also adds fake pack to front of unit
if (_saveLoadOut && !isNull (unitBackpack _unit)) then {
	private ["_pack","_class","_magazines","_weapons","_items"];
	_pack	   = unitBackpack _unit;
	_class	   = typeOf _pack;
	_magazines = getMagazineCargo _pack;
	_weapons   = getWeaponCargo _pack;
	_items	   = getItemCargo _pack;

	removeBackpack _unit; //remove the backpack
	_unit addBackpack "b_parachute";

	//attach the bacpack to the unit
	[_unit,_class,_magazines,_weapons,_items] spawn {
		private ["_unit","_class","_magazines","_weapons","_items"];
		_unit		= _this select 0;
		_class		= _this select 1;
		_magazines	= _this select 2;
		_weapons 	= _this select 3;
		_items 		= _this select 4;
		
		private "_packHolder";
		_packHolder = createVehicle ["groundWeaponHolder", [0,0,0], [], 0, "can_collide"];
		_packHolder addBackpackCargoGlobal [_class, 1];
				
		waitUntil {animationState _unit == "para_pilot"};
		_packHolder attachTo [vehicle _unit,[-0.07,0.67,-0.13],"pelvis"]; 
		_packHolder setVectorDirAndUp [[0,-0.2,-1],[0,1,0]]; 

		waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1};
		deleteVehicle _packHolder; //delete the backpack in front
		_unit addBackpack _class; //return the backpack
		clearAllItemsFromBackpack _unit; //clear all gear from new backpack

		for "_i" from 0 to (count (_magazines select 0) - 1) do {
			(unitBackpack _unit) addMagazineCargoGlobal [(_magazines select 0) select _i,(_magazines select 1) select _i]; //return the magazines
		};
		for "_i" from 0 to (count (_weapons select 0) - 1) do {
			(unitBackpack _unit) addWeaponCargoGlobal [(_weapons select 0) select _i,(_weapons select 1) select _i]; //return the weapons
		};
		for "_i" from 0 to (count (_items select 0) - 1) do {
			(unitBackpack _unit) addItemCargoGlobal [(_items select 0) select _i,(_items select 1) select _i]; //return the items
		};
	};
} else {
	if ((backpack _unit) != "b_parachute") then {_unit addBackpack "b_parachute"}; //add the parachute if unit has no backpack
};

//eject from vehicle 
[_unit,_vehicle] spawn {
	private ["_unit","_vehicle","_altitude"];
	_unit = _this select 0;
	_vehicle = _this select 1;

	_altitude = (getPos _vehicle select 2);
//	_unit allowDamage false; ПРАВКИ ТУТ
		
	 moveOut _unit;
	_unit setDir getDir _vehicle;
	_unit setPos [(getPos _vehicle select 0), (getPos _vehicle select 1) - random 15 + random 30, _altitude - 4];
	_unit setVelocity [0,20,-20];

	waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1}; //wait for unit to touch ground
/*	ПРАВКИ ТУТ
	if (!isPlayer _unit) then {
		_unit setPos [(getPos _unit select 0), (getPos _unit select 1), 0]; //this removes the unit from the parachute
		_unit setVelocity [0,0,0]; //set speed to zero
		_unit setVectorUp [0,0,1]; //set the unit upright
		sleep 1;
		_unit allowDamage TRUE; //allow unit to be damaged again
	} else {
		_unit allowDamage TRUE; //allow unit to be damaged again
	}; */
};


//create a log entry
["Paradrop function has completed"] call BIS_fnc_log;

//Return Value
_unit;

};

 

 

Edited by Sharif

Share this post


Link to post
Share on other sites
Только что, Sharif сказал:

@Kato имеется в виду коллизия об другие парашюты или от возможного вражеского огня?

Коллизии с парашютами, с другими объектами на карте. Вражеский огонь тоже возможен но это уже дело второе.

Share this post


Link to post
Share on other sites
В 03.07.2018 в 17:26, Sharif сказал:

@Vincen
Я исправил отсутствие урона при десантировании, также заменил парашют на rhs_d6_Parachute_backpack из RHS. Отдельно протестировал на работоспособность. Если все ок, то обновлю миссию.

  Показать контент


/*
	File: fn_paradrop.sqf
	Version: 1.1
	
	Author(s): cobra4v320 - effects adapted from old halo.sqs, sounds from freesound.org
	
	Description: allows AI units and players to paradrop - fixes AI bug
	
	Parameters:
	0: UNIT    - (object) the unit that will be doing the paradrop
	1: VEHICLE - (object) the vehicle that will be doing the paradrop
	2: (optional) SAVELOADOUT - (boolean) true to save backpack and its contents, and add a "fake" backpack to the front of the unit.
	3: (optional) CHEMLIGHT - (boolean) true if the units will use chemlights
	
	Example(s):
	[this, helo_1, true] call COB_fnc_paradrop
*/
if (!isDedicated) then {

//Parameters
private ["_unit","_vehicle","_saveLoadOut"]; 
_unit 	 	 = [_this, 0, objNull, [objNull]] call BIS_fnc_param;
_vehicle 	 = [_this, 1, objNull, [objNull]] call BIS_fnc_param;
_saveLoadOut = [_this, 2, true, [true]] call BIS_fnc_param;

//Validate parameters
if (isNull _unit) exitWith {"Unit parameter must not be objNull. Accepted: OBJECT" call BIS_fnc_error};
if (isNull _vehicle) exitWith {"Vehicle parameter must not be objNull. Accepted: OBJECT" call BIS_fnc_error};

//create a log entry
["Paradrop function has started"] call BIS_fnc_log;

//save the backpack and its contents, also adds fake pack to front of unit
if (_saveLoadOut && !isNull (unitBackpack _unit)) then {
	private ["_pack","_class","_magazines","_weapons","_items"];
	_pack	   = unitBackpack _unit;
	_class	   = typeOf _pack;
	_magazines = getMagazineCargo _pack;
	_weapons   = getWeaponCargo _pack;
	_items	   = getItemCargo _pack;

	removeBackpack _unit; //remove the backpack
	_unit addBackpack "b_parachute";

	//attach the bacpack to the unit
	[_unit,_class,_magazines,_weapons,_items] spawn {
		private ["_unit","_class","_magazines","_weapons","_items"];
		_unit		= _this select 0;
		_class		= _this select 1;
		_magazines	= _this select 2;
		_weapons 	= _this select 3;
		_items 		= _this select 4;
		
		private "_packHolder";
		_packHolder = createVehicle ["groundWeaponHolder", [0,0,0], [], 0, "can_collide"];
		_packHolder addBackpackCargoGlobal [_class, 1];
				
		waitUntil {animationState _unit == "para_pilot"};
		_packHolder attachTo [vehicle _unit,[-0.07,0.67,-0.13],"pelvis"]; 
		_packHolder setVectorDirAndUp [[0,-0.2,-1],[0,1,0]]; 

		waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1};
		deleteVehicle _packHolder; //delete the backpack in front
		_unit addBackpack _class; //return the backpack
		clearAllItemsFromBackpack _unit; //clear all gear from new backpack

		for "_i" from 0 to (count (_magazines select 0) - 1) do {
			(unitBackpack _unit) addMagazineCargoGlobal [(_magazines select 0) select _i,(_magazines select 1) select _i]; //return the magazines
		};
		for "_i" from 0 to (count (_weapons select 0) - 1) do {
			(unitBackpack _unit) addWeaponCargoGlobal [(_weapons select 0) select _i,(_weapons select 1) select _i]; //return the weapons
		};
		for "_i" from 0 to (count (_items select 0) - 1) do {
			(unitBackpack _unit) addItemCargoGlobal [(_items select 0) select _i,(_items select 1) select _i]; //return the items
		};
	};
} else {
	if ((backpack _unit) != "b_parachute") then {_unit addBackpack "b_parachute"}; //add the parachute if unit has no backpack
};

//eject from vehicle 
[_unit,_vehicle] spawn {
	private ["_unit","_vehicle","_altitude"];
	_unit = _this select 0;
	_vehicle = _this select 1;

	_altitude = (getPos _vehicle select 2);
//	_unit allowDamage false; ПРАВКИ ТУТ
		
	 moveOut _unit;
	_unit setDir getDir _vehicle;
	_unit setPos [(getPos _vehicle select 0), (getPos _vehicle select 1) - random 15 + random 30, _altitude - 4];
	_unit setVelocity [0,20,-20];

	waitUntil {isTouchingGround _unit || (getPos _unit select 2) < 1}; //wait for unit to touch ground
/*	ПРАВКИ ТУТ
	if (!isPlayer _unit) then {
		_unit setPos [(getPos _unit select 0), (getPos _unit select 1), 0]; //this removes the unit from the parachute
		_unit setVelocity [0,0,0]; //set speed to zero
		_unit setVectorUp [0,0,1]; //set the unit upright
		sleep 1;
		_unit allowDamage TRUE; //allow unit to be damaged again
	} else {
		_unit allowDamage TRUE; //allow unit to be damaged again
	}; */
};


//create a log entry
["Paradrop function has completed"] call BIS_fnc_log;

//Return Value
_unit;

};

 

 

@Vincenхотеть обновлять:kaif:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.