mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-21 02:46:29 +03:00
cache fixes and trader menu cache preload
This commit is contained in:
@@ -3,8 +3,6 @@ private ["_clientID","_character","_traderid","_retrader","_data","_result","_st
|
|||||||
_character = _this select 0;
|
_character = _this select 0;
|
||||||
_traderid = _this select 1;
|
_traderid = _this select 1;
|
||||||
|
|
||||||
_retrader = [];
|
|
||||||
|
|
||||||
_clientID = owner _character;
|
_clientID = owner _character;
|
||||||
diag_log ("HIVE: Menu Request by ClientID: "+ str(_clientID));
|
diag_log ("HIVE: Menu Request by ClientID: "+ str(_clientID));
|
||||||
|
|
||||||
@@ -12,6 +10,9 @@ diag_log ("HIVE: Menu Request by ClientID: "+ str(_clientID));
|
|||||||
_retrader = call compile format["ServerTcache_%1;",_traderid];
|
_retrader = call compile format["ServerTcache_%1;",_traderid];
|
||||||
|
|
||||||
if(isNil "_retrader") then {
|
if(isNil "_retrader") then {
|
||||||
|
|
||||||
|
_retrader = [];
|
||||||
|
|
||||||
_key = format["CHILD:399:%1:",_traderid];
|
_key = format["CHILD:399:%1:",_traderid];
|
||||||
_data = "HiveEXT" callExtension _key;
|
_data = "HiveEXT" callExtension _key;
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ if(isNil "_retrader") then {
|
|||||||
_retrader set [count _retrader,_result];
|
_retrader set [count _retrader,_result];
|
||||||
};
|
};
|
||||||
//diag_log ("HIVE: Streamed " + str(_val) + " objects");
|
//diag_log ("HIVE: Streamed " + str(_val) + " objects");
|
||||||
call compile format["ServerTcache_%1 = %2;",_tid,_retrader];
|
call compile format["ServerTcache_%1 = %2;",_traderid,_retrader];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
private ["_result","_pos","_wsDone","_dir","_block","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_date","_script","_key","_outcome","_vehLimit","_hiveResponse","_objectCount","_codeCount","_objectArray"];
|
private ["_result","_pos","_wsDone","_dir","_block","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_date","_script","_key","_outcome","_vehLimit","_hiveResponse","_objectCount","_codeCount","_objectArray","_year","_month","_day","_hour","_minute","_data","_status","_val","_traderid","_retrader","_traderData","_id"];
|
||||||
[]execVM "\z\addons\dayz_server\system\s_fps.sqf"; //server monitor FPS (writes each ~181s diag_fps+181s diag_fpsmin*)
|
[]execVM "\z\addons\dayz_server\system\s_fps.sqf"; //server monitor FPS (writes each ~181s diag_fps+181s diag_fpsmin*)
|
||||||
|
|
||||||
dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");
|
dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");
|
||||||
@@ -250,6 +250,44 @@ if (isServer and isNil "sm_done") then {
|
|||||||
} forEach _objectArray;
|
} forEach _objectArray;
|
||||||
// # END OF STREAMING #
|
// # END OF STREAMING #
|
||||||
|
|
||||||
|
|
||||||
|
// preload server traders menu data into cache
|
||||||
|
{
|
||||||
|
// get tids
|
||||||
|
_traderData = call compile format["menu_%1;",_x];
|
||||||
|
if(!isNil "_traderData") then {
|
||||||
|
{
|
||||||
|
_traderid = _x select 1;
|
||||||
|
|
||||||
|
_retrader = [];
|
||||||
|
|
||||||
|
_key = format["CHILD:399:%1:",_traderid];
|
||||||
|
_data = "HiveEXT" callExtension _key;
|
||||||
|
|
||||||
|
diag_log "HIVE: Request sent";
|
||||||
|
|
||||||
|
//Process result
|
||||||
|
_result = call compile format ["%1",_data];
|
||||||
|
_status = _result select 0;
|
||||||
|
|
||||||
|
if (_status == "ObjectStreamStart") then {
|
||||||
|
_val = _result select 1;
|
||||||
|
//Stream Objects
|
||||||
|
diag_log ("HIVE: Commence Menu Streaming...");
|
||||||
|
for "_i" from 1 to _val do {
|
||||||
|
_data = "HiveEXT" callExtension _key;
|
||||||
|
_result = call compile format ["%1",_data];
|
||||||
|
_status = _result select 0;
|
||||||
|
_retrader set [count _retrader,_result];
|
||||||
|
};
|
||||||
|
//diag_log ("HIVE: Streamed " + str(_val) + " objects");
|
||||||
|
call compile format["ServerTcache_%1 = %2;",_traderid,_retrader];
|
||||||
|
};
|
||||||
|
|
||||||
|
} forEach (_traderData select 0);
|
||||||
|
};
|
||||||
|
} forEach serverTraders;
|
||||||
|
|
||||||
// spawn_vehicles
|
// spawn_vehicles
|
||||||
_vehLimit = MaxVehicleLimit - _totalvehicles;
|
_vehLimit = MaxVehicleLimit - _totalvehicles;
|
||||||
diag_log ("HIVE: Spawning # of Vehicles: " + str(_vehLimit));
|
diag_log ("HIVE: Spawning # of Vehicles: " + str(_vehLimit));
|
||||||
|
|||||||
Reference in New Issue
Block a user