From 2db604330f46e4cdf00054d13727131467215bb0 Mon Sep 17 00:00:00 2001 From: DoubleRepo <34832750+DoubleRepo@users.noreply.github.com> Date: Wed, 21 Mar 2018 11:12:49 +0100 Subject: [PATCH] Update ExileServer_object_tree_database_load.sqf --- .../ExileServer_object_tree_database_load.sqf | 95 +++++++++++++++---- 1 file changed, 77 insertions(+), 18 deletions(-) diff --git a/Server Addon/TreeLogging/functions/ExileServer_object_tree_database_load.sqf b/Server Addon/TreeLogging/functions/ExileServer_object_tree_database_load.sqf index 7146402..67a139a 100644 --- a/Server Addon/TreeLogging/functions/ExileServer_object_tree_database_load.sqf +++ b/Server Addon/TreeLogging/functions/ExileServer_object_tree_database_load.sqf @@ -14,22 +14,57 @@ _data = format ["loadTree:%1", _treeID] call ExileServer_system_database_query_s _position = [_data select 0, _data select 1, _data select 2]; _Regrow = _data select 3; (nearestTerrainObjects [_position, [], 1, false, true]) params [["_Tree", objNull, [objNull]]]; + +// I don't want to fire off every single mark tree q every restart. +// So, lets set something in the namespacesomething and each X times fire off to db and reset missionnamespace var to 0. +// So lets just assume one restarts his server every 4 hours. + +FuckingTrees = profileNamespace getVariable "FuckingTrees"; + +if (isNil "FuckingTrees") then +{ + FuckingTrees = 0; + profileNamespace setVariable ["FuckingTrees",FuckingTrees]; + saveProfileNamespace; + FuckNo = false; +} +else +{ + if (FuckingTrees >= FuckingWhen) then + { + FuckingTrees = 0; + profileNamespace setVariable ["FuckingTrees",FuckingTrees]; + saveProfileNamespace; + FuckNo = true; + } else { + FuckNo = false; + FuckingTrees = FuckingTrees + 1; + profileNamespace setVariable ["FuckingTrees",FuckingTrees]; + saveProfileNamespace; + }; +}; switch (_Regrow) do { case 0: { - format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + if (DamnTreeDebug) then + { + format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + }; _Tree hideObjectGlobal true; - _randBush = selectRandom ["a3\plants_f\clutter\c_bigFallenBranches_pine03.p3d","a3\plants_f\clutter\c_bigFallenBranches_pine02.p3d","a3\plants_f\clutter\c_bigFallenBranches_pine.p3d"]; _BushObject = createSimpleObject [_randBush,_position]; _BushObject setDir random 360; _BushObject setPosATL [position _BushObject select 0,position _BushObject select 1, 0]; _BushObject setVectorUp surfaceNormal position _BushObject; - format ["Created replacement bush at Tree:%1 with NETID: NONE", _BushObject] call ExileServer_TreeLogging_log; - - format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; - + if (DamnTreeDebug) then + { + format ["Created replacement bush at Tree:%1 with NETID: NONE", _BushObject] call ExileServer_TreeLogging_log; + }; + if (FuckNo) then + { + format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + }; }; case 1: { @@ -40,13 +75,21 @@ switch (_Regrow) do _BushObject setDir random 360; _BushObject setPosATL [position _BushObject select 0,position _BushObject select 1, 0]; _BushObject setVectorUp surfaceNormal position _BushObject; - format ["Created replacement bush at Tree:%1 with NETID: NONE", _BushObject] call ExileServer_TreeLogging_log; - - format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + if (DamnTreeDebug) then + { + format ["Created replacement bush at Tree:%1 with NETID: NONE", _BushObject] call ExileServer_TreeLogging_log; + }; + if (FuckNo) then + { + format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + }; }; case 2: { - format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + if (DamnTreeDebug) then + { + format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + }; _Tree hideObjectGlobal true; _BushObject = createSimpleObject ["a3\plants_f\bush\b_neriumo2d_f.p3d",_position]; @@ -56,13 +99,21 @@ switch (_Regrow) do _BushObject setVectorUp surfaceNormal position _BushObject; //RegrowObjectArray pushBack _BushId; //RegrowObjectArrayServer pushBack [_treeID,_BushId]; - format ["Created replacement bush at Tree:%1 with NETID %2", _BushObject, _BushId] call ExileServer_TreeLogging_log; - - format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + if (DamnTreeDebug) then + { + format ["Created replacement bush at Tree:%1 with NETID %2", _BushObject, _BushId] call ExileServer_TreeLogging_log; + }; + if (FuckNo) then + { + format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + }; }; case 3: { - format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + if (DamnTreeDebug) then + { + format ["Hiding Tree:%1 @ %2", _Tree, _Position] call ExileServer_TreeLogging_log; + }; _Tree hideObjectGlobal true; _randBush = selectRandom ["Exile_Plant_BrownBush","Exile_Plant_GreenBush3","Exile_Plant_GreenBush5"]; @@ -73,14 +124,22 @@ switch (_Regrow) do _BushObject setVectorUp surfaceNormal position _BushObject; //RegrowObjectArray pushBack _BushId; //RegrowObjectArrayServer pushBack [_treeID,_BushId]; - format ["Created replacement bush at Tree:%1 with NETID %2", _BushObject, _BushId] call ExileServer_TreeLogging_log; - - format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + if (DamnTreeDebug) then + { + format ["Created replacement bush at Tree:%1 with NETID %2", _BushObject, _BushId] call ExileServer_TreeLogging_log; + }; + if (FuckNo) then + { + format ["MarkTree:%1", _treeID] call ExileServer_system_database_query_fireAndForget; + }; }; case 4: { // HAHA THE TREE REVIVES! - format ["REVIVE Tree:%1 @ %2 with ID: %3", _Tree, _Position, _treeID] call ExileServer_TreeLogging_log; + if (DamnTreeDebug) then + { + format ["REVIVE Tree:%1 @ %2 with ID: %3", _Tree, _Position, _treeID] call ExileServer_TreeLogging_log; + }; format ["DeleteTree2:%1", _treeID] call ExileServer_system_database_query_fireAndForget; }; };