From e2c2a2a76ac51a8692a387d76d38d49fd1d12b20 Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Tue, 20 Sep 2016 13:47:18 -0400 Subject: [PATCH] Fix 309 error for newly placed safe inventory See my comments on ae78fde and a3c3ccc The object_maintenance function is only for vanilla buildables and is currently not used. It immediately overwrites with a 306 call. --- .../compile/server_updateObject.sqf | 58 ++++++------------ Test Build/dayz_server.pbo | Bin 209111 -> 198825 bytes 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/SQF/dayz_server/compile/server_updateObject.sqf b/SQF/dayz_server/compile/server_updateObject.sqf index ac604f289..8a525738f 100644 --- a/SQF/dayz_server/compile/server_updateObject.sqf +++ b/SQF/dayz_server/compile/server_updateObject.sqf @@ -86,23 +86,17 @@ _object_inventory = { }; }; - //_previous = str(_object getVariable["lastInventory",[]]); //causes issues with door/plot management - //if (str _inventory != _previous) then { + _previous = str(_object getVariable["lastInventory",[]]); + if (str _inventory != _previous) then { _object setVariable["lastInventory",_inventory]; if (_objectID == "0") then { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; //set to invalid value if getVariable fails to prevent overwriting of coins in DB - _key = format["CHILD:309:%1:%2:%3:",_objectUID,_inventory,_coins]; - } else { - _key = format["CHILD:309:%1:%2:",_objectUID,_inventory]; - }; + _key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":"; } else { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; - _key = format["CHILD:303:%1:%2:%3:",_objectID,_inventory,_coins]; - } else { - _key = format["CHILD:303:%1:%2:",_objectID,_inventory]; - }; + _key = format["CHILD:303:%1:",_objectID] + str _inventory + ":"; + }; + if (Z_SingleCurrency) then { + _coins = _object getVariable [Z_MoneyVariable, -1]; //set to invalid value if getVariable fails to prevent overwriting of coins in DB + _key = _key + str _coins + ":"; }; #ifdef OBJECT_DEBUG @@ -110,7 +104,7 @@ _object_inventory = { #endif _key call server_hiveWrite; - //}; + }; }; _object_damage = { @@ -199,20 +193,10 @@ _object_maintenance = { _variables set [count _variables, ["padlockCombination", _accessArray]]; if (_objectID == "0") then { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; - _key = format["CHILD:309:%1:%2:%3:",_objectUID,_ownerArray,_coins]; - } else { - _key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray]; - }; + //_key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray]; _key = format["CHILD:306:%1:%2:%3:",_objectUID,[],0]; //Wont work just now. } else { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; - _key = format["CHILD:303:%1:%2:%3:",_objectID,_ownerArray,_coins]; - } else { - _key = format["CHILD:303:%1:%2:",_objectID,_ownerArray]; - }; + //_key = format["CHILD:303:%1:%2:",_objectID,_ownerArray]; _key = format["CHILD:306:%1:%2:%3:",_objectID,[],0]; }; @@ -223,7 +207,7 @@ _object_maintenance = { }; _object_variables = { - private ["_ownerArray","_key","_accessArray","_variables"]; + private ["_ownerArray","_key","_accessArray","_variables","_coins"]; _ownerArray = _object getVariable ["ownerArray",[]]; _accessArray = _object getVariable ["dayz_padlockCombination",[]]; @@ -236,19 +220,13 @@ _object_variables = { _variables set [count _variables, ["BuildLock", _lockedArray]]; if (_objectID == "0") then { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; - _key = format["CHILD:309:%1:%2:%3:",_objectUID,_variables,_coins]; - } else { - _key = format["CHILD:309:%1:%2:",_objectUID,_variables]; - }; + _key = format["CHILD:309:%1:%2:",_objectUID,_variables]; } else { - if (Z_SingleCurrency) then { - _coins = _object getVariable [Z_MoneyVariable, -1]; - _key = format["CHILD:303:%1:%2:%3:",_objectID,_variables,_coins]; - } else { - _key = format["CHILD:303:%1:%2:",_objectID,_variables]; - }; + _key = format["CHILD:303:%1:%2:",_objectID,_variables]; + }; + if (Z_SingleCurrency) then { + _coins = _object getVariable [Z_MoneyVariable, -1]; + _key = _key + str _coins + ":"; }; _key call server_hiveWrite; }; diff --git a/Test Build/dayz_server.pbo b/Test Build/dayz_server.pbo index fa547efa2abe771f55e8d816c6f5648e33d9742e..b8330c76907159997bb009224b277bb742c6b1e2 100644 GIT binary patch delta 2133 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 VzZ&}5TgAV8Xm>99T