Перейти к содержимому

DustBlue IPB Skin by CodeGame Networks

Удаление техники из трейд зон. Чистка трейд зон.

delete vehicle in trade zone vehicle in trade dayz arma2 arma ii epoch dayz epoch удаление техники из трейд зон чистка трейд зон чистка сейф зон от техники

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 15 октября 2014 - 05:27

  • Создайте файл в блокноте: safe_clear_vehicles.sqf
  • Скопируйте в него код ниже:
if (isNil "Ultima_Diag_Level") then {Ultima_Diag_Level = 3;};
if (Ultima_Diag_Level > 0) then
	{diag_log("[#Ultima]: [Чистка техники в секторах]: Старт скрипта");};
sleep 20;
[nil,nil,rTitleText,"Техника в торговых зонах, будет телепортирована через 3 минуты!", "PLAIN",10] call RE;
sleep 60;
[nil,nil,rTitleText,"Техника в торговых зонах, будет телепортирована через 2 минуты!", "PLAIN",10] call RE;
sleep 60;
[nil,nil,rTitleText,"Техника в торговых зонах, будет телепортирована через 1 минуту!", "PLAIN",10] call RE;
sleep 50;
[nil,nil,rTitleText,"Техника в торговых зонах, будет телепортирована через 10 секунд!", "PLAIN",10] call RE;
sleep 10;
private ["_typeOf","_ObjName","_VehType","_Radius","_aTradeZones","_Coord","_Pos","_SafeSpot","_NearObjs","_i","_NewPos","_vehDelete","_vehTP","_vehUnlock","_vehDelInventory","_Obj"];
_vehDelete			=	false;	//	Удалять технику
_vehTP				=	true;	//	Телепортировать технику
_vehTPUpdate		=	true;	//	Записывать в БД новые координаты полсе телепорта	
_vehUnlock			=	false;	//	Открывать технику
_vehDelInventory	=	false;	//	Удалять инвентарь в технике
_vehType				=	[
									"Air"
									,"LandVehicle"
									,"Ship"
								];
_Radius				=	100;
_aTradeZones		=	[
							[6337,7690,6555,7734]			//	Старый собор
							,[4063,11664,4135,10999]		//	Баш
							,[11468,11345,10989,11501]		//	Клен
						];
{
	_Coord		=	_x;
	_Pos			=	[(_Coord select 0), (_Coord select 1), 0];
	_SafeSpot	=	[(_Coord select 2), (_Coord select 3), 0];
	_NearObjs	=	nearestObjects [_Pos, _VehType, _Radius];
	if (Ultima_Diag_Level > 1) then
		{diag_log(format["[#Ultima]: [Чистка техники в секторах]: В секторе: %1, найдено %2 объектов.",str(_Coord), count (_NearObjs)]);};
	for "_i" from 0 to count _NearObjs - 1 do
		{
			_Obj			=	(_NearObjs select _i);
			_typeOf		=	typeOf _Obj;
			_ObjName	=	(gettext (configFile >> "CfgVehicles" >> _typeOf >> "displayName"));
			if (Ultima_Diag_Level > 1) then
				{diag_log(format["[#Ultima]: [Чистка техники в секторах]: Выбран объект: %1", _ObjName]);};
			if (_vehDelInventory) then
				{
					clearWeaponCargoGlobal _Obj;
					clearMagazineCargoGlobal _Obj;
					clearBackpackCargoGlobal _Obj;
					if (Ultima_Diag_Level > 1) then
						{diag_log(format["[#Ultima]: [Чистка техники в секторах]: Объекту: %1, удален инвентарь.", _ObjName]);};
				};
			if ((_vehUnlock) && (locked _obj)) then
				{
					_Obj setVehicleLock "UNLOCKED";
					_Obj setVariable ["R3F_LOG_disabled",false,true];
					if (Ultima_Diag_Level > 1) then
						{diag_log(format["[#Ultima]: [Чистка техники в секторах]: Объект: %1, открыт.", _ObjName]);};
				};
			if (_vehTP) then
				{
					_NewPos	 =	[_SafeSpot, 0, _Radius, 10, 0, 2000, 0] call BIS_fnc_findSafePos;
					_Obj setpos _NewPos;
					if (Ultima_Diag_Level > 1) then
						{diag_log(format["[#Ultima]: [Чистка техники в секторах]: Объект: %1, телепортирован в координаты: %2", _ObjName, str(_NewPos)]);};
					if (_vehTPUpdate) then
						{
							private["_position","_worldspace","_fuel","_key","_ObjID"];
							_ObjID			= _Obj getVariable["ObjectID","0"];
							_position		=	getPosATL _Obj;
							_worldspace	=	[round(direction _Obj),_position];
							_fuel				=	fuel _Obj;
							_key				=	format["CHILD:305:%1:%2:%3:",_ObjID,_worldspace,_fuel];
							if (Ultima_Diag_Level > 1) then
								{diag_log ("[#Ultima]: [Чистка техники в секторах]: [БД]: Запись: "+ str(_key));};
							_key call server_hiveWrite;
						};
				};
			if (_vehDelete) then
				{
					deleteVehicle _Obj;
					if (Ultima_Diag_Level > 1) then
						{diag_log(format["[#Ultima]: [Чистка техники в секторах]: Объект: %1, удален.", _ObjName]);};
				};
		};
} forEach _aTradeZones;
[nil,nil,rTitleText,"Вся техника в торговых зонах, телепортирована за их пределы!", "PLAIN",10] call RE;
if (Ultima_Diag_Level > 0) then
	{diag_log("[#Ultima]: [Чистка техники в секторах]: Чистка завершена.");};
  • На стороне сервера, разместите файл: safe_clear_vehicles.sqf, в папке: @DayZ_Epoch_Server_work\addons\dayz_server\missions\ВАША_МИССИЯ\
  • В файл mission.sqf на сервере, в самый низ, добавьте:
execVM "\z\addons\dayz_server\missions\ВАША_МИССИЯ\safe_clear_vehicles.sqf";

*Все настройки, указаны в шапке файла.





Темы с аналогичным тегами delete vehicle in trade zone, vehicle in trade, dayz, arma2, arma ii, epoch, dayz epoch, удаление техники из трейд зон, чистка трейд зон, чистка сейф зон от техники

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных