Jump to content

[Release] Anti-Duping by F507DMT [Working]


Recommended Posts

Anti-Duping by F507DMT

 
 
This Anti-Duping system block duping with: Losing connection, drop loot, Esc, exit yes and Esc + G, losing connection, drop loot, exit yes.
Works perfectly!
 
 

Instructions:

 
in description.ext 

onPauseScript = "scripts\DupingFix.sqf";

in DupingFix.sqf

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>: Connection to the server is not found!", "PLAIN DOWN", 3];
systemchat "<Anti-dupe>: Connection to the server is not found!";
_escMenu closedisplay 0;
};

in AH bottom:

'AD_AntiDupePlayer' addPublicVariableEventHandler
{
   [] spawn {
      waitUntil {!isNull AD_AntiDupePlayer};
      _plyr = AD_AntiDupePlayer;
      _amnt = _plyr getVariable ['ClearToLeave',0];
      _plyr setVariable ['ClearToLeave',_amnt+1,true];
   };
};

in compiles.sqf change this:

dayz_spaceInterrupt =			compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";

to:

dayz_spaceInterrupt =			compile preprocessFileLineNumbers "scripts\dayz_spaceInterrupt.sqf";

in dayz_spaceInterrupt.sqf add(_nill = execvm "scripts\esc.sqf";):

//Esc
if (_dikCode == 0x01) then {
    _nill = execvm "scripts\esc.sqf";
    DZE_cancelBuilding = true;
    call dayz_EjectPlayer;
};

in scripts\esc.sqf

// F507DMT
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;

add in publicvariable.txt, in line 2, last:

!="AD_AntiDupePlayer"

--

 

 

 

If you use endMission "SOME", like in nosidechat.sqf, chenge to:

_nil = execVM "scripts\player_kick.sqf";

in player_kick.sqf:

kickme = true;

add buttom in scripts.txt:

5 "kickme"

When u have no connection BE can`t kick you. Dupe - fix.

 

 

--

Edited by F507DMT
Link to comment
Share on other sites

I correctly added?
Above in ah.sqf

BIS_Effects_Burn={};
diag_log ('infiSTAR.de - AntiHack FULLY LOADED');
i add whis
'AD_AntiDupePlayer' addPublicVariableEventHandler
	{
		[] spawn {
    		waitUntil {!isNull AD_AntiDupePlayer};
    		_plyr = AD_AntiDupePlayer;
    		_amnt = _plyr getVariable ['ClearToLeave',0];
    		_plyr setVariable ['ClearToLeave',_amnt+1,true];
		};
	};

and bug or not 

https://www.youtube.com/watch?v=RzomTW4___k&feature=youtu.be
 

Link to comment
Share on other sites

Wouldnt it be clever to use the countdown and receive the message from the server after 0 so if you click abort and get back to mission, you will also be kicked (public var restriction like battle royale) when in the lobby?

precaution and duble protection. Some server soo lagg and script can fail.

Link to comment
Share on other sites

As far as I know the connection does not always need to be dropped before opening the esc menu, that's the only problem I see

yes you can block Esc at all, if no-connection, but if you drop FPS(Shift + '-' then FPS, caple times ), infistar esc a pause(1-3sec) before turning. droop fps, drop loot, esc yes. work duping :)

Link to comment
Share on other sites

I'm  a bit confused about the esc.sqf part. Am I supposed to create a file called esc.sqf and put the code in the OP in it or am I supposed to have an existing file called esc.sqf?

You need create new file esc.sqf, if you already have esc.sqf(its custom file), create: esc_antidupe.sqf and use:

 

in dayz_spaceInterrupt.sqf add(_nill = execvm "scripts\esc_antidupe.sqf";):

//Esc
if (_dikCode == 0x01) then {
    _nill = execvm "scripts\esc_antidupe.sqf";
    DZE_cancelBuilding = true;
    call dayz_EjectPlayer;
};
Link to comment
Share on other sites

I would highly assume that this works the way its intended.. even tho its not really performant .. 

This Anti-Duping system block duping with: Losing connection, drop loot, Esc, exit yes and Esc + G, losing connection, drop loot, exit yes.

Works perfectly!

 

on standart server can duping! 

I test it many ways

Link to comment
Share on other sites

This is good but doesnt stop 'every' duping method - saw a guy changing skins and dropping duped items on the floor - possibly an error on my other files

to stop duping wich change skins use this:

 

Anti-Duping LoadScrean in player_switchModel.sqf
startLoadingScreen ["Changing skin...", "DayZ_loadingScreen"];
...code...
progressLoadingScreen 0.4;
...code...
progressLoadingScreen 0.6;
...code...
progressLoadingScreen 0.8;
...code...
progressLoadingScreen 1.0;
endLoadingScreen;

its total block this duping, i use it wich Zupa 

Link to comment
Share on other sites

 

You need create new file esc.sqf, if you already have esc.sqf(its custom file), create: esc_antidupe.sqf and use:

 

in dayz_spaceInterrupt.sqf add(_nill = execvm "scripts\esc_antidupe.sqf";):

//Esc
if (_dikCode == 0x01) then {
    _nill = execvm "scripts\esc_antidupe.sqf";
    DZE_cancelBuilding = true;
    call dayz_EjectPlayer;
};

 

Thanks for the reply. I am still unsure about another step of the instructions. Where do I find "dayz_spaceinterrut,sqf?

 

*Edit Nevermind I found it in my client files.

Link to comment
Share on other sites

Thanks for the reply. I am still unsure about another step of the instructions. Where do I find "dayz_spaceinterrut,sqf?

 

*Edit Nevermind I found it in my client files.

 

in compiles.sqf change this:

dayz_spaceInterrupt =			compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";

to:

dayz_spaceInterrupt =			compile preprocessFileLineNumbers "scripts\dayz_spaceInterrupt.sqf";

i add this in first post too.

Link to comment
Share on other sites

Is it possible this can interfere with Snap Building Pro 1.4? I just tried building for the first time since I installed this script and the "F" key doesn't work to release the buildables anymore.

 

*edit* This is confirmed. I removed the anti duping and I was able to release my buildables with the F key. Adding the anti duping back in disabled that ability again. 

 

Any fix for this?

Link to comment
Share on other sites

Is it possible this can interfere with Snap Building Pro 1.4? I just tried building for the first time since I installed this script and the "F" key doesn't work to release the buildables anymore.

 

*edit* This is confirmed. I removed the anti duping and I was able to release my buildables with the F key. Adding the anti duping back in disabled that ability again. 

 

Any fix for this?

 

Anyone?

Link to comment
Share on other sites

lets start with posting your RPT, dayz_spaceinterrupt and just to make sure your client RPT :)

 

I've looked over my RPT files and there are no errors remotely connected to antiduping or snap building. They are just standard errors, like "missing box", etc.. This is the spaceInterrupt: https://www.dropbox.com/s/x9o1zd11v5652sc/dayz_spaceInterrupt.sqf?dl=0

 

Is anyone here using Snap Building Pro 1.4 with this script? 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...