ATAMAH

Техника с миссий WAI сохраняется в БД

Вопрос

Как сделать чтоб техника с миссий WAI не сохранялась в БД, то есть чтобы после рестарта она исчезала?

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


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

7 ответов на этот вопрос

Переходим в dayz_server.pbo -> WAI -> Missions
Открываем файл MissionIni.sqf
Находим строчку
custom_publish = compile preprocessFileLineNumbers "\z\addons\dayz_server\WAI\missions\compile\custom_publishVehicle.sqf";
И закомментируйте ее. То есть сделайте чтобы было вот так:
//custom_publish = compile preprocessFileLineNumbers "\z\addons\dayz_server\WAI\missions\compile\custom_publishVehicle.sqf";

Готово.



Решил проблему другим способом. Просто закомментил самую первую строку в "missioninit.sqf"

Блин, не уследил что ты уже написал решение :)

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

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


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


с бекапом сунь это в custom_publishVehicle.sqf

private ["_object","_worldspace","_location","_dir","_class","_uid","_dam","_hitpoints","_selection","_array","_damage","_fuel","_key","_totaldam","_spawnDMG","_characterID"];
//[_veh,[_dir,_location],"V3S_Civ",true]
_object = 		_this select 0;
_worldspace = 	_this select 1;
_class = 		_this select 2;
_spawnDMG =		_this select 3;
_characterID =  _this select 4;

_fuel = 1;
_damage = 0;
_array = [];

diag_log ("PUBLISH: Attempt " + str(_object));
_dir = 		_worldspace select 0;
_location = _worldspace select 1;

//Generate UID test using time
// _uid = str( round (dateToNumber date)) + str(round time);
_uid = _worldspace call dayz_objectUID2;
//_uid = format["%1%2",(round time),_uid];

if (_spawnDMG) then { 
	_fuel = 0;
	if (getNumber(configFile >> "CfgVehicles" >> _class >> "isBicycle") != 1) then {

		// Create randomly damaged parts
	
		_totaldam = 0;
		_hitpoints = _object call vehicle_getHitpoints;
		{
			// generate damage on all parts
			_dam = call generate_new_damage;

			_selection = getText(configFile >> "cfgVehicles" >> _class >> "HitPoints" >> _x >> "name");
			
			if (_dam > 0) then {
				_array set [count _array,[_selection,_dam]];
				_totaldam = _totaldam + _dam;
			};
		} forEach _hitpoints;
		

		// just set low base dmg - may change later
		_damage = 0;
		_fuel = wai_mission_fuel;
	};
	
	//If saving vehicles to the database is disabled, lets warn players it will disappear
	if (!(WAISaveVehicles)) then {
		_object addEventHandler ["GetIn",{
			_nil = [nil,(_this select 2),"loc",rTITLETEXT,"Warning: This vehicle will disappear on server restart!","PLAIN DOWN",5] call RE;
		}];
	};
};

// TODO: check if uid already exists and if so increment by 1 and check again as soon as we find nothing continue.

if (WAISaveVehicles) then {

//Send request
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, _damage , _characterID, _worldspace, [], _array, _fuel,_uid];
diag_log ("HIVE: WRITE: "+ str(_key)); 
_key call server_hiveWrite;

PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];

// Switched to spawn so we can wait a bit for the ID
[_object,_uid,_fuel,_damage,_array,_characterID,_class] spawn {
   private["_object","_uid","_fuel","_damage","_array","_characterID","_done","_retry","_key","_result","_outcome","_oid","_selection","_dam","_class"];

   _object = _this select 0;
   _uid = _this select 1;
   _fuel = _this select 2;
   _damage = _this select 3;
   _array = _this select 4;
   _characterID = _this select 5;
   _class = _this select 6;

   _done = false;
	_retry = 0;
	// TODO: Needs major overhaul
	while {_retry < 10} do {
		
		sleep 1;
		// GET DB ID
		_key = format["CHILD:388:%1:",_uid];
		diag_log ("HIVE: WRITE: "+ str(_key));
		_result = _key call server_hiveReadWrite;
		_outcome = _result select 0;
		if (_outcome == "PASS") then {
			_oid = _result select 1;
			_object setVariable ["ObjectID", _oid, true];
			diag_log("CUSTOM: Selected " + str(_oid));
			_done = true;
			_retry = 100;

		} else {
			diag_log("CUSTOM: trying again to get id for: " + str(_uid));
			_done = false;
			_retry = _retry + 1;
		};
	};
	};

};	
	if(!_done) exitWith { deleteVehicle _object; diag_log("CUSTOM: failed to get id for : " + str(_uid)); };

	_object setVariable ["lastUpdate",time];
	_object setVariable ["CharacterID", _characterID, true];
	_object setDamage _damage;

	// Set Hits after ObjectID is set
	{
		_selection = _x select 0;
		_dam = _x select 1;
		if (_selection in dayZ_explosiveParts and _dam > 0.8) then {_dam = 0.8};
		[_object,_selection,_dam] call object_setFixServer;
	} forEach _array;
	
	_object setFuel _fuel;
	
	_object setvelocity [0,0,1];

	_object call fnc_veh_ResetEH;

	// testing - should make sure everyone has eventhandlers for vehicles was unused...
	PVDZE_veh_Init = _object;
	publicVariable "PVDZE_veh_Init";

	diag_log ("PUBLISH: Created " + (_class) + " with ID " + str(_uid));
};

но предупреждения о том что техника не сохраниться - не будет

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


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

с бекапом сунь это в custom_publishVehicle.sqf

private ["_object","_worldspace","_location","_dir","_class","_uid","_dam","_hitpoints","_selection","_array","_damage","_fuel","_key","_totaldam","_spawnDMG","_characterID"];
//[_veh,[_dir,_location],"V3S_Civ",true]
_object = 		_this select 0;
_worldspace = 	_this select 1;
_class = 		_this select 2;
_spawnDMG =		_this select 3;
_characterID =  _this select 4;

_fuel = 1;
_damage = 0;
_array = [];

diag_log ("PUBLISH: Attempt " + str(_object));
_dir = 		_worldspace select 0;
_location = _worldspace select 1;

//Generate UID test using time
// _uid = str( round (dateToNumber date)) + str(round time);
_uid = _worldspace call dayz_objectUID2;
//_uid = format["%1%2",(round time),_uid];

if (_spawnDMG) then { 
	_fuel = 0;
	if (getNumber(configFile >> "CfgVehicles" >> _class >> "isBicycle") != 1) then {

		// Create randomly damaged parts
	
		_totaldam = 0;
		_hitpoints = _object call vehicle_getHitpoints;
		{
			// generate damage on all parts
			_dam = call generate_new_damage;

			_selection = getText(configFile >> "cfgVehicles" >> _class >> "HitPoints" >> _x >> "name");
			
			if (_dam > 0) then {
				_array set [count _array,[_selection,_dam]];
				_totaldam = _totaldam + _dam;
			};
		} forEach _hitpoints;
		

		// just set low base dmg - may change later
		_damage = 0;
		_fuel = wai_mission_fuel;
	};
	
	//If saving vehicles to the database is disabled, lets warn players it will disappear
	if (!(WAISaveVehicles)) then {
		_object addEventHandler ["GetIn",{
			_nil = [nil,(_this select 2),"loc",rTITLETEXT,"Warning: This vehicle will disappear on server restart!","PLAIN DOWN",5] call RE;
		}];
	};
};

// TODO: check if uid already exists and if so increment by 1 and check again as soon as we find nothing continue.

if (WAISaveVehicles) then {

//Send request
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, _damage , _characterID, _worldspace, [], _array, _fuel,_uid];
diag_log ("HIVE: WRITE: "+ str(_key)); 
_key call server_hiveWrite;

PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];

// Switched to spawn so we can wait a bit for the ID
[_object,_uid,_fuel,_damage,_array,_characterID,_class] spawn {
   private["_object","_uid","_fuel","_damage","_array","_characterID","_done","_retry","_key","_result","_outcome","_oid","_selection","_dam","_class"];

   _object = _this select 0;
   _uid = _this select 1;
   _fuel = _this select 2;
   _damage = _this select 3;
   _array = _this select 4;
   _characterID = _this select 5;
   _class = _this select 6;

   _done = false;
	_retry = 0;
	// TODO: Needs major overhaul
	while {_retry < 10} do {
		
		sleep 1;
		// GET DB ID
		_key = format["CHILD:388:%1:",_uid];
		diag_log ("HIVE: WRITE: "+ str(_key));
		_result = _key call server_hiveReadWrite;
		_outcome = _result select 0;
		if (_outcome == "PASS") then {
			_oid = _result select 1;
			_object setVariable ["ObjectID", _oid, true];
			diag_log("CUSTOM: Selected " + str(_oid));
			_done = true;
			_retry = 100;

		} else {
			diag_log("CUSTOM: trying again to get id for: " + str(_uid));
			_done = false;
			_retry = _retry + 1;
		};
	};
	};

};	
	if(!_done) exitWith { deleteVehicle _object; diag_log("CUSTOM: failed to get id for : " + str(_uid)); };

	_object setVariable ["lastUpdate",time];
	_object setVariable ["CharacterID", _characterID, true];
	_object setDamage _damage;

	// Set Hits after ObjectID is set
	{
		_selection = _x select 0;
		_dam = _x select 1;
		if (_selection in dayZ_explosiveParts and _dam > 0.8) then {_dam = 0.8};
		[_object,_selection,_dam] call object_setFixServer;
	} forEach _array;
	
	_object setFuel _fuel;
	
	_object setvelocity [0,0,1];

	_object call fnc_veh_ResetEH;

	// testing - should make sure everyone has eventhandlers for vehicles was unused...
	PVDZE_veh_Init = _object;
	publicVariable "PVDZE_veh_Init";

	diag_log ("PUBLISH: Created " + (_class) + " with ID " + str(_uid));
};

но предупреждения о том что техника не сохраниться - не будет

Спасибо, щас попробую, а после каких строк это вставлять? или просто вниз самый?

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


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

С какого хрена вопрос решен? Админы, вы сами то проверили это вариант??? Или вам для галочки лишь бы отметить все вопросы решенными, а решили их или нет вам насрать?

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


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

С какого хрена вопрос решен? Админы, вы сами то проверили это вариант??? Или вам для галочки лишь бы отметить все вопросы решенными, а решили их или нет вам насрать?

Мда...

Поддерживаю...

Блин, а думал, что тут надолго останусь... 

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


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

Решил проблему другим способом. Просто закомментил самую первую строку в "missioninit.sqf"

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


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

такая проблема при заходе в лобби кикает и пишет registration failed: couldn't resolve host name (could not resolve host: register: no data record of reguested type)

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


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

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

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

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

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


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

Войти

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


Войти сейчас

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

    • Автор: Akie
      Никак не могу разобраться как заставить ВАИ выводить миникарту при старте миссии, скрипт есть, просто как заставить его выводить её не могу понять, подскажите пожалуйста господа. Знаю что сообщения выводятся через mission_winorfail.sqf, но как оттуда сделать вызов вариабла сообщения я не знаю.
    • Автор: Gromillla
      Доброго времени суток дамы и господа, и сразу к вопросу, в миссиях 2.2.5 версии, если боты "бандиты", то они скин игрока видят и реагируют на него, а если миссии с ботами "героями", то они скин игрока не видят. Скин  "RUS_Soldier_Marksman". Как соответственно решить эту проблему? Ошибок в РПТ нет.
    • Автор: Шапокляк
      Как сделать чтоб Боты агрелись на Игрока с расстояния   1000-1500 метров. Темы вродибы есть но решений нет.
      ai_share_info = true; // AI share info on player position ai_share_distance = 2000; // distance from killed AI for AI to share your rough position ai_skill_extreme = [["aimingAccuracy",1.00],["aimingShake",1.00],["aimingSpeed",1.00],["endurance",1.00],["spotDistance",3.99],["spotTime",1.00],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Extreme ai_skill_hard = [["aimingAccuracy",1.00],["aimingShake",1.00],["aimingSpeed",1.00],["endurance",1.00],["spotDistance",3.99],["spotTime",1.00],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Hard менял все не помогает.!!!
    • Автор: jesseclark
      Привет! Возникла проблема с техникой, надеюсь на помощь:)
      Суть проблемы - если техника повреждена, даже немного - она деспавнится. В чем может быть проблема? Спасибо
      Версия DayZ 1.0
    • Автор: RedLink
      Всем привет.
      Один из разработчиков мода Epoch (Salival's scripts) поделился скриптом для админ-панели Инфистара, чтобы вручную спавнить миссии WAI, DZMS, а также ивенты.
       
      Открываем файл админ-панели Инфистара AT.sqf и ищем код (примерно 289-я строка):
      adminadd = adminadd + [" Force Disconnect (Self)",{(findDisplay 46) closeDisplay 0;},"0","0","0","0",[]]; }; и после нее вставляем:
       
      Где [EVENT] - это ивенты которые хранятся у меня в папке "modules", а "building_supplies" - это наименование файла (пробелов быть не должно).
      Где [HERO]/[BANDIT] - это мисии для Героев/Бандитов. Так же в строке идет наименование папки "hero"/"bandit", и соответственно наименование файла миссии, например "abandoned_trader", которые соответствуют наименованию файла миссии в папке с героем или бандитом.
      Тоже самое и для миссий DZMS - "major"/"minor" - это имя папки миссий, а "SMxxx" - это имя файла миссии.
       
      Далее открываем сам Инфистар - AH.sqf и ищем следующие строки:
      } forEach _arrayforcrate; }; и под ними вставляем:
      if(_option == 8000) then { _mtype = _array select 2; _mname = _array select 3; if (_mtype == "hero" || {_mtype == "bandit"}) then { diag_log format ["%1 (%2) Spawning mission [%3] %4",name (_array select 1),getPlayerUID (_array select 1),_mtype,_mname]; wai_mission_markers set [(count wai_mission_markers), format ["Main%1%2",_mtype,count(wai_mission_data)]]; if (isNil "ai_show_count") then {wai_mission_data = wai_mission_data + [[0,"",[],[0,0,0]]];} else {wai_mission_data = wai_mission_data + [[0,[],[],[],[]]]}; execVM format ["\z\addons\dayz_server\WAI\missions\%1\%2.sqf",_mtype,_mname]; _sl = format['%1 (%2) spawned WAI\missions\%3\%4.sqf',_clientName,_clientUID,_mtype,_mname]; PVAH_WriteLogReq = [_playerObj,toArray _sl]; publicVariableServer 'PVAH_WriteLogReq'; }; if (_mtype == "event") then { [] execVM "\z\addons\dayz_server\modules\" + _mname + ".sqf"; _sl = format['%1 (%2) spawned Event - %3.sqf',_clientName,_clientUID,_mname]; PVAH_WriteLogReq = [_playerObj,toArray _sl]; publicVariableServer 'PVAH_WriteLogReq'; }; if (_mtype == "major" || {_mtype == "minor"}) then { diag_log format ["%1 (%2) Spawning mission [%3] %4",name (_array select 1),getPlayerUID (_array select 1),_mtype,_mname]; execVM format ["\z\addons\dayz_server\DZMS\missions\%1\%2.sqf",_mtype,_mname]; _sl = format['%1 (%2) spawned DZMS\missions\%3\%4.sqf',_clientName,_clientUID,_mtype,_mname]; PVAH_WriteLogReq = [_playerObj,toArray _sl]; publicVariableServer 'PVAH_WriteLogReq'; }; }; Отдельно добавлю, что все миссии, которые спавнит админ, записываются в лог файл и панель Инфистара.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.