Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
NoNameUltima

Ящики со своим лутом, временем респауна и многим другим...

Recommended Posts

Ящик с настраиваемым содержимым и т.п.


Возможности:
1. Настройка возрождаемых предметов для каждого ящика.
2. Генерируемое кол-во ресурсов в ящике.
3. Выбор процентной вероятности возрождения.
4. Добавление своих предметов, а так же групп предметов для возрождения.

5. Выбор места возрождения ящика(ов). Случайно или по заданным координатам.

6. Установка кол-ва обновления предметов в ящике(Один раз, при старте, или постоянно).

7. Задержка перед созданием ящика.

Сам скрипт:

/*
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
В файл init.sqf, добавить переменную:
Ultima_Diag_Level = 0; //    Уровень диагностики для вывода в RPT, от 0 до 3.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Как добавлять предметы в массивы: (см. _aSpawnItems - это массивы предметов, которые вы можете возрождать в ящиках).
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1 - Идентификатор предмета.
2 - Максимальное кол-во возрождаемых предметов. (от 0, до числа которое Вы укажете). Чтобы возрождалось точное кол-во указанных предметов, см. Спавн ящика, п.11
3 - Процент вероятности, что предметы вообще появятся в ящике - от 1 до 100.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Спавн ящика: *Внимательно смотрите на цифры переменных!!!! (см. _Data - Это список ящиков, которые вы создаете на карте).
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0 - Координата X *см. сноску ниже, для случайных координат.
1 - Координата Y *см. сноску ниже, для случайных координат.
2 - Координата Z *см. сноску ниже, для случайных координат.
3 - Угол под которым будет создан ящик.
4 - Время между обновлением предметов в ящике.
5 - Радиус от центра ящика, - если в пределах данного радиуса находится какой либо игрок, предметы не будут возрождаться. - Обновление предметов в ящике происходит, только если в пределах радиуса никого нет.
6 - Вместо цифры, впишите номер массива предметов.(см. _aSpawnItems).
7 - Внешний вид ящика.
8 - Задержка перед созданием ящика.
9 - Случайно выбирать позицию возрождения ящика(false - установить в указанных координатах. true - установить в случайных координатах).
10 - Возрождать ли предметы в ящике, или создать его один раз.(false - возрождать предметы. true - создать ящик  один раз при старте сервера(после задержки. см. п.9)).
11 - Кол-во предметов в ящике подбирать случайно от 0 до  - стольки, сколько указано, или ровно столько, сколько указано. - true - случайно.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/

/*
//	Если существует глобальная переменная Ultima_Loot_Box_Global_Data - то спавнится будут объекты прописанные в ней, а не в _data ниже.
Ultima_Loot_Box_Global_Data = 
	[
		[12968, 3551, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
		,[13153, 3662, 9, 59, 600, 50, (_aSpawnItems select 1),"TKVehicleBox_EP1", 0, false, false, true]
		,[13120, 3616, 9, 59, 600, 50, (_aSpawnItems select 2),"USVehicleBox", 0, false, false, true]
		,[13099, 3615, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
		,[13032, 3562, 9, 59, 600, 50, (_aSpawnItems select 2),"USVehicleBox", 0, false, false, true]
		,[12978, 3539, 9, 59, 600, 50, (_aSpawnItems select 1),"RUVehicleBox", 0, false, false, true]
		,[12994, 3547, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
	];
*/

if (isNil "Ultima_Diag_Level") then
	{Ultima_Diag_Level	=	0;};
Ultima_Map_Center	=	(getMarkerPos "center");
Ultima_Map_Radius	=	(Ultima_Map_Center select 0);
if !(isServer) exitWith {};
if (Ultima_Diag_Level > 0) then
	{diag_log("[#Ultima]: [Ящики с лутом]: Создание ящиков с лутом.");};
private ["_Data","_aSpawnItems"];
_aSpawnItems	=	
	[
		[
			["ItemPole",4,90]
			,["ItemTankTrap",4,80]
			,["ItemGenerator",2,40]
			,["ItemWire",2,30]
			,["ItemTent",1,30]
			,["CinderBlocks",6,50]
			,["MortarBucket",6,40]
			,["ItemMixOil",1,10]
			,["ItemOilBarrel",1,5]
			,["ItemSandbag",5,40]
			,["ItemSandbagLarge",2,20]
			,["ItemSandbagExLarge",1,10]
			,["ItemJerrycanEmpty",3,50]
			,["ItemJerrycan",2,30]
			,["ItemFuelBarrelEmpty",3,20]
			,["ItemFuelBarrel",2,10]
			,["ItemFireBarrel_kit",1,5]
			,["fuel_pump_kit",1,1]
			,["PartWoodLumber",10,50]
			,["PartPlankPack",7,30]
			,["PartWoodPlywood",10,40]
			,["PartPlywoodPack",5,20]
			,["metal_panel_kit",4,10]
			,["ItemComboLock",2,5]
			,["ItemLockbox",1,1]
			,["PartGeneric",10,80]
			,["ItemCopperBar",2,40]
		]
		,[
			["8Rnd_9x18_Makarov",10,90]
			,["8Rnd_9x18_MakarovSD",4,20]
			,["30Rnd_545x39_AK",6,70]
			,["30Rnd_762x39_AK47",4,60]
			,["Makarov_DZ",4,50]
			,["AK74_DZ",3,30]
			,["AKM_DZ",5,40]
			,["PartGeneric",10,80]
			,["ItemCopperBar",2,40]
		]
		,[
			["ItemBandage",8,80]
			,["ItemPainkiller",4,70]
			,["ItemMorphine",2,30]
			,["ItemEpinephrine",6,90]
			,["ItemBloodbag",4,60]
			,["ItemAntibiotic",2,30]
			,["PartGeneric",10,80]
			,["ItemCopperBar",2,40]
		]
	];
//	Если существует Ultima_Loot_Box_Global_Data - то спавн будет оттуда, а эта переменная не играет роли
if !(isNil "Ultima_Loot_Box_Global_Data") then
	{
		_data	=	[]+Ultima_Loot_Box_Global_Data;
	}
else
	{
		_Data = 
			[
				[12968, 3551, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
				,[13153, 3662, 9, 59, 600, 50, (_aSpawnItems select 1),"TKVehicleBox_EP1", 0, false, false, true]
				,[13120, 3616, 9, 59, 600, 50, (_aSpawnItems select 2),"USVehicleBox", 0, false, false, true]
				,[13099, 3615, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
				,[13032, 3562, 9, 59, 600, 50, (_aSpawnItems select 2),"USVehicleBox", 0, false, false, true]
				,[12978, 3539, 9, 59, 600, 50, (_aSpawnItems select 1),"RUVehicleBox", 0, false, false, true]
				,[12994, 3547, 9, 59, 600, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false, true]
			];
	};
{
	[_x] spawn
		{
			private ["_random_count","_Data","_aSpawnItems","_TimerSpawn","_SpawnItems","_SpawnDelay","_randomPos","_SpawnOneTime","_Box","_BoxID","_nearPlayers","_Item","_Count","_Percent","_Random","_Model"];
			_Data			=	(_this select 0);
			_Angle			=	(_data select 3);
			_TimerSpawn		=	(_data select 4);
			_Radius			=	(_data select 5);
			_boxID			=	str(round(random 999999));
			_box			=	objNull;
			_SpawnItems		=	true;					
			_aSpawnItems	=	(_data select 6);
			_Model			=	(_data select 7);
			_SpawnDelay		=	(_data select 8);
			_randomPos		=	(_data select 9);
			_SpawnOneTime	=	(_data select 10);
			_random_count	=	(_data select 11);
			_Coords			=	[(_data select 0), (_data select 1), (_data select 2)];
			if (_randomPos) then
				{_Coords	=	[Ultima_Map_Center, 100, Ultima_Map_Radius, 20, 0, 20, 0] call BIS_fnc_findSafePos;};
			sleep _SpawnDelay;
			if (Ultima_Diag_Level > 1) then
				{diag_log(format["[#Ultima]: [Ящики с лутом]: Создание ящика в координатах: %1", _Coords]);};
			_box = createVehicle [_Model, _Coords, [], 0, "CAN_COLLIDE"];
			_box setDir _Angle;
			_box setPos _Coords;
			_box setVariable ["ObjectID", _boxID, true];
			_box setVariable ["ObjectUID", _boxID, true];
			_box setVariable ["permaLoot",true];
			dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _box];		
			while {true} do
				{
					if (_SpawnItems) then
						{
							clearWeaponCargoGlobal _box;
							clearMagazineCargoGlobal _box;
							clearBackpackCargoGlobal _box;
							{
								_Percent	=	_x select 2;
								_Random		=	random(100);
								if (_Random < _Percent) then
									{
										if (_random_count) then
											{_Count		=	round(random(_x select 1));}
										else
											{_Count		=	(_x select 1);};
										if (_Count > 0) then
											{
												_Item		=	(_x select 0);
												if (getText (configFile >> "CfgMagazines" >> _item >> "displayName")	!=	"") then
													{_box addMagazineCargoGlobal [_Item, _Count];}
												else
													{
														if (getText (configFile >> "CfgWeapons" >> _item >> "displayName")	!=	"") then
															{_box addWeaponCargoGlobal [_Item, _Count];}
														else
															{
																if (getText (configFile >> "CfgVehicles" >> _item >> "displayName")	!=	"") then
																	{_box addBackpackCargoGlobal [_Item, _Count];};
															};
													};
											};
									};
							} forEach _aSpawnItems;
							if (_SpawnOneTime) ExitWith {};
							_SpawnItems	=	false;
							sleep _TimerSpawn;
						};
					if (_SpawnOneTime) ExitWith {};
					while {!_SpawnItems} do
						{
							sleep 10;
							_nearPlayers	=	nearestObjects [_Coords, ["CAManBase"], _Radius];
							if (count(_nearPlayers) <= 0) then
								{_SpawnItems	=	true;};
						};
				};
		};
} forEach _Data;
if (Ultima_Diag_Level > 0) then
	{diag_log("[#Ultima]: [Ящики с лутом]: Создание ящиков с лутом завершено.");};

 

 

Чтобы изменить разброс координат, от центра, и т.п. - смотрите описание данной функции по ссылке:

http://www.flashpoint.ru/threads/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-arma-2.48077/#post-1862879

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites



Я это на корабль поместил - на эсминец)

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

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

А на 1.8.0.3 его возможно использовать?

Share this post


Link to post
Share on other sites

Спасибо.

Но какое ему можно найти применение кроме вышеуказанных?

Ведь если туда даже мелочевку положить, то ушлые игроки будут с утра до вечера там пастись.

 

 

З.Ы. а как сделать подобный рабочий ящик но с возрождением предметов только после рестарта?

Находил пару мануалов. но все они не работают в 1.0.4.2.

Share this post


Link to post
Share on other sites

 

Я это на корабль поместил - на эсминец)

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

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

А на 1.8.0.3 его возможно использовать?

Думаю, что да.

Share this post


Link to post
Share on other sites

Спасибо.

Но какое ему можно найти применение кроме вышеуказанных?

Ведь если туда даже мелочевку положить, то ушлые игроки будут с утра до вечера там пастись.

 

 

З.Ы. а как сделать подобный рабочий ящик но с возрождением предметов только после рестарта?

Находил пару мануалов. но все они не работают в 1.0.4.2.

Обновил скрипт. Добавил настройки.

P.S. - Как вариант - задать время обновления предметов в ящике более долгое - например 30 минут\час\два часа....

Share this post


Link to post
Share on other sites

Раскажите пожалуйста куда вписывать скрипт.   

Очень мало понятно что делать со скриптом.  Как его подключить и настроить.  

Как понять что где?  

    это     это    Что за данные?

[12968, 3551, 9, 59, 300, 50, (_aSpawnItems select 0),"USVehicleBox", 0, false, false],

 

 

Что такое  ItemPole

 

Прошу помогите разобраться)

 

Например я хочу ящик в определённом месте со случайным лутом.

Конкретно на базе например.

Share this post


Link to post
Share on other sites

Точно!)  

Как я сразу не увидел?

Наверное там молоком написано, грел свечкой монитор! Ни чего нет. 

 

Как думаешь зачем я тогда вопрос задал?

Share this post


Link to post
Share on other sites

В твоем посте, 2 вопроса и 1 пожелание.

Ок. Давай по пунктам(пока мне не станет влом):

По данным инфы нет? - "что это за данные"

Описание параметров - есть.

Свечка херовая. Еще раз перечитай.

Share this post


Link to post
Share on other sites

Точно!)  

Как я сразу не увидел?

Наверное там молоком написано, грел свечкой монитор! Ни чего нет. 

 

Как думаешь зачем я тогда вопрос задал?

А свечка на воске или парафине? Очень интересует!

Share this post


Link to post
Share on other sites

Обновил скрипт, добавил пару настроек, и автоопредиление карты, и ее центра, для случайного разброса.

Share this post


Link to post
Share on other sites

Не работает ! (или руки кривые)

 

 

Вот что пишет RPT:

 

21:31:16 "[#Ultima]: [Ящики с лутом]: Создание ящиков с лутом."
21:31:16 "[#Ultima]: [Ящики с лутом]: Карта определена как chernarus."
21:31:16 "[#Ultima]: [Ящики с лутом]: Установлен центр координат для случайного создания: [7839.61,8414.73,0]."
21:31:16 "[#Ultima]: [Ящики с лутом]: Создание ящиков с лутом завершено."
21:31:16 Error in expression [13120, 3616, 9, 59,>
21:31:16 Error position: <_Map_Radius, true],
[13120, 3616, 9, 59,>
21:31:16 Error Undefined variable in expression: _map_radius
21:31:16 File z\addons\dayz_server\custom_buildings\init_crates.sqf, line 45
21:31:16 Error in expression if (this setVectorUp [ 0 , 0 , 1 ];true) then
{
_this = createVehicle ["MA>
21:31:16 Error position: <;true) then
{
_this = createVehicle ["MA>
21:31:16 Error Missing )
21:31:16 File z\addons\dayz_server\custom_buildings\custom_base\bases.sqf, line 2067
21:31:16 "AC_functions version 1.01"
21:31:16 Warning: z\addons\dayz_communityassets\models\compass.p3d:0 Error while trying to generate ST for points: 863, 853, 852
21:31:23 Cannot create non-ai vehicle RHmgswpammobox,
21:31:23 Cannot create non-ai vehicle RHsmgbox,
21:31:25 ca\misc\sphere2.p3d: No geometry and no visual shape
21:31:25 ca\misc\sphere2.p3d: No geometry and no visual shape
21:31:25 ca\misc\sphere2.p3d: No geometry and no visual shape
21:31:25 ca\misc\sphere2.p3d: No geometry and no visual shape
21:31:26 Error in expression _hndl ppEffectEnable true;
_hndl ppEffec>
21:31:26 Error position: <_hndl ppEffectEnable true;
_hndl ppEffec>
21:31:26 Error Undefined variable in expression: _hndl
21:31:26 File mpmissions\DayZ_Epoch_11.Chernarus\scripts\Effekte.sqf, line 2
21:31:26 "HIVE: Starting"
21:31:26 "HIVE: trying to get objects"
21:31:28 "[#Ultima]: [Ящики с лутом]: Создание ящика в координатах: any"
21:31:28 Error in expression <ʐِېРв координатах: %1", _Coords]);};
_box = createVehicle [_Mode>
21:31:28 Error position: <_Coords]);};
_box = createVehicle [_Mode>
21:31:28 Error Undefined variable in expression: _coords
21:31:28 File z\addons\dayz_server\custom_buildings\init_crates.sqf, line 77
21:31:28 Error in expression _box = createVehicle [_Model, _Coords, [], 0, "CAN_COLLIDE"];
_box set>
21:31:28 Error position: <_Coords, [], 0, "CAN_COLLIDE"];
_box set>
21:31:28 Error Undefined variable in expression: _coords
21:31:28 File z\addons\dayz_server\custom_buildings\init_crates.sqf, line 78
21:31:28 "HIVE: found 0 objects"
21:31:28 "HIVE: Commence Object Streaming..."
21:31:28 "HIVE: got 0 Epoch Objects and 0 Vehicles"
21:31:29 "HIVE: Vehicle Spawn limit reached!"
21:31:29 "HIVE: Spawning # of Debris: 0"
21:31:29 "HIVE: Spawning # of Ammo Boxes: 3"
21:31:29 "HIVE: Spawning # of Veins: 50"
21:31:29 "Total Number of spawn locations 5"
21:31:29 String STR_FAL_Street_Sign not found
21:31:30 "infiSTAR.de - Player-Log: Loki(76561198146976543) - 0h 00min | ******ADMIN******"
21:31:32 Error in expression <1964];
};


 

 прошу помощи
Edited by smirnov-ivan1983 (see edit history)

Share this post


Link to post
Share on other sites

ты массив покажи с ящиками, в скрипте, кто его знает, чего ты там понаписал.

 

P.S. Скрипт слегка обновил.

Share this post


Link to post
Share on other sites

ты массив покажи с ящиками, в скрипте, кто его знает, чего ты там понаписал.

 

P.S. Скрипт слегка обновил.

ничего не обновлял как есть поставил!

Share this post


Link to post
Share on other sites

ничего не обновлял как есть поставил!

Я скрипт обновил на 1 странице. При чем тут ты?)

Share this post


Link to post
Share on other sites

Как обывателю, вообще НИЧЕГО не понятно. Что это за описание!? Набор символов. Не уже ли сложно описать, что и куда вставлять? 

Share this post


Link to post
Share on other sites

Как обывателю, вообще НИЧЕГО не понятно. Что это за описание!? Набор символов. Не уже ли сложно описать, что и куда вставлять? 

если ты это понять не можешь то какой смысл объяснять тебе

Share this post


Link to post
Share on other sites

если ты это понять не можешь то какой смысл объяснять тебе

Как бы 90% скриптов на форуме написано достаточно, четко и понятно. Что куда вставлять, где и что качать. А тут просто текст, ни куда его вставлять ничего!

Share this post


Link to post
Share on other sites

Как бы 90% скриптов на форуме написано достаточно, четко и понятно. Что куда вставлять, где и что качать. А тут просто текст, ни куда его вставлять ничего!

создаешь файл скф текст туда файл в серверную часть и подключай вот и все

Share this post


Link to post
Share on other sites

Скрипт обновлен.

Теперь нет необходимости писать какая ячейка у предмета. - Автоматически определяет.

как раз этого и не хватало , а то пишет ошибки в РПТ . +

Edited by smirnov-ivan1983 (see edit history)

Share this post


Link to post
Share on other sites

Доброе утро, недавно посадили на админку, особо еще не разбрался в модинге, такая проблема на сервере есть 2 миссии которые находятся в течении всего времени  на сервере FNG и на скалистом( ящики) так вот ящики спаунятся в этих местах по два(друг в друге). как я понял отвечает за это файлик init (в MPMMissins) тоесть где то ссылается на спаун дважды в этоу зону, помогите разобраться

Edited by qwer1 (see edit history)

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

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
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.