Многофункциональный антидюп Dayz Epoch / Dayz Epoch antidupe
Данный антидюп исключает несколько видов дюпа, такие как выброс вещей при обрыве соединения, дюп через машину и другие.
Установка:
1. В файле description.ext заменить строку
onPauseScript = "";
на
onPauseScript = "custom\DupingFix.sqf";
2. Создать файл DupingFix.sqf и положить в папку custom
private ["_escMenu","_lastTimesScanned","_currTimesScanned"]; disableSerialization; sleep 1; call dayz_forcesave; _escMenu = findDisplay 49; _lastTimesScanned = player getVariable ["ClearToLeave",0]; AD_AntiDupePlayer = player; publicVariable "AD_AntiDupePlayer"; sleep 5; _currTimesScanned = player getVariable ["ClearToLeave",0]; if (_currTimesScanned - _lastTimesScanned < 1) then { titleText ["<Anti-dupe>: Соединение с сервером потеряно!", "PLAIN DOWN", 3]; systemchat "<Anti-dupe>: Соединение с сервером потеряно!"; _escMenu closedisplay 0; };
3. В файле инфистара AH.sqf перед строкой
diag_log ('infiSTAR.de - AntiHack FULLY LOADED');
добавить
'AD_AntiDupePlayer' addPublicVariableEventHandler { [] spawn { waitUntil {!isNull AD_AntiDupePlayer}; _plyr = AD_AntiDupePlayer; _amnt = _plyr getVariable ['ClearToLeave',0]; _plyr setVariable ['ClearToLeave',_amnt+1,true]; }; };
4. В файле dayz_spaceInterrupt.sqf заменить
//Esc if (_dikCode == 0x01) then { DZE_cancelBuilding = true; call dayz_EjectPlayer; };
на:
//Esc if (_dikCode == 0x01) then { _nill = execvm "custom\esc.sqf"; DZE_cancelBuilding = true; call dayz_EjectPlayer; };
5. Создать файл esc.sqf и положить его в папку custom
for "_x" from 3 to 1 step -1 do { (findDisplay 106) closeDisplay 1; uiSleep 1; if (isNil "EscBlock") then { systemchat "<Anti-dupe>: Gear is locked for 5 seconds."; EscBlock = true; }; }; EscBlock = nil;
6. Добавить в файл publicvariable.txt во вторую строку
!="AD_AntiDupePlayer"