-
Posts
319 -
Joined
-
Last visited
-
Days Won
1
Reputation Activity
-
Fully reacted to Shawn in [RESOURCE] A collection of Anti-Dupes
Block ESC Menu if gear was just/is accessed + Black screen if gear is accessed and fps is dropped
For this method, all credit goes to JustBullet!
What it does: Blocks the escape menu for 30 seconds after opening your inventory, but also displays a black screen if a player enters his inventory, and reduces his/her fps to less than or equal to 4.
Start by opening up dayz_spaceInterrupt.sqf and find this:
// esc if (_dikCode == 0x01) then { DZE_cancelBuilding = true; call dayz_EjectPlayer; }; Above it, add the following:
/* Anti-Duping by JustBullet */ if (_dikCode in actionKeys "Gear") then { _nill = execvm "path\to\esc-dupe.sqf"; }; Then create an sqf file in the desired location called esc-dupe.sqf, and inside, add:
///////////////////////////////////////////////////// //////////////* 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 ["Very low FPS, you are blocked...", "DayZ_loadingScreen"];} else {systemchat format["Cannot exit game 30 seconds after accessing your inventory.", round(_timer)];}; }; uiSleep 0.1; }; if (_trigger) then {endLoadingScreen; disableUserInput false;}; JustBlock = nil; }; *******************************************
Block duping via skin change
The goal of this method is to create a blacked screen for a player when he changes clothes. Of course, this won't be noticed, but those that decrease their fps, they are blacked out, and messaged with: "Anti Dupe: Changing clothes".
Open up player_switchModel.sqf and paste the following at the very top:
disableUserInput true; startLoadingScreen ["Anti Dupe: Changing clothes", "DayZ_loadingScreen"]; And at the very bottom, paste the following:
endLoadingScreen; disableUserInput false; The disableUserInput is included to prevent those that have memorized the required spots to click to dupe with.
*******************************************
Prevent skin change if backpack is worn
The following addition is to block skin changing when a backpack is worn.
Find your player_wearClothes.sqf, and replace:
if (!isNull (unitBackpack player)) exitWith { DZE_ActionInProgress = false; cutText [(localize "STR_EPOCH_ACTIONS_9"), "PLAIN DOWN"] }; With the following:
if (!isNull (unitBackpack player)) exitWith { DZE_ActionInProgress = false; cutText [("Please drop your backpack to change clothing"), "PLAIN DOWN"] }; *******************************************
Prevent packing of safe with player/zombie nearby
What this does is prevents a player from packing a safe if a player or zombie is within 15 meters.
Simply open up player_packVault.sqf and find:
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_15") , "PLAIN DOWN"]; }; Right after this, paste the following:
_countplayers = count nearestObjects [player, ["CAManBase"], 15]; if (_countplayers > 1) exitWith { cutText [format["Cannot perform this action if a player or zombie is within 15 metres!"], "PLAIN DOWN"]; }; *******************************************
Check wallet dupe
What this does is, instead of checking the wallet of an ai/player when their coins are at "0", which would cause your _cashMoney becoming scalar, it instead exits with a pleasant message :)
In fn_selfAction.sqf, find this:
if (_isMan && !_isZombie && !_isAnimal) then { _player_studybody = true; } And replace that block of code with:
if (_isMan && !_isZombie && !_isAnimal && _ownerID != "0") then { _player_studybody = true; } IMPORTANT! If you are using plot for life, change this:
_ownerID != "0" to this:
_characterID != "0" And replace your check_wallet.sqf with:
private ["_body", "_hisMoney", "_myMoney", "_killsH", "_test2", "_headShots", "_test","_playeridke","_humanity"]; _body = _this select 3; _hisMoney = _body getVariable ["cashMoney",0]; if(_hisMoney < 1) exitWith { cutText ["This is one poor MOTHERFUCKER!", "PLAIN DOWN"]; }; _PlayerNear = _body call dze_isnearest_player; if (_PlayerNear) exitWith {cutText [localize "str_pickup_limit_4", "PLAIN DOWN"]}; _name = _body getVariable ["bodyName","unknown"]; _hisMoney = _body getVariable ["cashMoney",0]; _myMoney = player getVariable ["cashMoney",0]; _myMoney = _myMoney + _hisMoney; _body setVariable ["cashMoney", 0 , true]; player setVariable ["cashMoney", _myMoney , true]; systemChat format ['You took %1 coins, ID says %2 !',_hisMoney,_name]; sleep 2; _cid = player getVariable ["CharacterID","0"]; _cashMoney = player getVariable ["cashMoney",0]; if(_cashMoney > 0) then{ } else { _cashMoney = 0; }; *******************************************
Give Money dupe fix
First, find your bank_dialog.sqf, and replace everything in there with:
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_10") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; private ["_dialog"]; _dialog = createdialog "BankDialog"; call BankDialogUpdateAmounts; player setVariable ["tradingmoney", true, true]; DZE_ActionInProgress = false; waitUntil {uiSleep 1; !dialog}; player setVariable ["tradingmoney", false, true]; Then go to your init.sqf for your coin system, and find:
GivePlayerAmount = { private ["_amount","_target","_wealth"]; _amount = parseNumber (_this select 0); _target = cursorTarget; _wealth = player getVariable["cashMoney",0]; _twealth = _target getVariable["cashMoney",0]; _InTrd = _target getVariable ["TrBsy",false]; _isMan = _target isKindOf "Man"; if (_amount < 1 or _amount > _wealth) exitWith { cutText ["You can not give more than you currently have.", "PLAIN DOWN"]; }; if (!_isMan) exitWith { cutText ["You are not facing anyone.", "PLAIN DOWN"]; }; if (_wealth == _twealth) exitWith { cutText ["FAILED : Both Targets have same amount of money.", "PLAIN DOWN"]; }; if (_InTrd) exitWith { cutText ["Other Player is busy, please wait.", "PLAIN DOWN"]; }; Replace it with:
GivePlayerAmount = { private ["_amount","_target","_wealth"]; _amount = parseNumber (_this select 0); _target = cursorTarget; _wealth = player getVariable["cashMoney",0]; _twealth = _target getVariable["cashMoney",0]; _isMan = _target isKindOf "Man"; if (_target getVariable ["tradingmoney", false]) exitWith { cutText ["You can not give to someone who is already trading.", "PLAIN DOWN"]; }; if (_amount < 1 or _amount > _wealth) exitWith { cutText ["You can not give more than you currently have.", "PLAIN DOWN"]; }; if (!_isMan) exitWith { cutText ["You are not looking correctly at a player", "PLAIN DOWN"]; }; Finally, replace your give_player_dialog.sqf with:
private ["_dialog"]; GivePlayerTarget = _this select 3; if (GivePlayerTarget getVariable ["tradingmoney", false]) exitWith { cutText ["You can not give to someone who is already trading.", "PLAIN DOWN"]; }; _dialog = createdialog "GivePlayerDialog"; call GivePlayerDialogAmounts; player setVariable ["tradingmoney", true, true]; [] spawn { while {dialog} do { if (GivePlayerTarget getVariable ["tradingmoney", false]) exitWith { closeDialog 0; }; uiSleep 0.25; }; }; waitUntil {uiSleep 1; !dialog}; player setVariable ["tradingmoney", false, true]; *******************************************
An important tip I recommend to anyone is, prevent any form of "punishment" which kicks players to the lobby, such as speaking in side chat, x amount of wrong codes for guessing a door code. These can all be easily used for duping. The well known anti hack which I won't name has a lot of kicks to lobby which can be triggered by players. This involves typing anything in chat from the _veryBadTexts array. As a result, the notorious backpack dupe can be achieved. As I mentioned, simply fix this issue by adding:
player setDamage 5; Along with a message as to why they were killed:
systemChat 'You were killed to prevent hacking and duping!'; To the block of code that executes the kick.
I won't state every single block that requires this added, as there are quite a lot, but it is very simple once you know what to look for.
*******************************************
If anyone has more ways of preventing duping, please feel free of commenting the fixes below. I can test it out and happily add it to the collection.
Please remember that all credit goes to the rightful creators of the scripts.
Thanks.
-
Fully got a reaction from Mr.Exodus in Need help setting up BEC Auto restarts.
Here is my my server restart information.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Scheduler> <job id="0"> <time>024500</time> <delay>000000</delay> <day>1,2,3,4,5,6,7</day> <loop>0</loop> <cmd>say -1 Restart in 15 minutes! </cmd> <cmdtype>0</cmdtype> </job> <job id="1"> <time>025500</time> <delay>000000</delay> <day>1,2,3,4,5,6,7</day> <loop>0</loop> <cmd>say -1 Restart in 5 minutes! </cmd> <cmdtype>0</cmdtype> </job> <job id="2"> <time>025900</time> <delay>000000</delay> <day>1,2,3,4,5,6,7</day> <loop>0</loop> <cmd>say -1 Restart in 1 minute! </cmd> <cmdtype>0</cmdtype> </job> <job id="3"> <time>025955</time> <delay>000000</delay> <day>1,2,3,4,5,6,7</day> <loop>0</loop> <cmd>c:\Epoch\serverstart.bat</cmd> <cmdtype>1</cmdtype> </job> <job id="4"> <time>030000</time> <delay>000000</delay> <day>1,2,3,4,5,6,7</day> <loop>0</loop> <cmd>#shutdown</cmd> <cmdtype>0</cmdtype> </job> </Scheduler> Job 3 restarts the server.
Server start .bat that I use
timeout 5 @echo off echo Starting Dayz Server :: start the server.. set dayzpath="C:\Epoch" cd %dayzpath% start "arma2" /min "Expansion\beta\arma2oaserver.exe" -port=2302 "-config=instance_11_Chernarus\config.cfg" "-cfg=instance_11_Chernarus\basic.cfg" "-profiles=instance_11_Chernarus" -name=instance_11_Chernarus "-world=Chernarus" "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"start "DayZ" "DayZ_Epoch_instance_11_Chernarus.bat" timeout 40 echo echo Starting Bec :: start bec set becpath="C:\Epoch_Tools\Bec" cd /d %becpath% start "Bec" "bec.exe" -f myserver.cfg timeout 20 echo. echo Server Started 100% cls @exit -
Fully got a reaction from Richie in Skalisty Bridge
I have 2 bridges to that island.
//START// if (isNil "oneTime") then { oneTime = true; fnc_bridgeA2 = { private ["_start","_obj"]; _start = createVehicle [ _this select 2, _this select 0, [], 0, " CAN_COLLIDE" ]; _start setVectorUp [0,0,1]; _start setDir (_this select 1); _start setPosATL (_this select 0); for "_i" from 1 to (_this select 3) do { _obj = createVehicle [ _this select 2, _this select 0, [], 0, "CAN_COLLIDE" ]; _obj attachTo [_start, [ _i*(_this select 4), _i*(_this select 5), _i*(_this select 6) ]]; }; }; //END// //Placement of objects// //[startingPosition, direction, objectClass, repeats, offsetX, offsetY, offsetZ] [ [13287.128, 2786.3577, -0.3], 222.15, "Land_nav_pier_m_2", 27, 40, 0, 0 ] call fnc_bridgeA2; }; code for this one (I have a bit more going on there)
Other code - Pm me if your interested =)
2nd bridge
-
Fully got a reaction from Rythron in [WIP] Chernarus Train Service
Time for a update on this =)
I want to thank Zonekiller for the original script found here
http://www.armaholic.com/page.php?id=16784
I then modified it to make a passenger train to go from Berezino to Kamenka, stopping at every train station along the way, and sounding the train horn at every level crossing =)
It reads the track ids, runs until it runs out of them, then rereads the track ids in reverse.
I am sure there are some bugs, but it works in general.
Files are here
https://github.com/FullyGored/Cherno-Train-Service.git
Have Fun =)
-
Fully got a reaction from bFe in denmark Pack (new towns)
Do not delete it :P
lock it fixes that problem
_bldObj = objNull; if (true) then { _bldObj = createVehicle ["BRDM2_TK_GUE_EP1", [11880.162, 12639.863, -0.10149862], [], 0, "CAN_COLLIDE"]; _bldObj setDir 87.733887; _bldObj setPos [11880.162, 12639.863, -0.10149862]; _bldObj setVehicleLock "LOCKED"; }; -
Fully got a reaction from HMAF Gaming in [request] Custom airstrip
I started doing this?
We have lift off =)
Landing :D
-
-
Fully got a reaction from CartoonrBOY in [RELEASE] Fully's Berezino
Just thought I would add something to the north east coast =)
The berezino.sqf
-
Fully got a reaction from xBowBii in Admin Base Vyshnoye
I always tell them they are in my base when they joined the server =)
-
Fully got a reaction from FrenzyFire000 in How save permanently correct position my towers and fuel pumps?
setVectorUp [0,0,1] put that in the init of the object =)
Another tip save often as stuff seems to move around all the time.
if you want objects to line up, line them up save it, realign and save it again =)
-
Fully got a reaction from cring0 in [Help!] Trying to add bridge between Lausen and Island
There is a bridge there now :P
napf_lausen_bridge.sqf
-
Fully got a reaction from cring0 in Adding Items in Editor
Just had a look, and tested it with new launch paramaters.
BTW: It still works The method above :/
Just launch like the following, just change were your arma installed if its different.
"C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead\arma2oa.exe" "-mod=Expansion;@DayZ_Epoch;" -nosplash -emptyworld This will take you to the epoch multiplayer menu
then hit ALT + E and away you go
-
Fully got a reaction from Gravvy in Converting trader items from database to file system
http://epochmod.com/forum/index.php?/topic/14090-tutorialmethod-how-to-add-itemsvehiclesweapons-to-traders-method-2/#entry102086
-
Fully got a reaction from Nakama Mind in How to make Custom map content [ Tutorial & Ongoing Support ]
I wouldent do this ^^
I would go as far as placing the Cinder Block down, but with no door.
Then add the door and lock through the game. They work how they are meant to this way. If you want to change the door combo lock number do it through the database.
Dont get me wrong it can be done, but I think this is the simple way of doing this =)
-
Fully got a reaction from PryMary in format error
if (_type == "SUV_TK_CIV_EP1") then {_object setVehicleInit "this setObjectTexture [0, "custom\SUV.paa"];"}; Try that =)
-
Fully got a reaction from hogscraper in Adding an Ammo cache @ Custom Location on restart
Well this is easy as WAI has something built into it for this.
@DayZ_Epoch_Server\addons\dayz_server\WAI\missions\StaticAmmoBoxes.sqf
/* Add ammmo boxes to static locations on map and fills it with loot from missionCfg.sqf creates a ammo box at [0,0,0] then fills it _box = createVehicle ["BAF_VehicleBox",[0,0,0], [], 0, "CAN_COLLIDE"]; [_box] call spawn_ammo_box; creates a 2nd ammo box at [1,1,1] then fills it _box2 = createVehicle ["BAF_VehicleBox",[1,1,1], [], 0, "CAN_COLLIDE"]; [_box2] call spawn_ammo_box; add custom ammo boxes below this line */ If you want random location just use this "call BIS_fnc_selectRandom"
-
Fully got a reaction from dyesalot in [RELEASE] Ixxo's Chernarus Enhancements - Zelenogorsk & 3 Army Bases
Nice addons mate =)
Added them earlier, just went onto my server to check them out. Some has already build a base at Zelengorsk on the garage :P
Love the ladders, I wish there were more =)
-
-
Fully got a reaction from mgm in VARTA BRIDGE
Yeah...
I found an easy way to build a bridge. All you need to do I place the first vehicle, then use this script to attach to.
//START// if (isNil "oneTime") then { oneTime = true; fnc_bridgeA2 = { private ["_start","_obj"]; _start = createVehicle [ _this select 2, _this select 0, [], 0, " CAN_COLLIDE" ]; _start setVectorUp [0,0,1]; _start setDir (_this select 1); _start setPosATL (_this select 0); for "_i" from 1 to (_this select 3) do { _obj = createVehicle [ _this select 2, _this select 0, [], 0, "CAN_COLLIDE" ]; _obj attachTo [_start, [ _i*(_this select 4), _i*(_this select 5), _i*(_this select 6) ]]; }; }; //END// //Placement of objects// //[startingPosition, direction, objectClass, repeats, offsetX, offsetY, offsetZ] [ [13287.128, 2786.3577, -0.3], 222.15, "Land_nav_pier_m_2", 27, 40, 0, 0 ] call fnc_bridgeA2; }; As you see down the bottom.
I created a bridge that is 1.1km long this way =)
-
Fully got a reaction from blackwiddow in [RELEASE] Ixxo's Chernarus Enhancements - Zelenogorsk & 3 Army Bases
Nice addons mate =)
Added them earlier, just went onto my server to check them out. Some has already build a base at Zelengorsk on the garage :P
Love the ladders, I wish there were more =)
-
Fully got a reaction from mcgough in [WIP] Chernarus Train Service
Being working on this for a few days.
YES thats right North Berezino - Electro fully working so far =)
Makes track sounds, level crossings sounds as well as stops at every train station along the way =)
Still WIP so not quite finished yet......:/
- Electro
Still working on collecting the track ids from here to Kamenka =)
-
Fully got a reaction from xBowBii in [WIP] Chernarus Train Service
Being working on this for a few days.
YES thats right North Berezino - Electro fully working so far =)
Makes track sounds, level crossings sounds as well as stops at every train station along the way =)
Still WIP so not quite finished yet......:/
- Electro
Still working on collecting the track ids from here to Kamenka =)
-
Fully got a reaction from bigpak in How to deal with extreme bandits?
You can run an admin event, and make them the hunted =)
Reward the player that kills each of them 1-2 briefs of gold =)
Give the server intel of there location ...etc can be a lot of fun for the other players.
Change the spawns from coast to inland or vice versa, increase the spawn from 1500 - 2500.
will make it harder for them to kos straight away.
You could put more buildings around the place.
Change default spawn loadout - give them Ak/akm/M16..etc
Just some idea's =)
GL
-
Fully got a reaction from Stoney in Show Off Your Custom Areas (Chernarus)
Just a few areas I like =)
That night time feel :D
-
Fully got a reaction from Friendly in BEC Scheduler not works
Why don't you just do a 3hour scheduler?
KIS =)