Hallo zusammen!
Da immer mehr Leute danach fragen wie sie am besten SpyGlass restlos aus ihrer Missionsdatei entfernen könne, erklär ich euch das ganze hier einmal kurz.
Schritt 1:
Lösche deinen SpyGlass Ordner im Hauptverzeichnis deiner Missionsdatei.
Schritt 2:
Öffne die Datei "Functions.h" und entferne folgenden Eintrag aus der Datei:
class SpyGlass
{
tag = "SPY";
class Functions
{
file = "SpyGlass";
class cmdMenuCheck{};
class cookieJar{};
class menuCheck{};
class notifyAdmins{};
class observe{};
class payLoad{};
class variableCheck{};
class initSpy {};
};
};
Alles anzeigen
Schritt 3:
Anschließend öffnest du die Datei "description.ext" und entfernst dort folgenden Eintrag:
class SpyGlass
{
title = "The SpyGlass sees you";
subTitle = "You were detected by the SpyGlass";
description = "You were detected for cheating and have been reported to the server. Enjoy your day.";
pictureBackground = "";
picture = "";
pictureColor[] = {0,0.3,0.6,1};
};
Schritt 4:
Lösche die Datei "clientValidator.sqf", welche sich in deinem Core Ordner befindet. Danach öffne die Datei "initPlayerLocal.sqf" im Hauptverzeichnis deiner Missionsdatei und entferne dort folgenden Eintrag:
Schritt 5:
Öffne die Datei "fn_requestReceived.sqf" im Verzeichnis core\session\ und entferne dort diesen Eintrag:
//Lets make sure some vars are not set before hand.. If they are get rid of them, hopefully the engine purges past variables but meh who cares.
if(!isServer && (!isNil "life_adminlevel" OR !isNil "life_coplevel" OR !isNil "life_donator")) exitWith {
[[profileName,getPlayerUID player,"VariablesAlreadySet"],"SPY_fnc_cookieJar",false,false] spawn life_fnc_MP;
[[profileName,format["Variables set before client initialization...\nlife_adminlevel: %1\nlife_coplevel: %2\nlife_donator: %3",life_adminlevel,life_coplevel,life_donator]],"SPY_fnc_notifyAdmins",true,false] spawn life_fnc_MP;
sleep 0.9;
["SpyGlass",false,false] execVM "\a3\functions_f\Misc\fn_endMission.sqf";
};
Schritt 6:
Zum Schluss öffnest du die Datei fn_MPexec.sqf" im Verzeichnis core\functions\network\ und entfernst dort auch einen Eintrag:
if(_callerUID != "__SERVER__" && _callerName != "__SERVER__" && toLower(_functionName) in ["spy_fnc_cookiejar","spy_fnc_notifyadmins"]) then {
//Check if the sender & reported UID match, if they don't exit.
if(toLower(_functionName) == "spy_fnc_cookiejar") exitWith {
private["_reportUID"];
_reportUID = _params select 1;
if(_reportUID != _callerUID) exitWith {
if(isServer && _mode == 0) then {
[_callerName,_callerUID,"false_reports_to_spyglass"] call SPY_fnc_cookieJar;
[[_callerName,"False reporting to SpyGlass (cheater)"],"SPY_fnc_notifyAdmins",true,false] spawn life_fnc_MP;
};
_exitScope = true;
};
};
//So it's not the cookiejar, let's check the admin notification and make sure the report matches.
private["_reportName"];
_reportName = _params select 0;
if(_callerName != _reportName) exitWith {
if(isServer && _mode == 0) then {
[_callerName,_callerUID,"false_reports_to_spyglass"] call SPY_fnc_cookieJar;
[[_callerName,"False reporting to SpyGlass (cheater)"],"SPY_fnc_notifyAdmins",true,false] spawn life_fnc_MP;
};
_exitScope = true;
};
};
Alles anzeigen
Und diesen Eintrag:
if(!(["life_fnc_",_functionName] call BIS_fnc_inString) && {!(["SPY_fnc_",_functionName] call BIS_fnc_inString)} && {!(["DB_fnc_",_functionName] call BIS_fnc_inString)} && {!(["TON_fnc_",_functionName] call BIS_fnc_inString)} &&
{!(toLower(_functionName) in ["bis_fnc_execvm","bis_fnc_effectkilledairdestruction","bis_fnc_effectkilledairdestructionstage2"])} && {!(["SOCK_fnc_",_functionName] call BIS_fnc_inString)}) exitWith {false};
Nun sollte SpyGlass restlos entfernt sein. Viel Spaß!