Jump to content
F507DMT

[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

Share this post


Link to post
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
 

Share this post


Link to post
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?

Share this post


Link to post
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.

Share this post


Link to post
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 :)

Share this post


Link to post
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;
};

Share this post


Link to post
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

Share this post


Link to post
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 

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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?

Share this post


Link to post
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?

Share this post


Link to post
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? 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By JustBullet
      BLOCK ESC MENU BY JUSTBULLET
      ver. 1.0.3
      This Anti-Duping system block duping with:
      1. inventory ->> 30 sec. timer ->> ESC = you can not go out 30 seconds. 
      2. inventory ->> 30 sec. timer ->> ((Low FPS ->> ESC) || (ESC --> Low FPS)) = locks the screen and you can not go out 30 seconds. If the FPS will be more, removes the lock screen.
       
      Instructions:
      add in dayz_spaceInterrupt.sqf:
      /* Anti-Duping by JustBullet */ if (_dikCode in actionKeys "Gear") then {     _nill = execvm "scripts\escmenu_atniduping.sqf"; }; above:
      // Disable ESC after death if (_dikCode == 0x01 && r_player_dead) then {     _handled = true; }; in escmenu_atniduping.sqf:
      ///////////////////////////////////////////////////// //////////////* Author by JustBullet */////////////// ///////////* BLOCK ESC MENU ver. 1.0.3 *///////////// ///////////////////////////////////////////////////// if (isNil "JustBlock") then {     private ["_timer","_fps"];     JustBlock = true;     disableSerialization;     waituntil{!isnull (finddisplay 46)};     _timer = 30;     _trigger = false;     while {_timer > 0} do {         _timer = _timer - 0.1;         if !(isnull (finddisplay 49)) then {             findDisplay 106 closeDisplay 1;             finddisplay 49 closeDisplay 2;             _fps = round(diag_fps);             switch true do {                 case (!(_trigger) && (_fps <= 4)): {_trigger = true; disableUserInput true;};                 case ((_trigger) && (_fps > 4)): {endLoadingScreen; _trigger = false; disableUserInput false;};             };             if (_trigger) then {startLoadingScreen ["Anti-dupe: Very low FPS, you are blocked...", "DayZ_loadingScreen"];}             else {systemchat format["Anti-Dupe: You are can't exit of game 1% sec. after access at inventory.", round(_timer)];};         };         uiSleep 0.1;     };     if (_trigger) then {endLoadingScreen; disableUserInput false;};     JustBlock = nil; }; P.S. I can`t make the description because i am do not know English well enough. If you do not difficult to help me with this.
       
      ****************************************************

       
       
    • By F507DMT
      Anti-Theft from locked vehicles by F507DMT
       
       
      add in variables.sqf:
      GearStorags = ["WeaponHolder","WoodCrate_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","VaultStorage","LockboxStorage"]; add in dayz_spaceInterrupt.sqf:
      //Esc if (_dikCode == 0x01) then { _nill = execvm "scripts\esc.sqf"; //if use Anti-Duping by F507DMT (http://epochmod.com/forum/index.php?/topic/32889-release-anti-duping-by-f507dmt-working/) DZE_cancelBuilding = true; call dayz_EjectPlayer; OpenGear = nil; }; //Anti-Theft from locked vehicles by F507DMT if ((_dikCode in actionKeys "Gear") && !(vehicle player != player)) then { if (isNil "OpenGear") then { (findDisplay 106) closeDisplay 1; if (!(cursorTarget isKindOf "Man") and (player distance cursorTarget <= 7) and ((typeOf cursorTarget in GearStorags) or (cursortarget isKindOf "AllVehicles"))) then { player action ["gear", cursortarget]; } else { createGearDialog [player, "RscDisplayGear"]; }; OpenGear = true; } else { (findDisplay 106) closeDisplay 1; OpenGear = nil; }; _handled = true; }; P.S.
      I recomend add "Open self Backpack" on button "H"
      add in  dayz_spaceInterrupt.sqf:
      //open backpack on H button if (_dikCode == 0x23) then { if (isNil "OpenGear") then { (findDisplay 106) closeDisplay 1; player action ["gear", unitBackpack player]; OpenGear = true; } else { (findDisplay 106) closeDisplay 1; OpenGear = nil; }; _handled = true; }; with: Losing connection, drop loot, Esc, exit yes and Esc + G, losing connection, drop loot, exit yes.
    • By Markokil321
      Hello,
       
      Looking for some help with this Code i am trying to add to our server as a backpack theft protection when inside safezones. We had something similar up to now but it just didn't work very well.
      I am adding this code to the bottom of my custom fn_gearMenuChecks.sqf which is called in the MPMission\compiles.sqf.
       
      I've added comments trying to explain what it is doing (WE ALSO USE CUSTOM FRIENDLIST SYSTEM, so things may look strange)
       
      THE CODE:
      if (inSafeZone) then //if player inside a safezone { _playerNear = (({isPlayer _x} count (nearestObjects [player, ['Man'],6])) > 1); //there is another player within 6m of you if (_playerNear) then //if player within 6m { //define variables _puid = getPlayerUID player; _fuid = getPlayerUID cursorTarget; _playerID = player getVariable ["CharacterID", "0"]; _targetid = cursorTarget getVariable ["CharacterID", "0"]; _sFriends = player getVariable ["friendlies", []]; _pfls = player getVariable ["AH_friendlist",[]]; _tFriends = cursorTarget getVariable ["friendlies", []]; _ffls = cursorTarget getVariable ["AH_friendlist",[]]; _isFriend = (((_targetid in _sFriends)&&(_playerID in _tFriends)) || ((_fuid in _pfls)&&(_puid in _ffls))); //player is inside your friendslist _isLootpile = (cursorTarget isKindOf "WeaponHolder"); //cursortarget is a lootpile if (!_isFriend || _isLootpile) then //if target not inside friendslist OR cursortarget is a lootpile { _display closeDisplay 1; // do not allow gear access cutText ["\nANTI-THEFT: You cannot access non-friends gear/backpacks in safezone!","PLAIN DOWN"]; //text }; }; }; Point is that if you are inside a safezone and there is another player within 6m:
      - if target player is not inside your friendslist = you cannot access their gear/backpack
      - if you target a lootpile = no gear access
       
      The problem is that it does not let me access anyones gear if there is another player within 6m, no matter if they are in my friendslist or not.
       
      Very tired trying to figure out what could be wrong, does this code look allright?
      Here's my whole fn_gearMenuChecks.sqf: http://pastebin.com/znjtWC8R
       
      Any help is appreciated
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...