Jump to content

Recommended Posts

Hello, does anyone have any experience with saving bases on the server between restarts, so it will stay after it?

Share this post


Link to post
Share on other sites
Hello, does anyone have any experience with saving bases on the server between restarts, so it will stay after it?

You can save positions and orientation of objects into server profileNamespace with setVariable and then saveProfileNamespace then retrieve them with getVariable after server restart and recreate the base. I'd suggest to use getPosWorld/setPosWorld and vectorUp/vectorDir/setVectorDirAndUp

Share this post


Link to post
Share on other sites

Well I'm using player saves right now with the inidbsave, but it's implemented to the mission, not server.

Could you please explain me how to turn it on, I've alredy uploaded it to the server side and have the launch parameter.

I also have no clue how enable the base saving, all the information in Google is about wasteland.

Share this post


Link to post
Share on other sites
Well I'm using player saves right now with the inidbsave, but it's implemented to the mission, not server.

Could you please explain me how to turn it on, I've alredy uploaded it to the server side and have the launch parameter.

I also have no clue how enable the base saving, all the information in Google is about wasteland.

You can activate it with

call compile preProcessFile "\inidbi\init.sqf";

Also be sure to read DOCUMENTATION.txt in the inidbi files located in your Arma 3 root directory to see the commands you can use and their accepted parameters/usage.

Share this post


Link to post
Share on other sites

That's the problem, as I said, I've added -mod=@inidb

After that I also tried to adding this compile thing into my Init.

I'm absolutely sure that the path to inidb is correct, and the rpt is saying that's it was loaded, however..

First of all it said that Inidb was not found( after the mission loading), the other thing is that as I know inidb must create files on the server side, which he didn't obviously because he didn't find it.

And yes I've read the documentation.txt but there was nothing about base saving. But I've found the a3_wasteland settings and which have this option. But anyway I don't how to execute it, as the instruction said that it must be moved into root arma 3 server folder. This folder contains main_config.sqf, admins.sqf, bad words.txt and 1 more which I dont remember.

The main config have the option to enable the base save, which I think is not cooperating with inidB.

I'm sorry for such questions but I'm so confused with this.

Share this post


Link to post
Share on other sites

Allright this is my current statsave that I've implemented to the mission(no server side addons).

loadaccount.sqf


//ADD STATS THAT NEED TO BE LOADED HERE.
["moneyPlayer"] call fn_LoadStat;
["moneyAccount"] call fn_LoadStat;
["usedspace"] call fn_LoadStat;
["itemwhale"] call fn_LoadStat;
["meth1"] call fn_LoadStat;
["meth2"] call fn_LoadStat;
["meth3"] call fn_LoadStat;
["meth4"] call fn_LoadStat;

["itemunpheroin"] call fn_LoadStat;
["phone"] call fn_LoadStat;
["crack"] call fn_LoadStat;
["AAFar1"] call fn_LoadStat;
["AAFar2"] call fn_LoadStat;
["rebelhmg"] call fn_LoadStat;
["AAFarheli3"] call fn_LoadStat;
["UCimpala"] call fn_LoadStat;

["pluscop3"] call fn_LoadStat;
["pluscop2"] call fn_LoadStat;
["pluscop1"] call fn_LoadStat;

["tactical1"] call fn_LoadStat;
["tactical2"] call fn_LoadStat;
["tactical3"] call fn_LoadStat;

["tactical4"] call fn_LoadStat;
["tactical5"] call fn_LoadStat;
["tactical6"] call fn_LoadStat;

["tactical7"] call fn_LoadStat;
["tactical8"] call fn_LoadStat;
["tactical9"] call fn_LoadStat;

["tactical10"] call fn_LoadStat;
["tactical11"] call fn_LoadStat;

["lockpick"] call fn_LoadStat;

["nowhite"] call fn_LoadStat;
["swwhite"] call fn_LoadStat;

["pluscop1"] call fn_LoadStat;
["pluscop2"] call fn_LoadStat;
["pluscop3"] call fn_LoadStat;








["emsheliad"] call fn_LoadStat;
["planead1"] call fn_LoadStat;
["planead2"] call fn_LoadStat;

["fordcop1"] call fn_LoadStat;
["fordcop2"] call fn_LoadStat;

["fordciv1"] call fn_LoadStat;
["fordciv2"] call fn_LoadStat;
["fordciv3"] call fn_LoadStat;
["fordciv4"] call fn_LoadStat;

["impalaciv1"] call fn_LoadStat;
["impalaciv2"] call fn_LoadStat;
["impalaciv3"] call fn_LoadStat;
["impalaciv4"] call fn_LoadStat;
["impalaciv5"] call fn_LoadStat;


["audi1"] call fn_LoadStat;
["audi2"] call fn_LoadStat;
["audi3"] call fn_LoadStat;


["dodje1"] call fn_LoadStat;
["dodje2"] call fn_LoadStat;
["dodje3"] call fn_LoadStat;
["dodje4"] call fn_LoadStat;

["camaro1"] call fn_LoadStat;
["camaro2"] call fn_LoadStat;
["camaro3"] call fn_LoadStat;
["camaro4"] call fn_LoadStat;












["itemproheroin"] call fn_LoadStat;
["itemunpcocaine"] call fn_LoadStat;
["itemprococaine"] call fn_LoadStat;
["itemgold"] call fn_LoadStat;
["itemsteel"] call fn_LoadStat;
["itemweed"] call fn_LoadStat;
["itemapple"] call fn_LoadStat;
["itemfish"] call fn_LoadStat;
["itemunpoil"] call fn_LoadStat;
["itemprooil"] call fn_LoadStat;
["itemwood"] call fn_LoadStat;
["itemwater"] call fn_LoadStat;
["handcuff"] call fn_LoadStat;
["engineerciv"] call fn_LoadStat;
["swatlicense2"] call fn_LoadStat;
["rebel"] call fn_LoadStat;

["Stridercop"] call fn_LoadStat;
["Huntercop"] call fn_LoadStat;

["waterLevel"] call fn_LoadStat;
["foodLevel"] call fn_LoadStat;
["cop12cloth"] call fn_LoadStat;
["cop14cloth"] call fn_LoadStat;
["cop1cloth"] call fn_LoadStat;
["cop2cloth"] call fn_LoadStat;
["cop3cloth"] call fn_LoadStat;
["cop4cloth"] call fn_LoadStat;
["cop5cloth"] call fn_LoadStat;
["cop6cloth"] call fn_LoadStat;
["cop7cloth"] call fn_LoadStat;
["cop8cloth"] call fn_LoadStat;
["cop15cloth"] call fn_LoadStat;


["cop9cloth"] call fn_LoadStat;
["cop10cloth"] call fn_LoadStat;
["cop11cloth"] call fn_LoadStat;
if(saveWest) then
{
["positionB"] call fn_LoadStat;
["directionB"] call fn_LoadStat;
["vestplayerB"] call fn_LoadStat;
["backpackB"] call fn_LoadStat;
["outfitB"] call fn_LoadStat;
	["outfitBA"] call fn_LoadStat;
["weaponsB"] call fn_LoadStat;
["magazinesPlayerB"] call fn_LoadStat;
//["latestVehB"] call fn_LoadStat;
};
if(saveeast) then
{
["positionD"] call fn_LoadStat;
["directionD"] call fn_LoadStat;
["outfitD"] call fn_LoadStat;

["backpackD"] call fn_LoadStat;
["vestplayerD"] call fn_LoadStat;
["weaponsD"] call fn_LoadStat;
["magazinesPlayerD"] call fn_LoadStat;
//["latestVehC"] call fn_LoadStat;
};


if(saveCiv) then
{
["positionC"] call fn_LoadStat;
["directionC"] call fn_LoadStat;
["outfitC"] call fn_LoadStat;
["backpackC"] call fn_LoadStat;
	["outfitDA"] call fn_LoadStat;
["vestplayerC"] call fn_LoadStat;
["weaponsC"] call fn_LoadStat;
["magazinesPlayerC"] call fn_LoadStat;
//["latestVehC"] call fn_LoadStat;
};

["driverlicense"] call fn_LoadStat;
["huntinglicense"] call fn_LoadStat;
["airlicense"] call fn_LoadStat;
["boatlicense"] call fn_LoadStat;
["oilprocesslicense"] call fn_LoadStat;
["riflelicense"] call fn_LoadStat;
["pistollicense"] call fn_LoadStat;
["iswanted"] call fn_LoadStat;
["killer"] call fn_LoadStat;
["resis"] call fn_LoadStat;
["break"] call fn_LoadStat;
["rebac"] call fn_LoadStat;


["robber"] call fn_LoadStat;
["emslicense"] call fn_LoadStat;
["house"] call fn_LoadStat;
["houselow"] call fn_LoadStat;
["housemed"] call fn_LoadStat;


["offroadcivus"] call fn_LoadStat;
["quadciv"] call fn_LoadStat;
["kamazciv"] call fn_LoadStat;
["Hatchbackciv"] call fn_LoadStat;
["VANtransportciv"] call fn_LoadStat;
["Kamazopenciv"] call fn_LoadStat;
["Fueltruckciv"] call fn_LoadStat;

["SUVciv"] call fn_LoadStat;
["VANtruckciv"] call fn_LoadStat;
["Truckrepairciv"] call fn_LoadStat;
["hhOffroadciv"] call fn_LoadStat;

["birdsave"] call fn_LoadStat;
["abirdsave"] call fn_LoadStat;
["ghsave"] call fn_LoadStat;
["ka60save"] call fn_LoadStat;
["trhelsave"] call fn_LoadStat;
["atrhelsave"] call fn_LoadStat;


["anp"] call fn_LoadStat;
["fnpfac23"] call fn_LoadStat;
["lbffac23"] call fn_LoadStat;
["vnp"] call fn_LoadStat;
["wffac23"] call fn_LoadStat;
["ckffac23"] call fn_LoadStat;


//===========================================================================


//END
statsLoaded = 1;
player globalChat format ["Your stats are loaded %1.",name player];

saveFuncs.sqf

fn_SaveStat =
{
_varName = _this select 0;
_varValue = _this select 1;
profileNameSpace setVariable [_varName + serverID,_varValue];
};

fn_LoadStat =
{
_varName = _this select 0;
_varValue = profileNameSpace getVariable (_varName + serverID);
if(isNil "_varValue") exitWith {};
[_varName,_varValue] call fn_SetStat;
};

fn_SaveVehicle =
{
_veh = _this select 0;
latestVehicle = _veh;
if(isNull latestVehicle) exitWith {};
_inVeh = player in _veh;
_owner = _veh getVariable ["owner",nil];
if(isNil "_owner") exitWith {};
_type = typeOf _veh;
_pos = getPosATL _veh;
_dir = direction _veh;
_fuel = fuel _veh;
_damage = damage _veh;
_vehID = _veh getVariable ["ID",""];

if(mySide == west) then
{
	["latestVehB",[_owner,_type,_pos,_dir,_fuel,_damage,_inVeh,_vehID]] call fn_SaveStat;
};

if(mySide == civilian) then
{
	["latestVehC",[_owner,_type,_pos,_dir,_fuel,_damage,_inVeh,_vehID]] call fn_SaveStat;
};
};

//===========================================================================
//ADD VARIABLES TO THIS ARRAY THAT NEED SPECIAL SCRIPTING TO LOAD
specialVarLoads =
[
"positionC",
"directionC",
"outfitC",
"vestplayerC",
"backpackC",
"weaponsC",
"magazinesPlayerC",
"positionB",
"directionB",
"outfitB",
	"outfitBA",
"backpackB",
"vestplayerB",





	"positionD",
"directionD",
"outfitD",
	"outfitDA",
"backpackD",
"vestplayerD",
"weaponsD",
"magazinesPlayerD",
"weaponsB",
"magazinesPlayerB",
"moneyPlayer",
"moneyAccount",
	"usedspace",
"engineerciv",
	"handcuff",
"itemwhale",
"meth1",
"meth2",
"meth3",
"meth4",







	"itemunpheroin",
		"phone",
	"crack",
	"AAFar1",
	"AAFar2",
	"rebelhmg",
	"AAFarheli3",


	"emsheliad",
	"planead1",
	"planead2",

	"fordcop1",
	"fordcop2",

	"fordciv1",
	"fordciv2",
	"fordciv3",
	"fordciv4",
		"UCimpala",
				"pluscop1",
	"pluscop2",
	"pluscop3",
		"tactical1",
		"tactical2",
		"tactical3",

	"tactical4",		
	"tactical5",		
	"tactical6",		

	"tactical7",		
	"tactical8",		
	"tactical9",		

		"tactical10",	
	"tactical11",	


			"lockpick",	

	"nowhite",	
	"swwhite",	

	"pluscop1",
	"pluscop2",
	"pluscop3",


	"impalaciv1",
	"impalaciv2",
	"impalaciv3",
	"impalaciv4",
	"impalaciv5",

	"audi1",
	"audi2",
	"audi3",

	"dodje1",
	"dodje2",
	"dodje3",
	"dodje4",

	"camaro1",
	"camaro2",
	"camaro3",
	"camaro4",










"itemproheroin",
"itemunpcocaine",
	"itemprococaine",
	"itemgold",
	"itemsteel",
	"itemweed",
	"itemapple",
"itemfish",
	"itemunpoil",
	"itemprooil",
"itemwood",
	"itemwater",
"Stridercop",
"Huntercop",
"rebel",
"swatlicense2",


"driverlicense",
"iswanted",
	"killer",
		"robber",
"resis",
"break",
"rebac",




"emslicense",
"house",
	"houselow",
	"housemed",







"offroadcivus",
"quadciv",
"kamazciv",
"Hatchbackciv",
"VANtransportciv",
"Kamazopenciv",
"Fueltruckciv",

"SUVciv",
"VANtruckciv",
"Truckrepairciv",
"hhOffroadciv",
"birdsave",
"abirdsave",
"ghsave",
"ka60save",
"trhelsave",
	"atrhelsave",


"anp",
"fnpfac23",
"lbffac23",
"vnp",
"wffac23",
"ckffac23",
"waterLevel",
"foodLevel",
"cop1cloth",
	"cop12cloth",
	"cop14cloth",

"cop2cloth",
"cop3cloth",
"cop4cloth",
"cop5cloth",
"cop6cloth",
"cop7cloth",
"cop9cloth",
"cop10cloth",
"cop11cloth",
	"cop8cloth",

		"cop15cloth",


"huntinglicense",
"airlicense",
"boatlicense",
"oilprocesslicense",
"riflelicense",
"pistollicense",
"latestVehB",
"latestVehC"
];

//THIS FUNCTIONS HANDLES HOW STATS ARE LOADED
fn_SetStat =
{
_varName = _this select 0;
_varValue = _this select 1;
if(isNil '_varValue') exitWith {};
if(_varName in specialVarLoads) then
{
	if(_varName == 'latestVehC' || _varName == 'latestVehB') then 
	{

		if(count _varValue > 0) then
		{
			_owner = _varValue select 0;
			_type = _varValue select 1;
			_pos = _varValue select 2;
			_dir = _varValue select 3;
			_fuel = _varValue select 4;
			_damage = _varValue select 5;
			_inVeh = _varValue select 6;
			_veh = _varValue select 7;



			loadTheVehicle = false;
			_vehicles = nearestObjects [[0,0,0],["AllVehicles"],100000];
			{				
				if(_x getVariable ["ID",""] == _veh) exitWith {loadTheVehicle = true;};
			} forEach _vehicles;

			if(!loadTheVehicle) exitWith {};

			latestVehicle = _type createVehicle _pos;
			latestVehicle setDir _dir;
			latestVehicle setFuel _fuel;
			latestVehicle setDamage _damage;
			latestVehicle setVariable ["owner",_owner];
			if(_inVeh) then {player moveInDriver latestVehicle;};
		};
	};
	if(_varName == 'backpackC' || _varName == 'backPackB') then {if(_varValue != "") then {removeBackpack player; player addBackpack _varValue;};};
	if(_varName == 'weaponsC' || _varName == 'weaponsB') then {if(count _varValue != 0) then {removeAllWeapons player; {player addWeapon _x} forEach _varValue;};};
	if(_varName == 'magazinesPlayerC' || _varName == 'magazinesPlayerB') then {if(count _varValue > 0) then {{player removeMagazine _x} forEach (magazines player); {player addMagazine _x} forEach _varValue; reload player};};
	if(_varName == 'vestplayerC' || _varName == 'vestplayerB') then {removeVest player; player addVest _varValue};
	if(_varName == 'outfitC' || _varName == 'outfitB') then {removeUniform player; player forceaddUniform _varValue};
	if(_varName == 'positionC' || _varName == 'positionB') then {(vehicle player) setPosATL _varValue;};
	if(_varName == 'directionC' || _varName == 'directionB') then {(vehicle player) setDir _varValue;};




	if(_varName == 'backpackD' || _varName == 'backPackB') then {if(_varValue != "") then {removeBackpack player; player addBackpack _varValue;};};
	if(_varName == 'weaponsD' || _varName == 'weaponsB') then {if(count _varValue != 0) then {removeAllWeapons player; {player addWeapon _x} forEach _varValue;};};
	if(_varName == 'magazinesPlayerD' || _varName == 'magazinesPlayerB') then {if(count _varValue > 0) then {{player removeMagazine _x} forEach (magazines player); {player addMagazine _x} forEach _varValue; reload player};};
	if(_varName == 'vestplayerD' || _varName == 'vestplayerB') then {removeVest player; player addVest _varValue};
	if(_varName == 'outfitD' || _varName == 'outfitB') then {removeUniform player; player forceaddUniform _varValue};
	if(_varName == 'outfitBA' || _varName == 'outfitDA') then {removeheadgear player; player addheadgear _varValue};
	if(_varName == 'positionD' || _varName == 'positionB') then {(vehicle player) setPosATL _varValue;};
	if(_varName == 'directionD' || _varName == 'directionB') then {(vehicle player) setDir _varValue;};



	if(_varName == 'moneyPlayer') then {player setVariable ["mymoney",_varValue,true];};
	if(_varName == 'moneyAccount') then {player setVariable ["bankmoney",_varValue,true];};
			if(_varName == 'usedspace') then {player setVariable ["usedspace",_varValue,true];};
		if(_varName == 'handcuff') then {player setVariable ["handcuff",_varValue,true];};
			if(_varName == 'engineerciv') then {player setVariable ["engineerciv",_varValue,true];};



			if(_varName == 'meth1') then {player setVariable ["meth1",_varValue,true];};
			if(_varName == 'meth2') then {player setVariable ["meth2",_varValue,true];};
			if(_varName == 'meth2') then {player setVariable ["meth3",_varValue,true];};
			if(_varName == 'meth3') then {player setVariable ["meth4",_varValue,true];};




		if(_varName == 'itemwhale') then {player setVariable ["itemwhale",_varValue,true];};
	if(_varName == 'itemunpheroin') then {player setVariable ["itemunpheroin",_varValue,true];};
		if(_varName == 'phone') then {player setVariable ["phone",_varValue,true];};
		if(_varName == 'AAFar1') then {player setVariable ["AAFar1",_varValue,true];};
		if(_varName == 'AAFar2') then {player setVariable ["AAFar2",_varValue,true];};
		if(_varName == 'rebelhmg') then {player setVariable ["rebelhmg",_varValue,true];};
		if(_varName == 'AAFarheli3') then {player setVariable ["AAFarheli3",_varValue,true];};
				if(_varName == 'crack') then {player setVariable ["crack",_varValue,true];};

			if(_varName == 'emsheliad') then {player setVariable ["emsheliad",_varValue,true];};
			if(_varName == 'planead1') then {player setVariable ["planead1",_varValue,true];};
			if(_varName == 'planead2') then {player setVariable ["planead2",_varValue,true];};


			if(_varName == 'fordcop1') then {player setVariable ["fordcop1",_varValue,true];};
			if(_varName == 'fordcop2') then {player setVariable ["fordcop2",_varValue,true];};


			if(_varName == 'fordciv1') then {player setVariable ["fordciv1",_varValue,true];};
			if(_varName == 'fordciv2') then {player setVariable ["fordciv2",_varValue,true];};
			if(_varName == 'fordciv3') then {player setVariable ["fordciv3",_varValue,true];};
			if(_varName == 'fordciv4') then {player setVariable ["fordciv4",_varValue,true];};
				if(_varName == 'UCimpala') then {player setVariable ["UCimpala",_varValue,true];};
						if(_varName == 'pluscop1') then {player setVariable ["pluscop1",_varValue,true];};
						if(_varName == 'pluscop2') then {player setVariable ["pluscop2",_varValue,true];};
								if(_varName == 'pluscop3') then {player setVariable ["pluscop3",_varValue,true];};



			if(_varName == 'tactical1') then {player setVariable ["tactical1",_varValue,true];};	
			if(_varName == 'tactical2') then {player setVariable ["tactical2",_varValue,true];};	
			if(_varName == 'tactical3') then {player setVariable ["tactical3",_varValue,true];};	

			if(_varName == 'tactical4') then {player setVariable ["tactical4",_varValue,true];};	
			if(_varName == 'tactical5') then {player setVariable ["tactical5",_varValue,true];};	
			if(_varName == 'tactical6') then {player setVariable ["tactical6",_varValue,true];};	

			if(_varName == 'tactical7') then {player setVariable ["tactical7",_varValue,true];};	
			if(_varName == 'tactical8') then {player setVariable ["tactical8",_varValue,true];};	
			if(_varName == 'tactical9') then {player setVariable ["tactical9",_varValue,true];};	

					if(_varName == 'tactical10') then {player setVariable ["tactical10",_varValue,true];};	
					if(_varName == 'tactical11') then {player setVariable ["tactical11",_varValue,true];};	
						if(_varName == 'lockpick') then {player setVariable ["lockpick",_varValue,true];};	


									if(_varName == 'nowhite') then {player setVariable ["nowhite",_varValue,true];};	
									if(_varName == 'swwhite') then {player setVariable ["swwhite",_varValue,true];};	
					if(_varName == 'pluscop1') then {player setVariable ["pluscop1",_varValue,true];};	
if(_varName == 'pluscop2') then {player setVariable ["pluscop2",_varValue,true];};	
if(_varName == 'pluscop3') then {player setVariable ["pluscop3",_varValue,true];};		


			if(_varName == 'impalaciv1') then {player setVariable ["impalaciv1",_varValue,true];};
			if(_varName == 'impalaciv2') then {player setVariable ["impalaciv2",_varValue,true];};
			if(_varName == 'impalaciv3') then {player setVariable ["impalaciv3",_varValue,true];};
			if(_varName == 'impalaciv4') then {player setVariable ["impalaciv4",_varValue,true];};
			if(_varName == 'impalaciv5') then {player setVariable ["impalaciv5",_varValue,true];};


			if(_varName == 'audi1') then {player setVariable ["audi1",_varValue,true];};
			if(_varName == 'audi2') then {player setVariable ["audi2",_varValue,true];};
			if(_varName == 'audi3') then {player setVariable ["audi3",_varValue,true];};



			if(_varName == 'dodje1') then {player setVariable ["dodje1",_varValue,true];};
			if(_varName == 'dodje2') then {player setVariable ["dodje2",_varValue,true];};
			if(_varName == 'dodje3') then {player setVariable ["dodje3",_varValue,true];};
			if(_varName == 'dodje4') then {player setVariable ["dodje4",_varValue,true];};


			if(_varName == 'camaro1') then {player setVariable ["camaro1",_varValue,true];};
			if(_varName == 'camaro2') then {player setVariable ["camaro2",_varValue,true];};
			if(_varName == 'camaro3') then {player setVariable ["camaro3",_varValue,true];};
			if(_varName == 'camaro4') then {player setVariable ["camaro4",_varValue,true];};



	if(_varName == 'itemproheroin') then {player setVariable ["itemproheroin",_varValue,true];};
		if(_varName == 'itemunpcocaine') then {player setVariable ["itemunpcocaine",_varValue,true];};
		if(_varName == 'itemprococaine') then {player setVariable ["itemprococaine",_varValue,true];};
	if(_varName == 'itemgold') then {player setVariable ["itemgold",_varValue,true];};
	if(_varName == 'itemsteel') then {player setVariable ["itemsteel",_varValue,true];};
		if(_varName == 'itemweed') then {player setVariable ["itemweed",_varValue,true];};
	if(_varName == 'itemapple') then {player setVariable ["itemapple",_varValue,true];};
		if(_varName == 'itemfish') then {player setVariable ["itemfish",_varValue,true];};
					if(_varName == 'itemunpoil') then {player setVariable ["itemunpoil",_varValue,true];};
			if(_varName == 'itemprooil') then {player setVariable ["itemprooil",_varValue,true];};
		if(_varName == 'itemwood') then {player setVariable ["itemwood",_varValue,true];};
		if(_varName == 'itemwater') then {player setVariable ["itemwater",_varValue,true];};

	if(_varName == 'driverlicense') then {player setVariable ["driverlicense",_varValue,true];};
	if(_varName == 'huntinglicense') then {player setVariable ["huntinglicense",_varValue,true];};
	if(_varName == 'airlicense') then {player setVariable ["airlicense",_varValue,true];};
	if(_varName == 'boatlicense') then {player setVariable ["boatlicense",_varValue,true];};
	if(_varName == 'oilprocesslicense') then {player setVariable ["oilprocesslicense",_varValue,true];};
	if(_varName == 'riflelicense') then {player setVariable ["riflelicense",_varValue,true];};
	if(_varName == 'pistollicense') then {player setVariable ["pistollicense",_varValue,true];};
	if(_varName == 'iswanted') then {player setVariable ["iswanted",_varValue,true];};
			if(_varName == 'killer') then {player setVariable ["killer",_varValue,true];};
			if(_varName == 'robber') then {player setVariable ["robber",_varValue,true];};
		if(_varName == 'resis') then {player setVariable ["resis",_varValue,true];};
		if(_varName == 'break') then {player setVariable ["break",_varValue,true];};
		if(_varName == 'rebac') then {player setVariable ["rebac",_varValue,true];};








	if(_varName == 'emslicense') then {player setVariable ["emslicense",_varValue,true];};
	if(_varName == 'house') then {player setVariable ["house",_varValue,true];};
		if(_varName == 'houselow') then {player setVariable ["houselow",_varValue,true];};
		if(_varName == 'housemed') then {player setVariable ["housemed",_varValue,true];};





if(_varName == 'offroadcivus') then {player setVariable ["offroadcivus",_varValue,true];};
	if(_varName == 'quadciv') then {player setVariable ["quadciv",_varValue,true];};	
			if(_varName == 'kamazciv') then {player setVariable ["kamazciv",_varValue,true];};	
				if(_varName == 'Hatchbackciv') then {player setVariable ["Hatchbackciv",_varValue,true];};
					if(_varName == 'VANtransportciv') then {player setVariable ["VANtransportciv",_varValue,true];};
					if(_varName == 'Kamazopenciv') then {player setVariable ["Kamazopenciv",_varValue,true];};
					if(_varName == 'Fueltruckciv') then {player setVariable ["Fueltruckciv",_varValue,true];};

if(_varName == 'Stridercop') then {player setVariable ["Stridercop",_varValue,true];};
if(_varName == 'Huntercop') then {player setVariable ["Huntercop",_varValue,true];};
if(_varName == 'rebel') then {player setVariable ["rebel",_varValue,true];};
if(_varName == 'swatlicense2') then {player setVariable ["swatlicense2",_varValue,true];};


if(_varName == 'waterLevel') then {player setVariable ["waterLevel",_varValue,true];};
if(_varName == 'foodLevel') then {player setVariable ["foodLevel",_varValue,true];};
if(_varName == 'cop12cloth') then {player setVariable ["cop12cloth",_varValue,true];};
if(_varName == 'cop14cloth') then {player setVariable ["cop14cloth",_varValue,true];};


if(_varName == 'cop1cloth') then {player setVariable ["cop1cloth",_varValue,true];};
if(_varName == 'cop2cloth') then {player setVariable ["cop2cloth",_varValue,true];};
if(_varName == 'cop3cloth') then {player setVariable ["cop3cloth",_varValue,true];};
if(_varName == 'cop4cloth') then {player setVariable ["cop4cloth",_varValue,true];};
if(_varName == 'cop5cloth') then {player setVariable ["cop5cloth",_varValue,true];};
if(_varName == 'cop6cloth') then {player setVariable ["cop6cloth",_varValue,true];};
if(_varName == 'cop7cloth') then {player setVariable ["cop7cloth",_varValue,true];};			

if(_varName == 'cop8cloth') then {player setVariable ["cop8cloth",_varValue,true];};			
if(_varName == 'cop15cloth') then {player setVariable ["cop15cloth",_varValue,true];};


if(_varName == 'cop9cloth') then {player setVariable ["cop9cloth",_varValue,true];};
if(_varName == 'cop10cloth') then {player setVariable ["cop10cloth",_varValue,true];};
if(_varName == 'cop11cloth') then {player setVariable ["cop11cloth",_varValue,true];};


		if(_varName == 'SUVciv') then {player setVariable ["SUVciv",_varValue,true];};
if(_varName == 'VANtruckciv') then {player setVariable ["VANtruckciv",_varValue,true];};
		if(_varName == 'Truckrepairciv') then {player setVariable ["Truckrepairciv",_varValue,true];};
		if(_varName == 'hhOffroadciv') then {player setVariable ["hhOffroadciv",_varValue,true];};

	if(_varName == 'birdsave') then {player setVariable ["birdsave",_varValue,true];};
			if(_varName == 'abirdsave') then {player setVariable ["abirdsave",_varValue,true];};
			if(_varName == 'ghsave') then {player setVariable ["ghsave",_varValue,true];};
			if(_varName == 'ka60save') then {player setVariable ["ka60save",_varValue,true];};
			if(_varName == 'trhelsave') then {player setVariable ["trhelsave",_varValue,true];};
			if(_varName == 'atrhelsave') then {player setVariable ["atrhelsave",_varValue,true];};


	if(_varName == 'anp') then {player setVariable ["anp",_varValue,true];};
	if(_varName == 'fnpfac23') then {player setVariable ["fnpfac23",_varValue,true];};
	if(_varName == 'lbffac23') then {player setVariable ["lbffac23",_varValue,true];};
	if(_varName == 'vnp') then {player setVariable ["vnp",_varValue,true];};
	if(_varName == 'wffac23') then {player setVariable ["wffac23",_varValue,true];};
	if(_varName == 'ckffac23') then {player setVariable ["ckffac23",_varValue,true];};
}
else
{
	call compile format ["%1 = %2",_varName,_varValue];
};
};

//==================================================================================================================================================================================================
saveFuncsLoaded = true;

saveLoop.sqf

//ADD STATS YOU WANT TO CONTINUOUSLY SAVE, HERE
waitUntil {!isNil "statsLoaded"};

if(saveWest) then
{
[] spawn 
{
	while {true} do
	{
		sleep 1;
		//player globalChat "Cop Stats Saved";
		["weaponsB", weapons player] call fn_SaveStat;
		["magazinesPlayerB", magazines player] call fn_SaveStat;
		["outfitB", uniform player] call fn_SaveStat;
		["outfitBA", headgear player] call fn_SaveStat;

		["vestplayerB", vest player] call fn_SaveStat;
		["backpackPlayerB", backpack player] call fn_SaveStat;
		["positionB", getPosATL vehicle player] call fn_SaveStat;
		["directionB", direction vehicle player] call fn_SaveStat;
		["backpackB",backpack player] call fn_SaveStat;
		if(!isNil "latestVehicle") then
		{
			//[latestVehicle] call fn_SaveVehicle;
		};
	};
};
};

if(saveeast) then
{
[] spawn 
{
	while {true} do
	{
	sleep 1;
		//player globalChat "Reb Stats Saved";
		["weaponsD", weapons player] call fn_SaveStat;
		["magazinesPlayerD", magazines player] call fn_SaveStat;
		["outfitD", uniform player] call fn_SaveStat;

		["vestplayerD", vest player] call fn_SaveStat;
		["backpackPlayerD", backpack player] call fn_SaveStat;
		["positionD", getPosATL vehicle player] call fn_SaveStat;
		["directionD", direction vehicle player] call fn_SaveStat;
		["backpackD",backpack player] call fn_SaveStat;
		if(!isNil "latestVehicle") then
		{
			//[latestVehicle] call fn_SaveVehicle;
		};
	};
};
};

if(saveCiv) then
{
[] spawn 
{
	while {true} do
	{
		sleep 1;
		//player globalChat "Civ Stats Saved";
		["weaponsC", weapons player] call fn_SaveStat;
		["magazinesPlayerC", magazines player] call fn_SaveStat;
		["outfitC", uniform player] call fn_SaveStat;
					["outfitDA", headgear player] call fn_SaveStat;
		["vestplayerC", vest player] call fn_SaveStat;
		["backpackPlayerC", backpack player] call fn_SaveStat;
		["positionC", getPosATL vehicle player] call fn_SaveStat;
		["directionC", direction vehicle player] call fn_SaveStat;
		["backpackC",backpack player] call fn_SaveStat;
		if(!isNil "latestVehicle") then
		{
			//[latestVehicle] call fn_SaveVehicle;
		};
	};
};
};

[] spawn
{
while {true} do
{
	sleep 1;
	//player globalChat "Life Stats Saved";
	["moneyPlayer", (player getVariable 'mymoney')] call fn_SaveStat;
	["moneyAccount", (player getVariable 'bankmoney')] call fn_SaveStat;
	["usedspace", (player getVariable 'usedspace')] call fn_SaveStat;

				["handcuff", (player getVariable 'handcuff')] call fn_SaveStat;
	["engineerciv", (player getVariable 'engineerciv')] call fn_SaveStat;

	["meth1", (player getVariable 'meth1')] call fn_SaveStat;
	["meth2", (player getVariable 'meth2')] call fn_SaveStat;
	["meth3", (player getVariable 'meth3')] call fn_SaveStat;
	["meth4", (player getVariable 'meth4')] call fn_SaveStat;
		["itemwhale", (player getVariable 'itemwhale')] call fn_SaveStat;
	["itemunpheroin", (player getVariable 'itemunpheroin')] call fn_SaveStat;
		["itemproheroin", (player getVariable 'itemproheroin')] call fn_SaveStat;
		["phone", (player getVariable 'phone')] call fn_SaveStat;
				["crack", (player getVariable 'crack')] call fn_SaveStat;
			["AAFar1", (player getVariable 'AAFar1')] call fn_SaveStat;
			["AAFar2", (player getVariable 'AAFar2')] call fn_SaveStat;
			["rebelhmg", (player getVariable 'rebelhmg')] call fn_SaveStat;
			["AAFarheli3", (player getVariable 'AAFarheli3')] call fn_SaveStat;

					["emsheliad", (player getVariable 'emsheliad')] call fn_SaveStat;
					["planead1", (player getVariable 'planead1')] call fn_SaveStat;
					["planead2", (player getVariable 'planead2')] call fn_SaveStat;

			["UCimpala", (player getVariable 'UCimpala')] call fn_SaveStat;
			["pluscop1", (player getVariable 'pluscop1')] call fn_SaveStat;
				["pluscop2", (player getVariable 'pluscop2')] call fn_SaveStat;

				["pluscop3", (player getVariable 'pluscop3')] call fn_SaveStat;

			["tactical1", (player getVariable 'tactical1')] call fn_SaveStat;
			["tactical2", (player getVariable 'tactical2')] call fn_SaveStat;
			["tactical3", (player getVariable 'tactical3')] call fn_SaveStat;

			["tactical4", (player getVariable 'tactical4')] call fn_SaveStat;
			["tactical5", (player getVariable 'tactical5')] call fn_SaveStat;
			["tactical6", (player getVariable 'tactical6')] call fn_SaveStat;

			["tactical7", (player getVariable 'tactical7')] call fn_SaveStat;
			["tactical8", (player getVariable 'tactical8')] call fn_SaveStat;
			["tactical9", (player getVariable 'tactical9')] call fn_SaveStat;
			["tactical10", (player getVariable 'tactical10')] call fn_SaveStat;
			["tactical11", (player getVariable 'tactical11')] call fn_SaveStat;
				["lockpick", (player getVariable 'lockpick')] call fn_SaveStat;



				["nowhite", (player getVariable 'nowhite')] call fn_SaveStat;
				["swwhite", (player getVariable 'swwhite')] call fn_SaveStat;

				["pluscop1", (player getVariable 'pluscop1')] call fn_SaveStat;
				["pluscop2", (player getVariable 'pluscop2')] call fn_SaveStat;
				["pluscop3", (player getVariable 'pluscop3')] call fn_SaveStat;






					["fordcop1", (player getVariable 'fordcop1')] call fn_SaveStat;
					["fordcop2", (player getVariable 'fordcop2')] call fn_SaveStat;

					["fordciv1", (player getVariable 'fordciv1')] call fn_SaveStat;
					["fordciv2", (player getVariable 'fordciv2')] call fn_SaveStat;
					["fordciv3", (player getVariable 'fordciv3')] call fn_SaveStat;
					["fordciv4", (player getVariable 'fordciv4')] call fn_SaveStat;

					["impalaciv1", (player getVariable 'impalaciv1')] call fn_SaveStat;
					["impalaciv2", (player getVariable 'impalaciv2')] call fn_SaveStat;
					["impalaciv3", (player getVariable 'impalaciv3')] call fn_SaveStat;
					["impalaciv4", (player getVariable 'impalaciv4')] call fn_SaveStat;
					["impalaciv5", (player getVariable 'impalaciv5')] call fn_SaveStat;

					["audi1", (player getVariable 'audi1')] call fn_SaveStat;
					["audi2", (player getVariable 'audi2')] call fn_SaveStat;
					["audi3", (player getVariable 'audi3')] call fn_SaveStat;

					["dodje1", (player getVariable 'dodje1')] call fn_SaveStat;
					["dodje2", (player getVariable 'dodje2')] call fn_SaveStat;
					["dodje3", (player getVariable 'dodje3')] call fn_SaveStat;
					["dodje4", (player getVariable 'dodje4')] call fn_SaveStat;

					["camaro1", (player getVariable 'camaro1')] call fn_SaveStat;
					["camaro2", (player getVariable 'camaro2')] call fn_SaveStat;
					["camaro3", (player getVariable 'camaro3')] call fn_SaveStat;
					["camaro4", (player getVariable 'camaro4')] call fn_SaveStat;








		["itemunpcocaine", (player getVariable 'itemunpcocaine')] call fn_SaveStat;
		["itemprococaine", (player getVariable 'itemprococaine')] call fn_SaveStat;
	["itemgold", (player getVariable 'itemgold')] call fn_SaveStat;
["itemsteel", (player getVariable 'itemsteel')] call fn_SaveStat;
["itemweed", (player getVariable 'itemweed')] call fn_SaveStat;
["itemapple", (player getVariable 'itemapple')] call fn_SaveStat;
["itemfish", (player getVariable 'itemfish')] call fn_SaveStat;
["itemunpoil", (player getVariable 'itemunpoil')] call fn_SaveStat;
["itemprooil", (player getVariable 'itemprooil')] call fn_SaveStat;
["itemwood", (player getVariable 'itemwood')] call fn_SaveStat;
["itemwater", (player getVariable 'itemwater')] call fn_SaveStat;
["rebel", (player getVariable 'rebel')] call fn_SaveStat;
["swatlicense2", (player getVariable 'swatlicense2')] call fn_SaveStat;


	//license saving

			["robber", player getVariable "robber"] call fn_SaveStat;
		["killer", player getVariable "killer"] call fn_SaveStat;
					["resis", player getVariable "resis"] call fn_SaveStat;
					["break", player getVariable "break"] call fn_SaveStat;
					["rebac", player getVariable "rebac"] call fn_SaveStat;




	["iswanted", player getVariable "iswanted"] call fn_SaveStat;
	["driverlicense", player getVariable "driverlicense"] call fn_SaveStat;
	["huntinglicense", player getVariable "huntinglicense"] call fn_SaveStat;
	["airlicense", player getVariable "airlicense"] call fn_SaveStat;
	["boatlicense", player getVariable "boatlicense"] call fn_SaveStat;
	["oilprocesslicense", player getVariable "oilprocesslicense"] call fn_SaveStat;
	["riflelicense", player getVariable "riflelicense"] call fn_SaveStat;
	["pistollicense", player getVariable "pistollicense"] call fn_SaveStat;
		["emslicense", player getVariable "emslicense"] call fn_SaveStat;
				["house", player getVariable "house"] call fn_SaveStat;
							["houselow", player getVariable "houselow"] call fn_SaveStat;
							["housemed", player getVariable "housemed"] call fn_SaveStat;



["offroadcivus", player getVariable "offroadcivus"] call fn_SaveStat;
["quadciv", player getVariable "quadciv"] call fn_SaveStat;		
["kamazciv", player getVariable "kamazciv"] call fn_SaveStat;	
	["Hatchbackciv", player getVariable "Hatchbackciv"] call fn_SaveStat;			
		["VANtransportciv", player getVariable "VANtransportciv"] call fn_SaveStat;	
			["Kamazopenciv", player getVariable "Kamazopenciv"] call fn_SaveStat;	
			["Fueltruckciv", player getVariable "Fueltruckciv"] call fn_SaveStat;	

			["SUVciv", player getVariable "SUVciv"] call fn_SaveStat;	
			["VANtruckciv", player getVariable "VANtruckciv"] call fn_SaveStat;	
			["Truckrepairciv", player getVariable "Truckrepairciv"] call fn_SaveStat;	
			["hhOffroadciv", player getVariable "hhOffroadciv"] call fn_SaveStat;	

				["Stridercop", player getVariable "Stridercop"] call fn_SaveStat;	
				["Huntercop", player getVariable "Huntercop"] call fn_SaveStat;	
								["waterLevel", player getVariable "waterLevel"] call fn_SaveStat;	
				["foodLevel", player getVariable "foodLevel"] call fn_SaveStat;	
				["cop12cloth", player getVariable "cop12cloth"] call fn_SaveStat;	
					["cop14cloth", player getVariable "cop14cloth"] call fn_SaveStat;	


			["cop1cloth", player getVariable "cop1cloth"] call fn_SaveStat;	
			["cop2cloth", player getVariable "cop2cloth"] call fn_SaveStat;	
			["cop3cloth", player getVariable "cop3cloth"] call fn_SaveStat;	
			["cop4cloth", player getVariable "cop4cloth"] call fn_SaveStat;	
			["cop5cloth", player getVariable "cop5cloth"] call fn_SaveStat;	
			["cop6cloth", player getVariable "cop6cloth"] call fn_SaveStat;	
			["cop7cloth", player getVariable "cop7cloth"] call fn_SaveStat;	

					["cop9cloth", player getVariable "cop9cloth"] call fn_SaveStat;	
					["cop10cloth", player getVariable "cop10cloth"] call fn_SaveStat;	
					["cop11cloth", player getVariable "cop11cloth"] call fn_SaveStat;	
				["cop8cloth", player getVariable "cop8cloth"] call fn_SaveStat;	
						["cop15cloth", player getVariable "cop15cloth"] call fn_SaveStat;	

				["birdsave", player getVariable "birdsave"] call fn_SaveStat;	
["ka60save", player getVariable "ka60save"] call fn_SaveStat;	
				["ghsave", player getVariable "ghsave"] call fn_SaveStat;	
				["abirdsave", player getVariable "abirdsave"] call fn_SaveStat;	
				["trhelsave", player getVariable "trhelsave"] call fn_SaveStat;	
			["atrhelsave", player getVariable "atrhelsave"] call fn_SaveStat;	


			["anp", player getVariable "anp"] call fn_SaveStat;		
				["fnpfac23", player getVariable "fnpfac23"] call fn_SaveStat;	
				["lbffac23", player getVariable "lbffac23"] call fn_SaveStat;	
					["vnp", player getVariable "vnp"] call fn_SaveStat;	
						["wffac23", player getVariable "wffac23"] call fn_SaveStat;	
							["ckffac23", player getVariable "ckffac23"] call fn_SaveStat;	
};
};

Any suggestions to modify it with the base saving?

Share this post


Link to post
Share on other sites
Guest

killzone_kid,
 
Thankyou for sharing the right format to save objects position & orientation on the database.
 
I was in a many hours quest to find a save format. All the tested combination leaded to some errors after server restart and database pull.

I come from Arma 2 OA and was not aware of the getPosWorld/setPosWorld function.

 

No noticeable error in the object position!

Share this post


Link to post
Share on other sites

killzone_kid,

 

Thankyou for sharing the right format to save objects position & orientation on the database.

 

I was in a many hours quest to find a save format. All the tested combination leaded to some errors after server restart and database pull.

I come from Arma 2 OA and was not aware of the getPosWorld/setPosWorld function.

 

No noticeable error in the object position!

In Arma 3 those commands were created on special request from community because of this feature

Share this post


Link to post
Share on other sites

Speaking of saving stuff...

 

I read somewhere that it was impossible to save profileNameSpace on a dedicated server; but I've recently been told however that this now works on Arma3.

Anyone can confirm that it's safe to fiddle with profileNameSpace on a dedi?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×