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

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

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

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

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

DayZ Standalone v0.62.142963 Server Files + рабочий респавн персонажа и лута

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

123new 

SpawnCars.sqf

 

Пытаюсь разобрать этот скрипт

кое-чего понял

но вот никак не догоню - как осуществляется проверка наличия УЖЕ заспавненых машин...

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


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



BorizzK никак. И как и сказано в ините, включить на проспавн только 1 раз надо при первом старте, далее отключить.

В вертолетах смотри пример, там есть проверка такая.

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


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

123new ...работает хреновина!!!Есть спавн!...(взятые координаты из древнего редактора).

Координата Z....в результате вертолёт заспавнился "немного присыпаный"...Значит возможно регулировка по высоте!

Осталось проверить,работает ли поворот.

(дописано-поврот обьекта не работает,хм,даже не знаю куда копать)

 

 

Извните,у вас в тайпс нет рюкзаков "алиса"...и ещё.(тут у меня просто горит уже).К примеру-

Есть Ammo_556_20Rnd...по идее это пачка патронов по вашему тайпс,но

вроде (взято из офлайн клиента) должно быть AmmoBox_556_20Rnd...Не могу понять,как верно.

И ещё,можно лиз тайпс удалять предметы типа EN5C_Pen_Blue и прочие книги\ручки?

 

Ещё раз спасибо...

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, 123new сказал:

BorizzK никак. И как и сказано в ините, включить на проспавн только 1 раз надо при первом старте, далее отключить.

В вертолетах смотри пример, там есть проверка такая.

....да,в догонку!Сорри,возможен ли спавн вертолётов по одинаковым координатом,ввиду того что их беруться рандомно ведь....или я не догоняю.

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


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

123new В вертолетах сначала из переменной DZ_COUNT_HELICRASHES выдергивается кол-во хеликрашей в базе серевера

потом они все грохаются - логику кода приблизительно понимаю, но только приблизительно

 

_HeliTypes = [          
    "Land_UH1Y_Wreck"
];

....

_Heli = DZ_COUNT_HELICRASHES;

_tmp_count_del_heli = 0;
{
	if ((typeOf _x) in _HeliTypes) then
	{
		deleteVehicle _x;
		_tmp_count_del_heli = _tmp_count_del_heli + 1;
	};
} forEach (allMissionObjects "");

Вот только не очень понятно про (allMissionObjects  "") - хотя...

 

Не поможете разобрать этот кусочек кода?

 

Мое понимание ограниченно следующим:

Переменной присваивается ТИП обьекта (конкретного вертолета для хэликраша с которым будем работать)

 

_HeliTypes = [         
    "Land_UH1Y_Wreck"
];

 

Переменной присваивается общее кол-во заспавненных хеликрашей.

_Heli = DZ_COUNT_HELICRASHES;

 

Конструкция ниже выполняется для всех (allMissionObjects "");

 

{

 

получаем характеристики на входе  из функции возвращающей глобальный массив типов обьектов? (allMissionObjects "")  

если тип обьекта соответствует обьекту в _HeliTypes

_x содержит в себе очередной тип

 if ((typeOf _x) in _HeliTypes) then
 {

 

 то  удаление обьекта

  deleteVehicle _x;

 

считаем кол-во удаленных для последующего вывода кол-ва в логе
  _tmp_count_del_heli = _tmp_count_del_heli + 1;
 };

 
} forEach (allMissionObjects "");
 

Я верно все сообразил?

 

Вобщем можно сделать то же самое для палаток

 

Ща попробуем

 

Еще вопрос

почему в консоли сервера при запуске

FAILED: SteamGameServer_Init(0,27996,2302,27815,3,0.62.140099)

 

Хотя вчера было SUCCESS: SteamGameServer_Init(0,27996,2302,27815,3,0.62.140099)

 

???

 

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

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


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

paranoyk Да как угодно возможно

Рандомно координаты они берутся из массива

Но ведь можно брать не рандомно, а просто по очереди

 

 

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, 123new сказал:

linucks смотрел. И если у тебя спавн прошел нормально, значит ошибку ты допустил где-то в синтаксисе в блоке respawn.
А, кажется понял.

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


_pos = [0.0,0.0,0.0];

 

Перед if ???? Можешь пожалуйста для глупых написать в прямом смысле как должно выглядеть 

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


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

Давайте я выложе подизмененный мною чуть-чуть  dbLoad_Player.sqf

 

Работает отлично

 

Координаты пока для тестов

 

dbLoad_Player.sqf:

//thanks 123new

//Script with destroy player saved profile on disconnect

//Coordinates
// 1499,14432 - Tysy
// 4030,10750 - SZ
// 6010.52,7742.64 - Stariy SOBOR

DEBUGME = true;

posFromSpawnPlayer = 
[
	[6010.52,7742.64,0.0],
	[6053.10,7044.12,0.0]
 ];

  _clientNew =
{
	diag_log format["CONNECTION: _id: %1 _uid: %2 _name: %3",_id,_uid,_name];
	_id spawnForClient { titleText ["Please wait!","BLACK IN",3];};
	
	if (DZ_Enable_Login_Disconnect_Messages) then
	{
		{
			[_x, format["Player %1 connected to server",_name], "colorStatusChannel"] call fnc_playerMessage;
		} foreach players;
	};
	
	_savedChar = _uid call fnc_dbFindInProfile;
	_isAlive = _savedChar select 0;
	_isOnline = true;
	_pos = _savedChar select 2;
	diag_log format["CONNECTION DEBUG INFO: _isAlive: %1 _isOnline: %2 _pos: %3 _savedChar: %4 ",_isAlive,_isOnline,_pos,_savedChar];
	if (_isAlive) then
	{
		diag_log format ["CONNECTION: TRY LOAD PLAYER!"];		
			_uid = getClientUID _id;		
			_uidFound = 0;
			for "_i" from 0 to count players - 1 do
			{
				_actPlayer = players select _i;
				_actPlayerUid = getPlayerUID _actPlayer;
				if ( _actPlayerUid == _uid ) then { _uidFound = 1; };
			};
			if ( _uidFound == 0 ) then 
			{ 
					_agent = _uid call fnc_dbLoadFromProfile;							
						call init_newBody;
			
						//----- simple scheduler part -----
						_freePos = connectedPlayers find 0;
						connectedPlayers set [_freePos,_id];	

						
						null = _agent call fnc_reloadWeaponOnSpawn;						
						null = [_agent,call compile callFunction ["DataBaseRead","QUICKBAR",format["UID_%1",_uid]]] call fnc_addQuickBarItems;
			} else
			{
				diag_log format["CONNECTION: Player %1 has double UID on connect server, we are don't load him!",_uid];
				_id statusChat ["Your have double UID on connect server, we are don't load this.","ColorImportant"];
			};
	};
	if (!_isAlive) then 
	{
		diag_log format["CONNECTION: SPAWN NEW PLAYER!"];
		
		sleep 1;

		_top = getArray(configFile >> "cfgCharacterCreation" >> "top");
		_bottom = getArray(configFile >> "cfgCharacterCreation" >> "bottom");
		_shoe = getArray(configFile >> "cfgCharacterCreation" >> "shoe");
		
		_myTop = _top select (floor random (count _top));  
		_myBottom = _bottom select (floor random (count _bottom));  
		_myShoe = _shoe select (floor random (count _shoe));  

		_mySkin = DZ_SkinsArray select (floor random (count DZ_SkinsArray));  
		
		_pos = posFromSpawnPlayer select (floor random (count posFromSpawnPlayer));
		
		_agent = createAgent [_mySkin,  _pos, [], 0, "NONE"];

		call createFullEquipment;
		
		_agent call init_newPlayer;
		call init_newBody;
	};
	diag_log format ["CONNECT: FINISHED!"];	
};

_clientRespawn = 
{
	_uid = getClientUID _id;
	[_uid, _agent] call fnc_dbDestroyProfile;
	_id spawnForClient { titleText ["Respawning....","BLACK IN",3];};
	diag_log format["RESPAWN: NEW PLAYER! UID: %1",_uid];
	
	sleep 1;

	_top = getArray(configFile >> "cfgCharacterCreation" >> "top");
	_bottom = getArray(configFile >> "cfgCharacterCreation" >> "bottom");
	_shoe = getArray(configFile >> "cfgCharacterCreation" >> "shoe");
		
	_myTop = _top select (floor random (count _top));  
	_myBottom = _bottom select (floor random (count _bottom));  
	_myShoe = _shoe select (floor random (count _shoe));  

	_mySkin = DZ_SkinsArray select (floor random (count DZ_SkinsArray));  
		
	_pos = posFromSpawnPlayer select (floor random (count posFromSpawnPlayer));
		
	_agent = createAgent [_mySkin,  _pos, [], 0, "NONE"];

	call createFullEquipment;

	_agent call init_newPlayer;
	call init_newBody;
};

_disconnectPlayer =
{
	_uid = getClientUID _id;
	_vm = [_agent,_id,_name,_queueTime,_killed,_uid,DZ_Enable_Login_Disconnect_Messages,DZ_TIME_EXIT_AGENT] spawn 
	{
		private ["_agent","_id","_uid","Enable_Login_Disconnect_Messages","TIME_EXIT_AGENT"];
		_agent = _this select 0;
		_id = _this select 1; 
		_name = _this select 2;
		_queueTime = _this select 3;
		_killed = _this select 4;
		_uid = _this select 5;
		Enable_Login_Disconnect_Messages = _this select 6;
		TIME_EXIT_AGENT = _this select 7;
		
		if (Enable_Login_Disconnect_Messages) then
		{
			{
				[_x, format["Player %1 disconnected from server",_name], "colorStatusChannel"] call fnc_playerMessage;
			} foreach players;
		};
	
		[_uid, _agent] call fnc_dbDestroyProfile;
				
		diag_log format ["DISCONNECT: Player %1 name %2 UID %3 try disconnect from server.", _agent, _name, _uid];	
		
		if (vehicle _agent != _agent) then
		{
			moveOut _agent;
		};
		if (!isNull _agent) then
		{
			sleep 1;
			_agent playAction "SitDown";
			sleep TIME_EXIT_AGENT;

			if ( !_killed ) then {
				[_uid, _agent] call fnc_dbDestroyProfile;
			};
			if ((lifeState _agent == "ALIVE") and (not captive _agent)) then {
				diag_log format ["DISCONNECT: Player %1 name %2 UID %3 saved server when him disconnect!", _agent, _name, _uid];	
			};
		};
		if (!isNull _agent) then
		{
			endDisconnectPlayer [ _agent, _uid ];
		};
	
	};
};

// Create player on connection
	onClientRespawn _clientRespawn;
	onPlayerConnecting _clientNew;
	onPlayerDisconnected _disconnectPlayer;

Собственно и

createFullEquipment.sqf

_arrPrimWep = [
["M249","Att_Suppressor_M4","Att_Handguard_M249_Ris","Att_Optic_ACOG","M_M249Box_200Rnd","M_M249Box_200Rnd"],
["AK101","Att_Suppressor_AK","Att_Optic_PSO1","Att_Optic_Kashtan","Att_Handguard_AK_Rail_Black","Att_Bipod_Atlas","Att_Buttstock_AK_Plastic","M_ak101_30Rnd","M_ak101_30Rnd","M_ak101_30Rnd","Ammo_556","Ammo_556","Ammo_556","Ammo_556"],
["AK74","Att_Suppressor_AK","Att_Optic_PSO1","Att_Optic_Kashtan","Att_Handguard_AK_Rail_Black","Att_Bipod_Atlas","Att_Buttstock_AK74","M_ak74_30Rnd","M_ak74_30Rnd","M_ak74_30Rnd","Ammo_545","Ammo_545","Ammo_545","Ammo_545"],
["AKM","Att_Suppressor_AK","Att_Optic_PSO1","Att_Optic_Kashtan","Att_Handguard_AK_Rail_Black","Att_Bipod_Atlas","Att_Buttstock_AK_Wood","M_akm_drum","M_akm_drum","Ammo_762x39","Ammo_762x39","Ammo_762x39","Ammo_762x39"],
["AugSteyr","Att_Suppressor_M4","M_STANAG_30Rnd_Coupled","M_STANAG_30Rnd_Coupled","M_STANAG_30Rnd_Coupled","Ammo_556","Ammo_556","Ammo_556","Ammo_556"],
["M4A1","Att_Suppressor_M4","Att_Handguard_M4RIS","Att_Buttstock_M4MP","Att_Bipod_Atlas","Att_Optic_ACOG","Att_Optic_M4T3NRDS","M_STANAG_30Rnd_Coupled","M_STANAG_30Rnd_Coupled","M_STANAG_30Rnd_Coupled","Ammo_556","Ammo_556","Ammo_556","Ammo_556"],
["Mosin9130","Att_Compensator_Mosin","Att_Optic_PUScope","CLIP_762_5Rnd","CLIP_762_5Rnd","CLIP_762_5Rnd","Ammo_762","Ammo_762","Ammo_762","Ammo_762"],
["SVD","Att_Optic_PSO1","M_svd_10Rnd","M_svd_10Rnd","M_svd_10Rnd","M_svd_10Rnd","Ammo_762","Ammo_762","Ammo_762","Ammo_762"],
["SKS","Att_Compensator_Mosin","Att_Optic_PUScope","Clip_762x39_10Rnd","Clip_762x39_10Rnd","Clip_762x39_10Rnd","Ammo_762x39","Ammo_762x39","Ammo_762x39","Ammo_762x39"],
["VSS","Att_Optic_PSO11","M_Vss_10Rnd","M_Vss_10Rnd","M_Vss_10Rnd","M_Vss_10Rnd","Ammo_9x39","Ammo_9x39","Ammo_9x39","Ammo_9x39"],
["Winchester70","Att_Optic_Hunting","CLIP_308Win_Snaploader","CLIP_308Win_Snaploader","CLIP_308Win_Snaploader","Ammo_308Win","Ammo_308Win","Ammo_308Win","Ammo_308Win"]
];

_arrSecWep = [
["MP5K","Att_Suppressor_Pistol","Att_Optic_ACOG","M_MP5_30Rnd","M_MP5_30Rnd","M_MP5_15Rnd","M_MP5_15Rnd"],
["UMP45","Att_Suppressor_Pistol","Att_Optic_ACOG","M_UMP_25Rnd","M_UMP_25Rnd","M_UMP_25Rnd"],
["DE_Gold","Att_Suppressor_Pistol","M_DE_9rnd","M_DE_9rnd","M_DE_9rnd"]
];

_arrCloth = [
["M65_Jacket_Black","CargoPants_Black","BagAlice_Black","WorkingGloves_Black","GorkaHelmet_complete_Black","JoeyXSunGlasses","BalaclavaMask_Blackskull","MilitaryBoots_Black","HighCapacityVest_Black"],
["Gorka_up_summer","Gorka_pants_summer","BagAlice_Green","WorkingGloves_Brown","GorkaHelmet_complete_Green","JoeyXSunGlasses","BalaclavaMask_Green","MilitaryBoots_Black","PlateCarrierComplete"],
["Gorka_up_flat","Gorka_pants_flat","BagAlice_Green","WorkingGloves_Brown","GorkaHelmet_complete_Green","JoeyXSunGlasses","BalaclavaMask_Green","MilitaryBoots_Black","PlateCarrierComplete"],
["TTsKO_Jacket_Camo","ttsko_pants_Beige","BagAlice_Camo","WorkingGloves_Brown","GorkaHelmet_complete_Green","JoeyXSunGlasses","BandanaMask_camopattern","MilitaryBoots_Black","PlateCarrierComplete"],
["M65_Jacket_Khaki","CargoPants_Green","BagAlice_Green","WorkingGloves_Yellow","GorkaHelmet_complete_Green","JoeyXSunGlasses","BandanaMask_greenpattern","MilitaryBoots_Redpunk","HighCapacityVest_Olive"]
];

{_v = _agent createInInventory _x} forEach (_arrCloth select floor(random(count _arrCloth)));
{_v = _agent createInInventory _x} forEach (_arrPrimWep select floor(random(count _arrPrimWep)));
{_v = _agent createInInventory _x} forEach (_arrSecWep select floor(random(count _arrSecWep)));

_v = _agent createInInventory "FirefighterAxe";
_v = _agent createInInventory "CombatKnife";

//
_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",10000];
_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",10000];
_v = _agent createInInventory "Consumable_Matchbox";_v setVariable ["quantity",1000];
_v = _agent createInInventory "Tool_LeatherSewingKit";
_v = _agent createInInventory "Tool_SewingKit";       
_v = _agent createInInventory "Food_CanTacticalBacon_Open";_v setVariable ["quantity",2];
_v = _agent createInInventory "Food_CanTacticalBacon_Open";_v setVariable ["quantity",2];
_v = _agent createInInventory "Consumable_Rags"; _v setQuantity 6;
_v = _agent createInInventory "Consumable_Rags"; _v setQuantity 6;
//

true

 

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


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

 

1 час назад, paranoyk сказал:

123new ...работает хреновина!!!Есть спавн!...(взятые координаты из древнего редактора).

Координата Z....в результате вертолёт заспавнился "немного присыпаный"...Значит возможно регулировка по высоте!

Осталось проверить,работает ли поворот.

(дописано-поврот обьекта не работает,хм,даже не знаю куда копать)

 

 

Извните,у вас в тайпс нет рюкзаков "алиса"...и ещё.(тут у меня просто горит уже).К примеру-

Есть Ammo_556_20Rnd...по идее это пачка патронов по вашему тайпс,но

вроде (взято из офлайн клиента) должно быть AmmoBox_556_20Rnd...Не могу понять,как верно.

И ещё,можно лиз тайпс удалять предметы типа EN5C_Pen_Blue и прочие книги\ручки?

 

Ещё раз спасибо...

 

по поводу тайпс - я не зря написал, что тайпс взят от 61 версии игры и не правился под 62 никак, так что ошибки или нехватка чего-либо возможны, и править увы, самим, поскольку нет у меня списка того чего нет на сервере и что должно быть, и чего наоборот не должно быть, а также нет времени и сервера на такие тесты.
по вертолетам - все реально. Делаете массив координат, и загоняете в функцию, которая будет их перебирать и спавнить. В координате если поставите вместо z нуль то объект выравнится по земле. Также в комманде спавна есть возмождность спавна не точно, а по радиусу около точки рандомно. Все это гуглите сами, я в учителя не записывался. + гайды от NoNameUltima должны тут подойти.
linucks учитесь думать, я за вас всегда думать не буду. Дальше проще не будет когда захотите что-то сделать, прийдется думать и изучать. Замените в dbloadplayer функцию респавна на эту

_clientRespawn = 
{
	_uid = getClientUID _id;
	[_uid, _agent] call fnc_dbDestroyProfile;
	_id spawnForClient { titleText ["Respawning....","BLACK IN",3];};
	diag_log format["RESPAWN: NEW PLAYER! UID: %1",_uid];

	//load data
	_top = getArray(configFile >> "cfgCharacterCreation" >> "top");
	_bottom = getArray(configFile >> "cfgCharacterCreation" >> "bottom");
	_shoe = getArray(configFile >> "cfgCharacterCreation" >> "shoe");
		
	_myTop = _top select (floor random (count _top));  
	_myBottom = _bottom select (floor random (count _bottom));  
	_myShoe = _shoe select (floor random (count _shoe));  
	_mySkin = DZ_SkinsArray select (floor random (count DZ_SkinsArray));  
		
	_pos = [0,0,0];
	if (_uid in array_donategroup_ADMIN) then
	{
		_pos = [2978.985352,9727.786133,0.0];
	} else
	{
		_pos = posFromSpawnPlayer select (floor random (count posFromSpawnPlayer));
	};
		
	_agent = createAgent [_mySkin,  _pos, [], 0, "NONE"];
	{null = _agent createInInventory _x} forEach [_myTop,_myBottom,_myShoe];
	_v = _agent createInInventory "Consumable_Roadflare";
	_v = _agent createInInventory "Consumable_Rags"; _v setQuantity 1;
	_agent call init_newPlayer;
	call init_newBody;
};

 

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


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

Рюкзаки Алиса великолепно спавнятся

123new 

По моим вопросам выше не ответите?

 

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


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

BorizzK по хеликрашам. В строке

_Heli = DZ_COUNT_HELICRASHES;

в переменную "_Heli" заносится обозначенное в init у вас кол-во хеликрашей, но не заспавненное, а то, сколько их всего должно быть на сервере у вас (т.е. максимум допустимый, выше которого и ниже которого быть не должно). Более оно нигде не используется, в скрипте дальнейшая работа идет с переменной "_Heli"

По поводу "(allMissionObjects  "")" - это функция, возвращающая массив всех объектов на карте (палатки, машины, дома, все вообще, все что есть в текущий момент в игре). А далее просто выбираем с нее нужное.

В остальном все верно вы сообразили. Ищем объекты на сервере, выбираем среди них нужные нам, удаляем и переспавниваем.

По поводу "FAILED: SteamGameServer_Init(0,27996,2302,27815,3,0.62.140099)" - это steam-библиотеки в папке игры (steam api, steamclient), щас проверю

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

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


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

123new Понял,думал если не прописан в тайпс-не будет вообще.

Насчёт хеликрашей...спасибо-передам "высоким умам" кто умеет писать эти чёртовы скрипты.

(но таки заставил работать поворот предметов!)

Спасибо за помощь..

 

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


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

123new 123new 

FAILED: SteamGameServer

Такое происходит только если не запущен стим

Если стим запустить то все ок

 

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


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

paranoyk поворот работает, синхронизация при подходе к ним между сервером и клиентом глючит, будут невидимые стены и проходы в текстуры

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


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

123new Хм,у меня просто если прописать _object setDir 40.80572; то меняй,не меняй цифры-обьект строго орентирован с С-Ю...переписал немного,крутиться.

 

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


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

paranoyk целое число попробуйте, например _object setdir 90;

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


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

BorizzK нашел ошибку "FAILED: SteamGameServer_Init", длл в корне сервера левые вкрались почему-то, перезалил, если нужно, вот http://www14.zippyshare.com/v/HvVbdtWZ/file.html

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


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

123new Не,судя по всему тут тупо надо писать по другому.Что то по типу-

_vehicle_0 = _object;

_object setDir 40.80572;

Завтра будем смотреть

 

 

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


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

123new 

А вот как удаляются обьекты не по их номерам в базе, а по типу и координатам и в определенном радиусе?

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

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


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

Еще вопросик

В логе script.log

string        'PSOVIS: EEItemOutOfHands'
string        'PSOVIS: EEItemOutOfHands'
string        'PSOVIS: EEItemOutOfHands'
Это что?

 

2 Скрипт уничтожающий сохраненный профиль игрока - изначально не удалял файл SHOULDER в профиле

добавил в dayz_Auto.ChernarusPlus\scripts\functions\fnc_dbDestroyProfile.sqf  в массив _files "SHOULDER"

_files = ["CHAR","STATE","HANDS","QUICKBAR","SLOTS","SHOULDER"];

теперь все из профиля грохается и переносится в профиль в dead

 

3 С очисткой палаток получилось - правда грохаются все установленные палатки на сервере

 

// Types Tents
_MilTentsTypes = [          
    "TentLarge_Pitched"
];
diag_log format["Spawn Tents with loot: Defined tents type: %1",_MilTentsTypes];

// Delete old tents
diag_log format ["Spawn Tents with loot: Cleaning old %1 !",_MilTentsTypes];
_tmp_count_del_tents = 0;
{
	if ((typeOf _x) in _MilTentsTypes) then
	{
		deleteVehicle _x;
		_tmp_count_del_tents = _tmp_count_del_tents + 1;
		diag_log format ["Spawn Tents with loot: Detected and deleted tent %2: %1",_x,_tmp_count_del_tents];
	};
} forEach (allMissionObjects "");
diag_log format ["Spawn Tents with loot: Detected and deleted %1 %2",_tmp_count_del_tents,_MilTentsTypes];

Как бы грохать только палатки в определенном месте?

 

Единственное, обратил внимание, что _x иногда получает <NULL-object>

С чего бы?

 

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

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


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

123new  нашел косяк с пулеметом М249, когда стреляешь звука ваще не слышно, и motobike helmet когда одеваешь на перса сразу же сервер падает, можно ли как то решить эту проблему?

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


Ссылка на сообщение
Поделиться на других сайтах
40 минут назад, urengoy88 сказал:

123new  нашел косяк с пулеметом М249, когда стреляешь звука ваще не слышно, и motobike helmet когда одеваешь на перса сразу же сервер падает, можно ли как то решить эту проблему?

 

Звука выстрела с M249 нету в самой игре! А насчет хелмета - просто вырезайте его из types.xml стирайте папку storage и запускайте сервер.

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

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


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, paranoyk сказал:

123new Не,судя по всему тут тупо надо писать по другому.Что то по типу-

_vehicle_0 = _object;

_object setDir 40.80572;

Завтра будем смотреть

 

 

ну в данном коде вы явно бред написали)
 

 

6 часов назад, BorizzK сказал:

Еще вопросик

В логе script.log

string        'PSOVIS: EEItemOutOfHands'
string        'PSOVIS: EEItemOutOfHands'
string        'PSOVIS: EEItemOutOfHands'
Это что?

 

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

 

6 часов назад, BorizzK сказал:

2 Скрипт уничтожающий сохраненный профиль игрока - изначально не удалял файл SHOULDER в профиле

добавил в dayz_Auto.ChernarusPlus\scripts\functions\fnc_dbDestroyProfile.sqf  в массив _files "SHOULDER"

_files = ["CHAR","STATE","HANDS","QUICKBAR","SLOTS","SHOULDER"];

теперь все из профиля грохается и переносится в профиль в dead

 

спс, поправлю. А вообще систему сохранения еще хотел перепроверить с той, что у benwood выведена в релиз, возможно еще изменю файлики эти.
 

 

6 часов назад, BorizzK сказал:

3 С очисткой палаток получилось - правда грохаются все установленные палатки на сервере

 


// Types Tents
_MilTentsTypes = [          
    "TentLarge_Pitched"
];
diag_log format["Spawn Tents with loot: Defined tents type: %1",_MilTentsTypes];

// Delete old tents
diag_log format ["Spawn Tents with loot: Cleaning old %1 !",_MilTentsTypes];
_tmp_count_del_tents = 0;
{
	if ((typeOf _x) in _MilTentsTypes) then
	{
		deleteVehicle _x;
		_tmp_count_del_tents = _tmp_count_del_tents + 1;
		diag_log format ["Spawn Tents with loot: Detected and deleted tent %2: %1",_x,_tmp_count_del_tents];
	};
} forEach (allMissionObjects "");
diag_log format ["Spawn Tents with loot: Detected and deleted %1 %2",_tmp_count_del_tents,_MilTentsTypes];

Как бы грохать только палатки в определенном месте?

 

Единственное, обратил внимание, что _x иногда получает <NULL-object>

С чего бы?

 

ну сделано все верно. Разумеется, работает это по всему серверу, поскольку (allMissionObjects "") как раз таки и получает общий список объектов на сервере.

Для проверки списка объектов по определенной координате и дистанции от нее есть специальная комманда под названием nearObjects, с результатом которой и можно работать.

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


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, urengoy88 сказал:

123new  нашел косяк с пулеметом М249, когда стреляешь звука ваще не слышно, и motobike helmet когда одеваешь на перса сразу же сервер падает, можно ли как то решить эту проблему?

можно, мотошлемы все убрать с таблицы лута, пулеметы тоже, т.к. пулеметы в спавне 62 патча официального точно отсутствуют.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: radical
      Доброго времени суток! Хотел вот поинтересоваться, плюс по возможности чтобы растолковали что к чему.
      Суть вопроса: хочу на сервер сделать те же самые ванильные вещи, но, кхм, размер клеточек у ванильных по меньше прописать, чтоб в инвентаре поместились. Как это сделать я примерно понял, config.cpp я поправлю, но встал вопрос ребром:  но кроме этого файла, что надо делать. Вопросов много появляется, а в интернете информацию сложно накопать. Решил попросить помощи у знающих людей.
      1. По возможности хотелось бы от начала до конца увидеть весь путь изменения одного ванильного предмета
      2. Из просьбы что выше появляется вопрос: с остальными ванильными предметами такое же решение делать? ( Это при условии, если тема 1 решится)
       
      P.S. Если будут какие то файлы, ссылки, да даже просто объяснения, это меня сдвинет с мёртвой точки, а то завис)
    • Автор: fedotovyasha
      Где можно достать карту в очень высоком разрешении, все в интернете такого себе качества. Хочу сделать свою карту
    • Автор: fedotovyasha
      Есть ли возможность сгенерировать и отобразить в ui qr код? Если да, то как?
    • Автор: fedotovyasha
      Хочу сделать возможность передачи данных об каждом игроке в программу на c#. Есть ли возможность как-то завязаться на rcon или с помощью кастомного сокета?
       
      Пока сделал часть с помощью текстового документа: сервер сохраняет данные в файл, а программа читает этот файл и получает необходимые данные, но это костыль, хотелось бы сделать нормально.
  • Наш выбор

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

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

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