Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
Doker

Автоудаление техники из торговых зон

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

Распаковываем файл dayz_server.pbo

 

Создаём файл с названием server_deleteObjInsafezone.sqf с таким содержимым:

_obj = _this select 0;

if (!isServer) exitWith {diag_log "Server_DeleteObjInsafezone.sqf - ERROR: NOT SERVER?"};

//\\\\\\\\\\\\\\\\\\\\ Setup Area ////////////////////\\

//vehicle types to Check for
_delVeh = ["Air","Landvehicle","Ship","Tank"];

//Action to take when vehicle is detected in a [VEHICLE CLEANUP ZONE]
//0 Delete vehicles ingame but keep in database. NOTE: This will stack vehicles in database if not cleaned propper
//1 Tp vehicles outside [VEHICLE CLEANUP ZONE] ("radius" + 50 meter to 4x "radius" from VEHICLE CLEANUP ZONE pos eg: if radius is 100 vehicles are moved 150-400 meter away)
//2 Tp vehicles to a position within 125m of _safespot (remember to set a position below)
//3 will delete vehicles completly from database
_Action = 1;

//if _Action = 2 then enter the position you desire here (default is by grozovoy pass around 022010)
_safespot = [2283.19,14255,0];
//how large radius to spread them in this area in meters (default 125m)
_radius = 125;

//damaged above this amoun, vehicle is deleted (set to 1 to only delete completely destroyed vehicles)
_dam = 0.90;

//if true will delete vehicles matching array below by default
_delbikmot = true;
//if above is true will delete these by default
_defdelar = ["Bicycle","Motorcycle","CSJ_GyroC","CSJ_GyroCover","CSJ_GyroP"];//,"ATV_Base_EP1"

//set to true, to unlock vehicles by default when TP'ed
_unlock = true;

//log text, this is what you want to look for in the logs, if you need to know something about a moved vehicle
_txt = "[VEHICLE CLEANUP ZONE]";

//Update vehicles to the hive, and make sure they are not moved each restart?
_updateHIVE = true;

//VEHICLE CLEANUP ZONE's/areas switch choosing the map name for cleanup location purposes
if(isNil "HALV_VEHICLE_CLEANUPZONES")then{
	diag_log format["%1: selecting world to cleanup ...",_txt];
	_WorldName = toLower format ["%1", worldName];
	switch (_WorldName)do {
//NAPF
		case "napf":{
//			diag_log format["%2: Cleanup zones for napf selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[8246.3184,15485.867,0],	125,		"Trader City Lenzburg"],
			[[15506.952,13229.368,0],	125,		"Trader city Emmen"],
			[[12399.751,5074.5273,0],	125,		"Trader City Schratten"],
			[[10398.626,8279.4619,0],	125,		"Bandit Vendor"],
			[[5149.9814,4864.1191,0],	125,		"Hero Vendor"],
			[[2122.7954,7807.9878,0],	100,		"West Wholesaler"],
			[[5379.0342,16103.187,0],	100,		"North Wholesaler"],
			[[6772.8877,16983.27,0],	100,		"Nordic Boats"],
			[[16839.973,5264.0566,0],	100,		"Pauls Boats"],
			[[15128.379,16421.879,0],	100,		"AWOLs Airfield"]
			];
		};
//chernarus
		case "chernarus":{
//			diag_log format["%2: Cleanup zones for chernarus selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					radius		cityname/text
			[[6325.6772,7807.7412,0],	125,		"Trader City Stary"],
			[[4063.4226,11664.19,0],	125,		"Trader City Bash"],
			[[11447.472,11364.504,0],	125,		"Trader City Klen"],
			[[1606.6443,7803.5156,0],	125,		"Bandit Camp"],
			[[12944.227,12766.889,0],	125,		"Hero Camp"],
			[[13441.16,5429.3013,0],	100,		"Wholesaler East"],
			[[4510.7773,10774.518,0],	100,		"Aircraft Dealer"],
			[[7989.3354,2900.9946,0],	100,		"Boat Dealer South"],
			[[13532.614,6355.9497,0],	100,		"Boat Dealer East"],
			[[4361.4937,2259.9526,0],	100,		"Wholesaler South"]
			];
		};
//tavi
		case "tavi":{
//			diag_log format["%2: Cleanup zones for tavi selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[11698.81,15210.121,0],	75,			"Trader City Lyepestok"],
			[[15309.663,9278.4912,0],	75,			"Trader City Sabina"],
			[[5538.7354,8762.2695,0],	75,			"Trader City Bilgrad"],
			[[7376.6084,4296.5879,0],	75,			"Trader City Branibor"],
			[[10948.426,654.90265,0],	75,			"Bandit Vendor"],
			[[15587.822,16394.049,0],	75,			"Hero Vendor"],
			[[16555.732,10159.68,0],	75,			"Aircraft Dealer"],
			[[6815.0776,8534.1504,0],	75,			"Aircraft Dealer 2"],
			[[4066.3528,7265.0024,0],	75,			"Misc. Vendor"],
			[[17497.631,7159.0879,0],	75,			"Misc. Vendor 2"],
			[[17332.115,12930.239,0],	75,			"Boat Dealer"],
			[[10570.494,16772.477,0],	75,			"Boat Dealer 2"],
			[[10698.463,5983.665,0],	75,			"Boat Dealer 3"],
			[[5419.2437,9503.5479,0],	75,			"Boat Dealer 4"],
			[[13342.758,8611.9932,0],	75,			"Wholesaler"],
			[[9859.4209,7471.5684,0],	75,			"Wholesaler"] // <-- no comma for last entry
			];
		};
/*
//myworldname
		case "myworldnameinlowercase":{
//			diag_log format["%2: Cleanup zones for myworldnameinlowercase selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[7839.60,8414.73,381.33],	150,		"my custom zone marker"],
			[[7839.60,8414.73,381.33],	75,			"my custom location"] // <-- no comma for last entry
			];
		};
*/
//default
		default{
			diag_log format["%2: Cleanup zones for %1 not availible ...",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position	//radius	//cityname/text
			[[0,0,0],	1,			"DEBUG"]
			];
		};
	};
};
//\\\\\\\\\\\\\\\\\\\\  End Setup Area ////////////////////\\

/////////////// dont touch anything below this line unless you know what you are doing \\\\\\\\\\\\\\\

_possiblematch = false;
{if(_obj isKindOf _x)then{_possiblematch=true;};}forEach _delVeh;
if(_possiblematch)then{
	{
	_Spos = _x select 0;
	_Rad = _x select 1;
	_name = _x select 2;
	_radats = _Rad+50;
	_radx4 = _Rad+_Rad+_Rad+_Rad;
		if(_obj distance _Spos < _Rad)then{
			_defdel		= false;
			_typeOf		= typeOf _obj;
			_pos		= getpos _obj;
			_mags		= getmagazinecargo _obj;
			_weaps		= getweaponcargo _obj;
			_packs		= getbackpackcargo _obj;
			_objID		= _obj getVariable["ObjectID","0"];
			_objUID		= _obj getVariable["ObjectUID","0"];
			_objname	= (gettext (configFile >> 'CfgVehicles' >> _typeOf >> 'displayName'));
			diag_log format["%1: %2 (%3) by %4 @%5 %6 [ID:%7,UID:%8] Cargo: [%9,%10,%11]",_txt,_typeOf,_objname,_name,mapgridposition _pos,_pos,_objID,_objUID,_weaps,_mags,_packs];
			if(_delbikmot)then{{if(_obj isKindOf _x)then{_defdel = true};}forEach _defdelar;};
			if(_defdel)then{_Action=3;diag_log format["%2: %1 is Model to delete by default!",_typeOf,_txt];};
			if(getDammage _obj > _dam)then{_Action=3;diag_log format["%2: %1 too damaged",_typeOf,_txt];};
			if(_unlock and !_defdel and (locked _obj))then{_obj setVehicleLock "UNLOCKED";_obj setVariable ["R3F_LOG_disabled",false,true];diag_log format["%2: %1 Un-Locked",_typeOf,_txt];};
			switch(_Action)do{
				case 0:{deleteVehicle _obj;diag_log format["%2: %1 Deleted, but remains in DB (Dont forget to clean this up)",_typeOf,_txt];};
				case 1:{
					_newPos = [_Spos, _radats, _radx4, 10, 0, 2000, 0] call BIS_fnc_findSafePos;
					_obj setpos _newPos;
					//update to HIVE?
					if(_updateHIVE)then{
					private["_position","_worldspace","_fuel","_key"];
						_position = getPosATL _obj;
						_worldspace = [
							round(direction _obj),
							_position
						]; 
						_fuel = fuel _obj;
						_key = format["CHILD:305:%1:%2:%3:",_objID,_worldspace,_fuel];
						diag_log ("HIVE: WRITE: "+ str(_key));
						_key call server_hiveWrite;
					};
					diag_log format["%6: %5 TP from %1 %2 to %3 %4",_pos,mapgridposition _pos,_newPos,mapgridposition _newPos,_typeOf,_txt];
				};
				case 2:{
					_newPos = [_safespot, 0, _radius, 10, 0, 2000, 0] call BIS_fnc_findSafePos;
					_obj setpos _newPos;
					//update to HIVE?
					if(_updateHIVE)then{
					private["_position","_worldspace","_fuel","_key"];
						_position = getPosATL _obj;
						_worldspace = [
							round(direction _obj),
							_position
						];
						_fuel = fuel _obj;
						_key = format["CHILD:305:%1:%2:%3:",_objID,_worldspace,_fuel];
						diag_log ("HIVE: WRITE: "+ str(_key));
						_key call server_hiveWrite;
					};
					diag_log format["%6: %5 TP from %1 %2 to %3 %4",_pos,mapgridposition _pos,_newPos,mapgridposition _newPos,_typeOf,_txt];
				};
				default{_msg = format["%2: %1",_typeOf,_txt];deleteVehicle _obj;[_objID,_objUID,_msg] call server_deleteObj;};
			};
		};
	}forEach HALV_VEHICLE_CLEANUPZONES;
};

и кидаем его по пути: dayz_server >>>> compile

 

 

Далее открываем файл server_monitor.sqf и ищем такие строки:

// total each vehicle
                    serverVehicleCounter set [count serverVehicleCounter,_type];
                };

 

Нашли?

Молодцы!

Если нет то с вами что то не так!

 

Идём дальше: после этих строк добавляем эту строчку:

[_object] execVM "\z\addons\dayz_server\compile\Server_DeleteObjInsafezone.sqf";

 

Что бы получилось вот так:

  serverVehicleCounter set [count serverVehicleCounter,_type];
                };
                [_object] execVM "\z\addons\dayz_server\compile\Server_DeleteObjInsafezone.sqf";

 

Запаковываем наш dayz_server.pbo и вуаля! Техника сама будет удалятся! 

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


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





Время на удаление техники можно выставить? И сколько сейчас стоит?

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


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

Время на удаление техники можно выставить? И сколько сейчас стоит?

после каждого рестарта удаляется

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


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

кстати а какая техника будет удаляться? если только велы и гиры, то как сделать чтоб удалялась вся?

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


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

Вся удаляется

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


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

Техника не удаляется из базы данных,а смещается в разные стороны от сейф зон и становится открытой.

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


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

Техника не удаляется из базы данных,а смещается в разные стороны от сейф зон и становится открытой.

 

//Action to take when vehicle is detected in a [VEHICLE CLEANUP ZONE] //0 Delete vehicles ingame but keep in database. NOTE: This will stack vehicles in database if not cleaned propper //1 Tp vehicles outside [VEHICLE CLEANUP ZONE] ("radius" + 50 meter to 4x "radius" from VEHICLE CLEANUP ZONE pos eg: if radius is 100 vehicles are moved 150-400 meter away) //2 Tp vehicles to a position within 125m of _safespot (remember to set a position below) //3 will delete vehicles completly from database _Action = 1;

 

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


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

не пойму почему поставил одни координаты зоны куда выкидывать технику, а кидает ее в другое место...

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


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

не пойму почему поставил одни координаты зоны куда выкидывать технику, а кидает ее в другое место...

Скорее всего неверно написали координаты или криво.

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


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

Скорее всего неверно написали координаты или криво.

координаты списал из дебагмонитора ([14600.4, 286.95, 107.84]), такое впечатление что кинул посредине карты

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


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

координаты списал из дебагмонитора ([14600.4, 286.95, 107.84]), такое впечатление что кинул посредине карты

Высота 107? У вас техника в небе чтоль?

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


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

Высота 107? У вас техника в небе чтоль?

) почти, платформа в воздухе, по жпс высота 16

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


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

) почти, платформа в воздухе, по жпс высота 16

Ну судя по вашим координатам получается как. По х - 14600.4. По y - 286.95. По z - 107.

 

Собственно точка переноса техники у вас в если я правильно понимаю в правом верхнем углу.

 

Скорее всего Инфистар врет. Ну бред какой-то. 107 высота.

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


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

Ну судя по вашим координатам получается как. По х - 14600.4. По y - 286.95. По z - 107.

 

Собственно точка переноса техники у вас в если я правильно понимаю в правом верхнем углу.

 

Скорее всего Инфистар врет. Ну бред какой-то. 107 высота.

нет, карта напф, точка. снизу, справа, над морем

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


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

А можно как-то сделать так, чтобы техника не удалялась, а открывалась и переходила в разряд незакрываемых? Тех, которые на инфистаровской карте синим цветом обозначены.

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


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

А можно как-то сделать так, чтобы техника не удалялась, а открывалась и переходила в разряд незакрываемых? Тех, которые на инфистаровской карте синим цветом обозначены.

Если не накосячил в скрипте.

BEGIN

	UPDATE Object_DATA
        SET Object_DATA.CharacterID = 0
        WHERE Object_DATA.CharacterID <> 0
            AND Object_DATA.CharacterID <= 12500
            AND Object_DATA.Classname NOT LIKE 'Tent%'
            AND Object_DATA.Classname NOT LIKE '%Locked'
            AND Object_DATA.Classname NOT LIKE 'Land%'
            AND Object_DATA.Classname NOT LIKE 'Cinder%'
            AND Object_DATA.Classname NOT LIKE 'Wood%'
            AND Object_DATA.Classname NOT LIKE 'Metal%'
            AND Object_DATA.Classname NOT LIKE '%Storage%'
            AND Object_DATA.Classname NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ')
            AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0;

END

Скрипт открывает технику если к ней нету ключа. Такой хоть сойдет?

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


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

Ну почти. Мне надо, чтобы действовал он только на территории сейв-зон.

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


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

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

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


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

Если не накосячил в скрипте.

BEGIN

	UPDATE Object_DATA
        SET Object_DATA.CharacterID = 0
        WHERE Object_DATA.CharacterID <> 0
            AND Object_DATA.CharacterID <= 12500
            AND Object_DATA.Classname NOT LIKE 'Tent%'
            AND Object_DATA.Classname NOT LIKE '%Locked'
            AND Object_DATA.Classname NOT LIKE 'Land%'
            AND Object_DATA.Classname NOT LIKE 'Cinder%'
            AND Object_DATA.Classname NOT LIKE 'Wood%'
            AND Object_DATA.Classname NOT LIKE 'Metal%'
            AND Object_DATA.Classname NOT LIKE '%Storage%'
            AND Object_DATA.Classname NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ')
            AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0;

END

Скрипт открывает технику если к ней нету ключа. Такой хоть сойдет?

Подскажите как это использовать???

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


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

Подскажите как это использовать???

в Бд в раздел функций

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


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

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

Тоже интересно!

 

У меня почему то со временем перестает спавниться техника

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


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

Распаковываем файл dayz_server.pbo

 

Создаём файл с названием server_deleteObjInsafezone.sqf с таким содержимым:

_obj = _this select 0;

if (!isServer) exitWith {diag_log "Server_DeleteObjInsafezone.sqf - ERROR: NOT SERVER?"};

//\\\\\\\\\\\\\\\\\\\\ Setup Area ////////////////////\\

//vehicle types to Check for
_delVeh = ["Air","Landvehicle","Ship","Tank"];

//Action to take when vehicle is detected in a [VEHICLE CLEANUP ZONE]
//0 Delete vehicles ingame but keep in database. NOTE: This will stack vehicles in database if not cleaned propper
//1 Tp vehicles outside [VEHICLE CLEANUP ZONE] ("radius" + 50 meter to 4x "radius" from VEHICLE CLEANUP ZONE pos eg: if radius is 100 vehicles are moved 150-400 meter away)
//2 Tp vehicles to a position within 125m of _safespot (remember to set a position below)
//3 will delete vehicles completly from database
_Action = 1;

//if _Action = 2 then enter the position you desire here (default is by grozovoy pass around 022010)
_safespot = [2283.19,14255,0];
//how large radius to spread them in this area in meters (default 125m)
_radius = 125;

//damaged above this amoun, vehicle is deleted (set to 1 to only delete completely destroyed vehicles)
_dam = 0.90;

//if true will delete vehicles matching array below by default
_delbikmot = true;
//if above is true will delete these by default
_defdelar = ["Bicycle","Motorcycle","CSJ_GyroC","CSJ_GyroCover","CSJ_GyroP"];//,"ATV_Base_EP1"

//set to true, to unlock vehicles by default when TP'ed
_unlock = true;

//log text, this is what you want to look for in the logs, if you need to know something about a moved vehicle
_txt = "[VEHICLE CLEANUP ZONE]";

//Update vehicles to the hive, and make sure they are not moved each restart?
_updateHIVE = true;

//VEHICLE CLEANUP ZONE's/areas switch choosing the map name for cleanup location purposes
if(isNil "HALV_VEHICLE_CLEANUPZONES")then{
	diag_log format["%1: selecting world to cleanup ...",_txt];
	_WorldName = toLower format ["%1", worldName];
	switch (_WorldName)do {
//NAPF
		case "napf":{
//			diag_log format["%2: Cleanup zones for napf selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[8246.3184,15485.867,0],	125,		"Trader City Lenzburg"],
			[[15506.952,13229.368,0],	125,		"Trader city Emmen"],
			[[12399.751,5074.5273,0],	125,		"Trader City Schratten"],
			[[10398.626,8279.4619,0],	125,		"Bandit Vendor"],
			[[5149.9814,4864.1191,0],	125,		"Hero Vendor"],
			[[2122.7954,7807.9878,0],	100,		"West Wholesaler"],
			[[5379.0342,16103.187,0],	100,		"North Wholesaler"],
			[[6772.8877,16983.27,0],	100,		"Nordic Boats"],
			[[16839.973,5264.0566,0],	100,		"Pauls Boats"],
			[[15128.379,16421.879,0],	100,		"AWOLs Airfield"]
			];
		};
//chernarus
		case "chernarus":{
//			diag_log format["%2: Cleanup zones for chernarus selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					radius		cityname/text
			[[6325.6772,7807.7412,0],	125,		"Trader City Stary"],
			[[4063.4226,11664.19,0],	125,		"Trader City Bash"],
			[[11447.472,11364.504,0],	125,		"Trader City Klen"],
			[[1606.6443,7803.5156,0],	125,		"Bandit Camp"],
			[[12944.227,12766.889,0],	125,		"Hero Camp"],
			[[13441.16,5429.3013,0],	100,		"Wholesaler East"],
			[[4510.7773,10774.518,0],	100,		"Aircraft Dealer"],
			[[7989.3354,2900.9946,0],	100,		"Boat Dealer South"],
			[[13532.614,6355.9497,0],	100,		"Boat Dealer East"],
			[[4361.4937,2259.9526,0],	100,		"Wholesaler South"]
			];
		};
//tavi
		case "tavi":{
//			diag_log format["%2: Cleanup zones for tavi selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[11698.81,15210.121,0],	75,			"Trader City Lyepestok"],
			[[15309.663,9278.4912,0],	75,			"Trader City Sabina"],
			[[5538.7354,8762.2695,0],	75,			"Trader City Bilgrad"],
			[[7376.6084,4296.5879,0],	75,			"Trader City Branibor"],
			[[10948.426,654.90265,0],	75,			"Bandit Vendor"],
			[[15587.822,16394.049,0],	75,			"Hero Vendor"],
			[[16555.732,10159.68,0],	75,			"Aircraft Dealer"],
			[[6815.0776,8534.1504,0],	75,			"Aircraft Dealer 2"],
			[[4066.3528,7265.0024,0],	75,			"Misc. Vendor"],
			[[17497.631,7159.0879,0],	75,			"Misc. Vendor 2"],
			[[17332.115,12930.239,0],	75,			"Boat Dealer"],
			[[10570.494,16772.477,0],	75,			"Boat Dealer 2"],
			[[10698.463,5983.665,0],	75,			"Boat Dealer 3"],
			[[5419.2437,9503.5479,0],	75,			"Boat Dealer 4"],
			[[13342.758,8611.9932,0],	75,			"Wholesaler"],
			[[9859.4209,7471.5684,0],	75,			"Wholesaler"] // <-- no comma for last entry
			];
		};
/*
//myworldname
		case "myworldnameinlowercase":{
//			diag_log format["%2: Cleanup zones for myworldnameinlowercase selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					//radius	//cityname/text
			[[7839.60,8414.73,381.33],	150,		"my custom zone marker"],
			[[7839.60,8414.73,381.33],	75,			"my custom location"] // <-- no comma for last entry
			];
		};
*/
//default
		default{
			diag_log format["%2: Cleanup zones for %1 not availible ...",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position	//radius	//cityname/text
			[[0,0,0],	1,			"DEBUG"]
			];
		};
	};
};
//\\\\\\\\\\\\\\\\\\\\  End Setup Area ////////////////////\\

/////////////// dont touch anything below this line unless you know what you are doing \\\\\\\\\\\\\\\

_possiblematch = false;
{if(_obj isKindOf _x)then{_possiblematch=true;};}forEach _delVeh;
if(_possiblematch)then{
	{
	_Spos = _x select 0;
	_Rad = _x select 1;
	_name = _x select 2;
	_radats = _Rad+50;
	_radx4 = _Rad+_Rad+_Rad+_Rad;
		if(_obj distance _Spos < _Rad)then{
			_defdel		= false;
			_typeOf		= typeOf _obj;
			_pos		= getpos _obj;
			_mags		= getmagazinecargo _obj;
			_weaps		= getweaponcargo _obj;
			_packs		= getbackpackcargo _obj;
			_objID		= _obj getVariable["ObjectID","0"];
			_objUID		= _obj getVariable["ObjectUID","0"];
			_objname	= (gettext (configFile >> 'CfgVehicles' >> _typeOf >> 'displayName'));
			diag_log format["%1: %2 (%3) by %4 @%5 %6 [ID:%7,UID:%8] Cargo: [%9,%10,%11]",_txt,_typeOf,_objname,_name,mapgridposition _pos,_pos,_objID,_objUID,_weaps,_mags,_packs];
			if(_delbikmot)then{{if(_obj isKindOf _x)then{_defdel = true};}forEach _defdelar;};
			if(_defdel)then{_Action=3;diag_log format["%2: %1 is Model to delete by default!",_typeOf,_txt];};
			if(getDammage _obj > _dam)then{_Action=3;diag_log format["%2: %1 too damaged",_typeOf,_txt];};
			if(_unlock and !_defdel and (locked _obj))then{_obj setVehicleLock "UNLOCKED";_obj setVariable ["R3F_LOG_disabled",false,true];diag_log format["%2: %1 Un-Locked",_typeOf,_txt];};
			switch(_Action)do{
				case 0:{deleteVehicle _obj;diag_log format["%2: %1 Deleted, but remains in DB (Dont forget to clean this up)",_typeOf,_txt];};
				case 1:{
					_newPos = [_Spos, _radats, _radx4, 10, 0, 2000, 0] call BIS_fnc_findSafePos;
					_obj setpos _newPos;
					//update to HIVE?
					if(_updateHIVE)then{
					private["_position","_worldspace","_fuel","_key"];
						_position = getPosATL _obj;
						_worldspace = [
							round(direction _obj),
							_position
						]; 
						_fuel = fuel _obj;
						_key = format["CHILD:305:%1:%2:%3:",_objID,_worldspace,_fuel];
						diag_log ("HIVE: WRITE: "+ str(_key));
						_key call server_hiveWrite;
					};
					diag_log format["%6: %5 TP from %1 %2 to %3 %4",_pos,mapgridposition _pos,_newPos,mapgridposition _newPos,_typeOf,_txt];
				};
				case 2:{
					_newPos = [_safespot, 0, _radius, 10, 0, 2000, 0] call BIS_fnc_findSafePos;
					_obj setpos _newPos;
					//update to HIVE?
					if(_updateHIVE)then{
					private["_position","_worldspace","_fuel","_key"];
						_position = getPosATL _obj;
						_worldspace = [
							round(direction _obj),
							_position
						];
						_fuel = fuel _obj;
						_key = format["CHILD:305:%1:%2:%3:",_objID,_worldspace,_fuel];
						diag_log ("HIVE: WRITE: "+ str(_key));
						_key call server_hiveWrite;
					};
					diag_log format["%6: %5 TP from %1 %2 to %3 %4",_pos,mapgridposition _pos,_newPos,mapgridposition _newPos,_typeOf,_txt];
				};
				default{_msg = format["%2: %1",_typeOf,_txt];deleteVehicle _obj;[_objID,_objUID,_msg] call server_deleteObj;};
			};
		};
	}forEach HALV_VEHICLE_CLEANUPZONES;
};

и кидаем его по пути: dayz_server >>>> compile

 

 

Далее открываем файл server_monitor.sqf и ищем такие строки:

// total each vehicle
                    serverVehicleCounter set [count serverVehicleCounter,_type];
                };

 

Нашли?

Молодцы!

Если нет то с вами что то не так!

 

Идём дальше: после этих строк добавляем эту строчку:

[_object] execVM "\z\addons\dayz_server\compile\Server_DeleteObjInsafezone.sqf";

 

Что бы получилось вот так:

  serverVehicleCounter set [count serverVehicleCounter,_type];
                };
                [_object] execVM "\z\addons\dayz_server\compile\Server_DeleteObjInsafezone.sqf";

 

Запаковываем наш dayz_server.pbo и вуаля! Техника сама будет удалятся! 

Все работало...но после того,как удалил R3F_ARTY_AND_LOG,и поставил mf-tow и =BTC=_Logistic ,перестала удаляться на штрафстоянку....Можно ли как то привязать данный скрипт к этим буксировкам?

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


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

Автор может шапку поправить? В этой части кода можно менять радиус:

//chernarus
		case "chernarus":{
//			diag_log format["%2: Cleanup zones for chernarus selected! (check: %1)",_WorldName,_txt]; //logging if right worldname was selected, if uncommented
			HALV_VEHICLE_CLEANUPZONES = [
			//position					radius		cityname/text
			[[6325.6772,7807.7412,0],	125,		"Trader City Stary"],
			[[4063.4226,11664.19,0],	125,		"Trader City Bash"],
			[[11447.472,11364.504,0],	125,		"Trader City Klen"],
			[[1606.6443,7803.5156,0],	125,		"Bandit Camp"],
			[[12944.227,12766.889,0],	125,		"Hero Camp"],
			[[13441.16,5429.3013,0],	100,		"Wholesaler East"],
			[[4510.7773,10774.518,0],	100,		"Aircraft Dealer"],
			[[7989.3354,2900.9946,0],	100,		"Boat Dealer South"],
			[[13532.614,6355.9497,0],	100,		"Boat Dealer East"],
			[[4361.4937,2259.9526,0],	100,		"Wholesaler South"]
			];

Это для тех у кого сейф зоны от infiSTAR! Для этих зон радиус 150м для городов.

Изменено пользователем stspartak (история изменений)

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


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

И название темы думаю можно изменить, т.к. техника не удаляется, а выбрасывается из зоны и спавнится недолеко от нее в том же состоянии в каком она и была (включая лут внутри).

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


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

После рестарта здесь осталась техника

//chernarus
	[[4510.7773,10774.518,0],	100,		"Aircraft Dealer"],
		

Видимо неправильные координаты. Никто не подскажет?

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


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • Автор: Loker
      При покупке/продаже техники валюту за технику снимает/начисляет, но сама техника не появляется. 
      В логе возникает следующая ошибка: 
      15:04:28 "Server_PublishVehicle2 error: CLIENT AUTH KEY INCORRECT OR UNRECOGNIZED. PV ARRAY: [[323,[4037.27,11673.5,0.00289917]],"Ural_TK_CIV_EP1",false,"ItemKeyRed1798",B 1-1-B:1 (Player) REMOTE,""]" Как я понял новая проверка в версии мода 1.0.6.2 не может считать какой-то ключ пользователя. Может кто сталкивался с такой ошибкой. Буду рад любому совету. Заранее спасибо.
    • Автор: Akie
      Проблема вот в чем, просто выкидывает из техники через короткое время после залезания в нее и не важно на ходу или нет, на каком месте в ней ты сидишь, просто пофигу, выкидывает и всё, в логах и на сервере, и на клиенте чисто подскажите куда копать пожалуйста
    • Автор: Jdinovich
      Добрый день,кто подскажет как сделать так,чтобы в виртуальном гараже каждый рестарт спавнилась техника,но продавать ее нельзя было бы. Будет выглядеть на сервере как"покупка техники на месяц. Респавн каждый рестарт,даже если техника не уничтожена" надеюсь понятно объяснил?))
  • Наш выбор

×
×
  • Создать...

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

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