Revert force coins update, Add seperate coins update

This reverts
ce75f87e1d
This commit is contained in:
oiad
2017-03-16 06:56:29 +13:00
parent bca17aa2d6
commit 8c42460ba9

View File

@@ -66,8 +66,7 @@ _object_position = {
};
_object_inventory = {
private ["_inventory","_key","_isNormal","_coins","_forceUpdate"];
_forceUpdate = false;
private ["_inventory","_key","_isNormal","_coins"];
if (_object isKindOf "TrapItems") then {
_inventory = [["armed",_object getVariable ["armed",false]]];
} else {
@@ -83,15 +82,13 @@ _object_inventory = {
_inventory = _object getVariable ["doorfriends", []]; //We're replacing the inventory with UIDs for this item
};
if (Z_SingleCurrency && {typeOf (_object) in DZE_MoneyStorageClasses}) then { _forceUpdate = true; };
if (_isNormal) then {
_inventory = [getWeaponCargo _object, getMagazineCargo _object, getBackpackCargo _object];
};
};
_previous = str(_object getVariable["lastInventory",[]]);
if ((str _inventory != _previous) || {_forceUpdate}) then {
if (str _inventory != _previous) then {
_object setVariable["lastInventory",_inventory];
if (_objectID == "0") then {
_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":";
@@ -245,6 +242,27 @@ _object_variables = {
_key call server_hiveWrite;
};
_object_coins = {
private ["_inventory","_key","_coins"];
_inventory = [getWeaponCargo _object, getMagazineCargo _object, getBackpackCargo _object];
_object setVariable["lastInventory",_inventory];
if (_objectID == "0") then {
_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":";
} else {
_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
diag_log format["DELETE: Deleted by KEY: %1",_key];
#endif
_key call server_hiveWrite;
};
_object setVariable ["lastUpdate",diag_ticktime,true];
switch (_type) do {
case "all": {
@@ -273,4 +291,7 @@ switch (_type) do {
case "objWallDamage": {
call _objWallDamage;
};
case "coins": {
call _object_coins;
};
};