Hi All,
Even though this is probably a 2 second job for an experienced scripter, it took me far too long to sort it out. Now that it is working, I would like to share with others who might need it.
If you're having the same issue with Sarge AI on an Epoch Admin Tools installed server (issue = when player gets into SargeAI spawned patrol vehicle & it blows up), here is the fix.
Preliminary tests show, it works fine on my server.
Packed PBO archive = @DayZ_Epoch_Server > addons > dayz_server.pbo
File in archive = init > server_functions.sqf
Modification Steps
- Unpack the PBO, open the abovementioned file with Notepad++, find the section below by seaching for this >> server_checkHackers.
- Delete the whole block that exists in your file (take a backup of the file first!) then copy & paste the whole block.
- Save the file & exit file editor.
- Repack the PBO.
- Restart the server & test.
Hope this helps someone, I wish I had this post somewhere in the forums, 4 hours ago :)
server_checkHackers = {
if (DZE_DYN_AntiStuck2nd > 3) then { DZE_DYN_HackerCheck = nil; DZE_DYN_AntiStuck2nd = 0; };
if(!isNil "DZE_DYN_HackerCheck") exitWith { DZE_DYN_AntiStuck2nd = DZE_DYN_AntiStuck2nd + 1;};
DZE_DYN_HackerCheck = true;
{
// Epoch Admin Tools
//epoch admin default line is the one below
// if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x) && !((typeOf vehicle _x) in DZE_safeVehicle) && (vehicle _x getVariable ["MalSar",0] !=1)) then {
// This is working copied from http://opendayz.net/threads/killing-a-hacker.19355/#post-98883
// if(vehicle _x != _x && (vehicle _x getVariable ["Sarge",0] != 1) && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x) && !((typeOf vehicle _x) in DZE_safeVehicle)) then {
// the above two combined
if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (vehicle _x getVariable ["Sarge",0] != 1) && (isPlayer _x) && !((typeOf vehicle _x) in DZE_safeVehicle) && (vehicle _x getVariable ["MalSar",0] !=1)) then {
diag_log ("CLEANUP: KILLING A HACKER " + (name _x) + " " + str(_x) + " IN " + (typeOf vehicle _x));
(vehicle _x) setDamage 1;
_x setDamage 1;
sleep 0.25;
};
sleep 0.001;
} forEach allUnits;
DZE_DYN_HackerCheck = nil;
};

