mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
* fix epoch_tempKeys.sqf making massive arrays. epoch_tempKeys was making a massive array every time it was called due to them setting the array size to the _ownerKeyId instead of count _temp_keys_names. For example: Call this function 10k times in testkit and see it lag the client due to making a massive array over and over again. ```"[[["9379"],[<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<n "Test script finished. Code took 0.440002 seconds to run" ``` With fixed code: ```"[[["9379"],["Yellow Key (65d0)"]],false]" "Test script finished. Code took 0.000991821 seconds to run" ``` * Update fn_selfActions to support fixed epoch_tempKeys fix. Forgot this from my previous commit, this will select the right key now for displaying in the unlock_veh.sqf (I broke this with my previous commit) * Rework
16 lines
633 B
Plaintext
16 lines
633 B
Plaintext
private ["_temp_keys","_temp_keys_names","_key_colors","_ownerKeyId","_ownerKeyName"];
|
|
_temp_keys = [];
|
|
_temp_keys_names = [];
|
|
|
|
_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
|
|
|
|
{
|
|
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
|
|
_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
|
|
_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
|
|
_temp_keys_names set [count _temp_keys_names,_ownerKeyName];
|
|
_temp_keys set [count _temp_keys,str(_ownerKeyId)];
|
|
};
|
|
} count (items player);
|
|
|
|
[_temp_keys,_temp_keys_names] |