Code:
//CheatEngine Injection Scan
if (_Settings select 20) then
{
private["_Loads","_Displays","_itemCount"];
_Displays = ["RscDisplayInventory","RscDisplayMainMap","RscDisplayDiary","RscDisplayOptions",
"RscDisplayGetReady","RscDisplayOptionsVideo","RscDisplayOptionsAudio",
"RscDisplayOptionsLayout","RscDisplayMicSensitivityOptions","RscDisplayConfigure",
"RscDisplayConfigureControllers","RscDisplayCustomizeController","RscDisplayJoystickSchemes",
"RscDisplayConfigureAction","RscDisplayGameOptions","RscMiniMap","RscMiniMapSmall",
"RscDisplayControlSchemes","RscDisplayFieldManual","RscDisplayPassword",
"RscDisplayPassword","RscDisplayServerGetReady","RscDisplayClientGetReady",
"RscDisplayRespawn","RscDisplayLoading","RscDisplayStart","RscDisplayClient"];
_itemCount = (count _Displays) - 1;
_Loads = [];
for "_i" from 0 to _itemCount do
{
_Loads = _Loads + [(compile((configfile >> (_Displays select _i) >> "onLoad") call BIS_fnc_getCfgData))];
_Loads = _Loads + [(compile((configfile >> (_Displays select _i) >> "onUnload") call BIS_fnc_getCfgData))];
};
BASIX_CheatEngine_SCANNER = compileFinal (str(_Loads));
publicVariable "BASIX_CheatEngine_SCANNER";
[{
if !(isServer) then
{
_Settings = call BASIX_SETTINGS;
if ((_Settings select 11) && ((getPlayerUID player) in (_Settings select 12))) exitWith {};
while{true}do
{
private["_Loads","_Displays","_itemCount"];
_Displays = ["RscDisplayInventory","RscDisplayMainMap","RscDisplayDiary","RscDisplayOptions",
"RscDisplayGetReady","RscDisplayOptionsVideo","RscDisplayOptionsAudio",
"RscDisplayOptionsLayout","RscDisplayMicSensitivityOptions","RscDisplayConfigure",
"RscDisplayConfigureControllers","RscDisplayCustomizeController","RscDisplayJoystickSchemes",
"RscDisplayConfigureAction","RscDisplayGameOptions","RscMiniMap","RscMiniMapSmall",
"RscDisplayControlSchemes","RscDisplayFieldManual","RscDisplayPassword",
"RscDisplayServerGetReady","RscDisplayClientGetReady",
"RscDisplayRespawn","RscDisplayLoading","RscDisplayStart","RscDisplayClient"];
_Loads = (call BASIX_CheatEngine_SCANNER);
_itemCount = (count _Displays) - 1;
for "_i" from 0 to _itemCount do
{
if !((compile((configfile >> (_Displays select _i) >> "onLoad") call BIS_fnc_getCfgData)) in _Loads) exitWith
{
_reason = format ["CheatEngine Modified Config (%1)",(_Displays select _i)];
_reason spawn BASIX_BAN_ADD;
sleep 0.1;
waitUntil {!(isNull(findDisplay 46))}; (findDisplay 46) closeDisplay 0;
};
if !((compile((configfile >> (_Displays select _i) >> "onUnload") call BIS_fnc_getCfgData)) in _Loads) exitWith
{
_reason = format ["CheatEngine Modified Config (%1)",(_Displays select _i)];
_reason spawn BASIX_BAN_ADD;
sleep 0.1;
waitUntil {!(isNull(findDisplay 46))}; (findDisplay 46) closeDisplay 0;
};
};
sleep 120;
};
}
}, "BIS_fnc_spawn", true, true] spawn BIS_fnc_MP;
};