Jump to content
juandayz

[EPOCH SERVER 1.6] INSTALL GUIDE [ENG-SPA]

Recommended Posts

VERSIÓN EN ESPAÑOL-SPANISH VERSION

Vamos a instalar la lista de mods que esta por debajo. Si tu sigues los ordenes y los pasos todo sera mas rapido y facil.

Spoiler

0-Server Files with data base  @guest

1-Coins.  @Zupa / @salival

2-Right Click actions.  @mudzereli

3-Safe Zone relocate. @salival

4-Debug Monitor. @oldmatechoc

5-Restrict Buildings. @BigEgg

6-Safezones   @infistar/ @juandayz

7-ESSV3 (Spawn Selector)  @ebayShopper

8- Autorestart files & server maintain  @BigEgg @juandayz

9-Custom configVariables.sqf to allow group management/plot 4 life/ vector & snap pro / plot management / door management

10-ADM PANEL && PLAYER MENU  @NoxSicarius  @Sandbird   @juandayz

11-Algunas Configuraciones.

 

 

INSTALACION:

Paso 0: Archivos del servidor asociados con una base de datos.

Spoiler

Ve a este topico:

En el paso 6 debe ser la ultima  version de c++

Pasos 10 y 11: Descarga la ultima version de epoch de aqui : http://epochmod.com/a2dayzepoch.php  

Descarga Epoch 1.6.0.1 Archivos de cliente  y servidor.

De ahora en mas vamos a suponer que tu instalaste tus archivos de servidor en : D:\epoch16\   y vamos a usar Chernarus como mapa e instancia.

 

Paso 1: COINS: Vamos a instalarlo sin Global Banking.

Spoiler

La instalaciion es muy sencilla si la haces al principio cuando el servidor no tiene ningun modo instalado, es por eso que lo haremos ahora.

Descarga el modo desde aqui: https://github.com/oiad/ZSC

A- Abre tu archivo  init.sqf alojado en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\

Spoiler

Encuentra las lineas en rojo y agrega las azules.

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";
call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf";

B-Encuentra las lineas en rojo y agrega las azules

Spoiler

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf";

C-Reemplaza las lineas en rojo por las azules:

Spoiler

call compile preprocessFileLineNumbers "server_traders.sqf";

Reemplaza por:
call compile preprocessFileLineNumbers "scripts\traders\server_traders.sqf";

D-Encuentra las lineas en rojo y pega debajo las azules:

Spoiler

if (DZE_R3F_WEIGHT) then {execVM "\z\addons\dayz_code\external\R3F_Realism\R3F_Realism_Init.sqf";};


call compile preprocessFileLineNumbers "scripts\zsc\zscInit.sqf";
execVM "scripts\zsc\playerHud.sqf";
[] execVM "dayz_code\compile\remote_message.sqf";

E- Abre: D:\epoch16\BattlEye\scripts.txt

Spoiler

Encuentra esta linea alrededor de la columna 12:


5 createDialog !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !="createDialog 'RscDisplayCraftingMenu';" !="createDialog \"DAYZ_PADLOCK\";" !"createDialog 'horde_journal_" !"Z_ResetContainer = true;\ncreateDialog 

y reemplazala por esta otra:


5 createDialog !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !="createDialog 'RscDisplayCraftingMenu';" !="createDialog \"DAYZ_PADLOCK\";" !"createDialog 'horde_journal_" !"Z_ResetContainer = true;\ncreateDialog \"AdvancedTrading\";" !"createDialog \"DoorManagement\";\ncall DoorNearbyHumans;" !="createDialog \"ComboLockUI\";" !"createdialog \"PlotManagement\";\ncall PlotNearbyHumans;" !"_trader_data = (_this select 3);\n\n_dialog = createdialog \"TraderDialog\";" !"_ok = createdialog \"KeypadUI\";" !"EpochDeathBoardLoad = {\ncreatedialog \"EpochDeathBoardDialog\";" !="if(DZE_doorManagement) then {createdialog \"DoorAccess\";} else {createdialog \"ComboLockUI\";};" !"\ndisableSerialization;\ncreateDialog \"DZ_GroupDialog\";" !="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"

 

F-Abre la carpeta del mod que descargaste:: dentro de  ZSC/  veras un archivo llamado description.ext arrojalo dentro de: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\  reemplazando el que ya tenias.

G-Dentro de la carpeta de descarga ZSC/ vas a encontrar otras subcarpetas. Arroja las subcarpetas Scripts y Dayz_code dentro de: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\ 

H-Ahora vete a D:\epoch16\@DayZ_Epoch_Server\addons\  vas a encontrar un archivo llamado dayz_server.pbo (descomprimelo con el programa pbo manager). Una vez echo, borra el archivo dayz_server.pbo (vas a ver una carpeta con el mismo nombre como restultado de la descomprimida) entonces pega la otra carpeta dayz_server r (la que esta en ZSC\ y sobreescribe todo). Click derecho sobre la carpeta dayz_server y elije "pack into dayz_server.pbo".

El modo coins esta listo, ejecuta tu servidor para testear que funcione.

 

 PASO 2: DEPLOY ANYTHING (Acciones con el Click Derecho)

Spoiler

Descarga desde aqui:

A- pon la carpeta  addons y overwrites alojadas en la carpeta de descarga dentro de : D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\ 

B- Abre tu  init.sqf  alojado en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\   encuentra las lineas rojas y pega las azules:

Spoiler

call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf";
call compile preprocessFileLineNumbers "addons\bike\init.sqf";

call compile preprocessFileLineNumbers "overwrites\click_actions\init.sqf";

Listo, vete al post original para aprender como configurar nuevas acciones con el click derecho del mouse.

 

3-SAFEZONE RELOCATE VEHICLES:

Spoiler

Descarga el mod de aqui: https://github.com/oiad/safeZoneRelocate

A- Abre: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\init\ variables.sqf entonces encuentra las lineas rojas y pega las azules:

Spoiler

ZSC_MaxMoneyInStorageMultiplier = 50000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 50,000 multiplier is 10 million coin storage. (200*50000=10m coins)


DZE_safeZonePosArray = [
    //[[X,Y],radius]
     [[6325,7807],100], //Stary
    [[4063,11664],100], //Bash
    [[11447,11364],100], //Klen
    [[1606,7803],100], //Bandit trader
    [[12944,12766],100], //Hero trader
    [[12060,12638],100], //NEAF trader
    [[7997.19,2899.06],100], // southern boat dealer
    [[13467.5,5439.69],100] // eastern boat dealer
];

B-Abre D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server.pbo\system\server_monitor.sqf  encuentra las lineas rojas y pegale las azules:

Spoiler

[] spawn server_spawnEvents;
[] execVM "\z\addons\dayz_server\init\safeZoneRelocate.sqf";

C- arroja el archivo safeZoneRelocate.sqf alojado en la carpeta de descarga (safeZoneRelocate-master\dayz_server\init\)   dentro de : D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server.pbo\init\

Vuelve a comprimir tu dayz_server.pbo y ya esta listo.

PAso 4 : DEBUGMONITOR

Spoiler

Descarga el mod de aqui: https://github.com/ch0c/debug_monitor

A- Vamos a necesitar hacer un nuevo Keyboard.sqf asi que empezaremos abriendo tu compiles.sqf  (el que tienes alojado en: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\init\ )

Encuentra las lineas rojas y pega las azules debajo:

Spoiler

fnc_usec_selfactions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf";
DZ_KeyDown_EH = compile preprocessFileLineNumbers "dayz_code\compile\keyboard.sqf";

B-Ahora necesitamos encontrar el famoso dayz_code.pbo y descomprimirlo. Encuentralo en : D:\epoch16\@DayZ_Epoch\addons\dayz_code.pbo (descomprimelo)

Ve a: D:\epoch16\@DayZ_Epoch\addons\dayz_code\compile\  copia el archivo keyboard.sqf y pegalo en: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\compile\

Ahora tienes tu nuevo keyboard.sqf  ( esto es un custom file.. veras este termino por todo el foro asi que acostumbrate)

C- Abre el nuevo custom  keyboard.sqf  (el que pusiste en  D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\compile\ ). Entonces al final de este archivo encuentra la linea roja y pega las azules:

Spoiler

//------------------DEBUG-----------------//
if (_dikCode == 210) then {            // _dikCode 210 = InsertKey
    if (isNil 'debugMonitor') then {
        debugMonitor = true;
        _nill = execvm "scripts\player_debug.sqf";
    } else {
        debugMonitor = !debugMonitor;
        hintSilent '';
        _nill = execvm "scripts\player_debug.sqf";
    };
};
//-----------------DEBUGEND---------------//

              
_handled

D-Abre la carpeta de descarga este directiorio : debug_monitor-master\debug_monitor\mission_side\dayz_code\compile\ y arroja player_Debug.sqf  en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\scripts\

E-Por ultimo abre el  init.sqf alojado en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\    Encuentra las lineas rojas y pega las azules:

Spoiler

[] execVM "dayz_code\compile\remote_message.sqf";
    if (isNil 'debugMonitor') then {debugMonitor = true; _nill = execvm "scripts\player_debug.sqf"; };

 

5-RESTRICT BUILDINGS:

Spoiler

Descarga de aqui:

A-Abre el init.sqf ( alojado en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\  )encuentra las lineas rojas y agrega las azules

(*Nota: Edita a tu gusto las lineas azules)

Spoiler

// EPOCH CONFIG VARIABLES END //

LimitPlotPoles = true; // Limit the amount of plot poles a player can own?
if (LimitPlotPoles) then {
    PlotPoleLimit = 1; // Amount of plot poles each individual player is allowed to own
};

LimitBuildHeight = true; // Limit the maximum height a player can build at
if (LimitBuildHeight) then {
    MaxBuildHeight = 30; // Maximum build height in meters
};

// Restrict building near specific buildings
BlacklistedBuildings = [
//  ["What text will say", "Class name of building you want to block", Distance around that building to block (radius in meters)]
    ["Fire Station", "Land_a_stationhouse", 250]
];

// Restrict building near map areas
RestrictedBuildingZones = [
//  ["What text will say", [Choords of place to block], Distance around that area to block (radius in meters)]
    ["Balota Airfield", [5158.72, 2518.75, 0], 600]
];

B-Ahora abriremos nuestro custom compiles.sqf (D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\init\) y necesitaras encontrar lineas rojas y pegar las azules:

Spoiler

DZ_KeyDown_EH = compile preprocessFileLineNumbers "dayz_code\compile\keyboard.sqf";
    dze_buildChecks = compile preprocessFileLineNumbers "dayz_code\compile\dze_buildChecks.sqf";

C-Ahora en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\compile\  Ahora aqui dentro crearemos este archivo:

dze_buildChecks.sqf  (pegale el codigo q esta abajo..)

Spoiler


//Checks if item is near a plot, if the player is plot owner or friendly, if there are too many items, and if the player has required tools
private ["_requireplot","_distance","_canBuild","_friendlies","_nearestPole","_ownerID","_pos","_item","_classname","_isPole","_isLandFireDZ","_IsNearPlot","_buildables","_center","_toolCheck","_plotcheck","_buildcheck","_isfriendly","_isowner","_require","_text","_near","_cancel","_reason"];

_pos = _this select 0;
_item =	_this select 1;
_toolCheck = _this select 2;
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
_requireplot = DZE_requireplot;
// "Unable to build trader nearby."
if (!canbuild) exitWith {dayz_actionInProgress = false; format[localize "STR_EPOCH_PLAYER_136",localize "STR_EPOCH_TRADER"] call dayz_rollingMessages; [false, false];};

if (isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
	_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
};

if (_className in ["VaultStorageLocked","LockboxStorageLocked"]) then {_requirePlot = 1;};

_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");

_canBuild = false;
_cancel = false;
_nearestPole = objNull;
_ownerID = 0;
_friendlies = [];

if (_isPole) then {
	_plotcheck = [player, true] call FNC_find_plots;
	_distance =  DZE_PlotPole select 1;
} else {
	_plotcheck = [player, false] call FNC_find_plots;
	_distance = DZE_PlotPole select 0;
};

_IsNearPlot = _plotcheck select 1;
_nearestPole = _plotcheck select 2;

if (_isPole && {_IsNearPlot > 0}) exitWith {dayz_actionInProgress = false; format[localize "str_epoch_player_44",_distance] call dayz_rollingMessages; [_canBuild, _isPole];};

// Modification by BigEgg - Limits amount of plot poles
if (_isPole && LimitPlotPoles) then {
	private "_ownedPlotPoles";
	_ownedPlotPoles = 0;
	{
		private["_selectedPlot", "_plotPoleOwner"];
		_selectedPlot = _x;
		_plotPoleOwner = _selectedPlot getVariable["ownerPUID", "0"];
		if (_plotPoleOwner == dayz_playerUID) then {
			_ownedPlotPoles = _ownedPlotPoles + 1;
		};
	} forEach allMissionObjects "Plastic_Pole_EP1_DZ";
	if (_ownedPlotPoles > (PlotPoleLimit - 1)) exitWith {
		_cancel = true;
		_reason = "You already own a plot pole!";
	};
};

if (_IsNearPlot == 0) then {
	if (_requireplot == 0 || {_isLandFireDZ}) then {
		_canBuild = true;
	};
} else {
	_ownerID = _nearestPole getVariable["CharacterID","0"];
	if (dayz_characterID == _ownerID) then {
		_canBuild = true;
	} else {
		if (DZE_permanentPlot) then {
			_buildcheck = [player, _nearestPole] call FNC_check_access;
			_isowner = _buildcheck select 0;
			_isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
			if (_isowner || _isfriendly) then {
				_canBuild = true;
			};
		} else {
			_friendlies	= player getVariable ["friendlyTo",[]];
			if (_ownerID in _friendlies) then {
				_canBuild = true;
			};
		};
	};
};

if (!_canBuild) exitWith {
	dayz_actionInProgress = false;
	if (_isNearPlot == 0) then {
		format[localize "STR_EPOCH_PLAYER_135",localize "str_epoch_player_246",_distance] call dayz_rollingMessages;
	} else {
		localize "STR_EPOCH_PLAYER_134" call dayz_rollingMessages;
	};
	[_canBuild, _isPole];
};

// Also count safes, lockboxes, vanilla buildables, tents and stashes against DZE_BuildingLimit
_buildables = DZE_maintainClasses + DZE_LockableStorage + ["DZ_buildables","DZ_storage_base"];
_center = if (isNull _nearestPole) then {_pos} else {_nearestPole};
if ((count (nearestObjects [_center,_buildables,_distance])) >= DZE_BuildingLimit) exitWith {dayz_actionInProgress = false; format[localize "str_epoch_player_41",_distance] call dayz_rollingMessages; [false, _isPole];};

_text = getText (configFile >> 'CfgMagazines' >> _item >> 'displayName');

if (((count DZE_SafeZoneNoBuildItems) > 0) && {_classname in DZE_SafeZoneNoBuildItems}) then {
	{
		if ((player distance (_x select 0)) <  DZE_SafeZoneNoBuildDistance) exitWith { _canBuild = false; };
	} forEach DZE_safeZonePosArray;
};

if !(_canBuild) exitWith { dayz_actionInProgress = false; format [localize "STR_EPOCH_PLAYER_166",_text,DZE_SafeZoneNoBuildDistance] call dayz_rollingMessages; [false, _isPole]; };

if ((count DZE_NoBuildNear) > 0) then {
	_near = (nearestObjects [_pos,DZE_NoBuildNear,DZE_NoBuildNearDistance]);
	if ((count _near) > 0) then { _canBuild = false; };
};

if !(_canBuild) exitWith { dayz_actionInProgress = false; format [localize "STR_EPOCH_PLAYER_167",_text,DZE_NoBuildNearDistance,typeOf (_near select 0)] call dayz_rollingMessages; [false, _isPole]; };

// Modification by BigEgg - Limits building height
if (LimitBuildHeight && (((getPosATL (vehicle player)) select 2) > MaxBuildHeight)) then {
	_cancel = true;
	_reason = format["Building is restricted above %1 meters.", MaxBuildHeight];
};

// Modification by BigEgg - Check to see if the player is building within a blacklisted zone
{
	private["_pos", "_dis", "_name", "_rng"];
	_name = _x select 0;
	_pos = _x select 1;
	_dis = _x select 2;
	_rng = (player distance _pos);
	if (_rng <= _dis) exitWith {_cancel = true; _reason = format["You cannot build within %1m of %2.<br></br>Current distance: %3 meters.", _dis, _name, _rng];};
} forEach RestrictedBuildingZones;

// Modification by BigEgg - Check to see if the player is building near a blacklisted building
{
	private["_displayName", "_buildingType", "_distance", "_playerPos", "_nearbyBuildings"];
	_displayName = _x select 0;
	_buildingType = _x select 1;
	_distance = _x select 2;
	_playerPos = [player] call FNC_GetPos;
	_nearbyBuildings = count(nearestObjects [_playerPos, [_buildingType], _distance]);
	if (_nearbyBuildings > 0) exitWith {_cancel = true; _reason = format["You cannot build within %1m of a %2.", _distance, _displayName];};
} forEach BlacklistedBuildings;

if (_cancel) exitWith {
    	dayz_actionInProgress = false;
	_reason call dayz_rollingMessages;
	[false, _isPole];
};

if (_toolCheck) then {
	_require =  getArray (configFile >> "cfgMagazines" >> _item >> "ItemActions" >> "Build" >> "require");
	_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
	_canBuild = [_item, _require, _classname] call dze_requiredItemsCheck;
};

//When calling this function in another script use a silent exitWith, unless you have something special to say. i.e. if (!(_canBuild select 0)) exitWith{};
[_canBuild, _isPole];

 

 

 

  Paso 6: SAFEZONES

Spoiler

Post original:

A- Abre tu  init.sqf  alojado en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\ encuentra las lineas rojas y pega las azules:

Spoiler

3 fadeSound 1;
    3 fadeMusic 1;
    endLoadingScreen;
};

[] execVM "scripts\16_safezone.sqf";

B- dentro de : D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\scripts\ vamos a crear este archivo:

16_safezone.sqf

Spoiler

/*
   by: http://infiSTAR.de || http://DayzAntiHack.com
   *updated on 13.12.2016 by juandayz for epoch 1.6 community
    //all credits for infi   

How i install it?
    1. Copy paste the code of below into a file called 16_safezone.sqf - save the file.
    2. Paste this 16_safezone.sqf into mpmissioms\instance_11.chernarus\custom\
    3. Open your init.sqf
    4. At the very bottom of the file add this line:  [] execVM "custom\16_safezone.sqf";
    5. Save the init.sqf and restart your server.
*/
USE_CANBUILD = false;        // if you don't want to define your own positions
USE_TraderCity = false;    //    if you don't want to define your own positions (Epoch 1.0.5)
USE_POSITIONS = true;    // to use own positions and radius
USE_AI_REMOVER = false;    // use this to remove Missionbots (AI) within 100m of a player if the player is in a SafeZone
USE_AntiSteal = true;    // use this to block opening gear if another player is within 3m!
USE_SPEEDLIMIT = true;    // very secret function, nobody is supposed to find out what it does.
    SPEEDLIMIT = 25;        // Only used if USE_SPEEDLIMIT is true.
USE_SIGNS = false;        // use this to build signs around the SafeZone
LOG_EnterLeave = true;    // This will log to your .rpt when a player enters or leaves a SafeZone! (only works with infiSTAR.de Admintools / AntiHack)
/* You can use USE_CANBUILD or/and (works together) the custom positions below (USE_POSITIONS) [position or zone,radius] */
_infiSZ =
[
    [[6325.6772,7807.7412,0],150,true],//stary
    [[4063.4226,11664.19,0],150,true],//bash
    [[11447.472,11364.504,0],150,true],//klen
    [[1606.6443,7803.5156,0],150,true],//bandit
    [[12944.227,12766.889,0],150,true],//hero
    [[4361.4937,2259.9526,0],50,true],//wholesalerSouth
    [[12060,12640,0],200,true]//air dealear
];

{
	DZE_SafeZonePosArray set [(count DZE_SafeZonePosArray), [(_x select 0), (_x select 1)]];
} forEach _infiSZ;

if (isServer) exitWith


{
    if (USE_SIGNS) then
    {
        {
            _center = _x select 0;
            _radius = _x select 1;
            _lSign = _x select 2;
            if (_lSign) then
            {
                for '_i' from 0 to 360 step (270 / _radius)*2 do
                {
                    _location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0];
                    _dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1));
                    _object = createVehicle ['Sign_sphere100cm_EP1', _location, [], 0, 'CAN_COLLIDE'];
                    //    _object = createVehicle ['SignM_FARP_Winchester_EP1', _location, [], 0, 'CAN_COLLIDE'];
                    //    _object setVehicleInit 'this setObjectTexture [0,''Addons\SafeZones\sign.paa''];';
                    _object setDir _dir;
                };
            };
        } forEach _infiSZ;
    };
};
waitUntil {((!isNil 'dayz_animalCheck') || (!isNil 'dayz_medicalH') || (!isNil 'dayz_slowCheck') || (!isNil 'dayz_gui'))};
if (isNil 'inSafeZone') then { inSafeZone = false; } else { if (typename inSafeZone != 'BOOL') then { inSafeZone = false; }; };
[_infiSZ] spawn {
    _infiSZ = _this select 0;
    _startSafeZone =
    {
        if (isNil 'outNow') then
        {
            _msg = 'You entered a Safe Zone!';
            hint _msg;
            taskHint [_msg, [0,1,0,1], 'taskDone'];
            inNow = nil;
            outNow = true;
            
            if (LOG_EnterLeave) then
            {
                PVDZ_send = [player,'SafeZoneState',[1]];
                publicVariableServer 'PVDZ_send';
            };
        };
        player_fired = {
            deleteVehicle (nearestObject [_this select 0,_this select 4]);
            cutText ['You can not fire in a SafeZone!','WHITE IN'];
        };
        //wild_spawnZombies = {};
        zombie_generate = {};
        
        fnc_usec_damageHandler = {};
        player removeAllEventHandlers 'handleDamage';
        player addEventHandler ['handleDamage', {false}];
        player allowDamage false;
        _veh = vehicle player;
        _szs = _veh getVariable ['inSafeZone',0];
        if (_szs == 0) then
        {
            _veh setVariable ['inSafeZone',1,true];
            if (player != _veh) then
            {
                _veh removeAllEventHandlers 'Fired';
                _veh addEventHandler ['Fired', {_this call player_fired;}];
                {
                    _x removeAllEventHandlers 'Fired';
                    _x addEventHandler ['Fired', {_this call player_fired;}];
                } forEach (crew _veh);
                fnc_veh_handleDam = {false};
                _veh removeAllEventHandlers 'HandleDamage';
                _veh addeventhandler ['HandleDamage',{ _this call fnc_veh_handleDam } ];
                _veh allowDamage false;
            };
        };
        _notInSafeZone =
        [
    
            'MAAWS','RPG7V','M136','RPG18','STINGER',
            'MeleeBaseball','MeleeHatchet','MeleeCrowbar','MeleeMachete','MeleeFishingPole','MeleeSledge',
            'MeleeBaseBallBatNails','MeleeBaseBallBatBarbed','MeleeBaseBallBat'
        ];
        _cwep = currentWeapon player;
        if (_cwep in _notInSafeZone) then
        {
            _swep = '';
            {
                if ((getNumber (configFile >> 'CfgWeapons' >> _x >> 'Type')) == 2) exitWith
                {
                    _swep = _x;
                };
            } forEach (weapons player);
            if (_swep == '') then
            {
                player playActionNow 'PutDown';
                _iPos = getPosATL player;
                _radius = 1;
                _removed = ([player,_cwep,1] call BIS_fnc_invRemove);
                if (_removed == 1) then
                {
                    _item = createVehicle ['WeaponHolder', _iPos, [], _radius, 'CAN_COLLIDE'];
                    _item addWeaponCargoGlobal [_cwep,1];
                };
            }
            else
            {
                player selectweapon _swep;
            };
        };
    };
    _endSafeZone =
    {
        if (isNil 'inNow') then
        {
            if (str fnc_usec_damageHandler == '{}') then
            {
                _msg = 'You left the Safe Zone!';
                hint _msg;
                taskHint [_msg, [1,0,0.1,1], 'taskFailed'];
            };
            inNow = true;
            outNow = nil;
            
            if (LOG_EnterLeave) then
            {
                PVDZ_send = [player,'SafeZoneState',[0]];
                publicVariableServer 'PVDZ_send';
            };
        };
        //wild_spawnZombies = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\wild_spawnZombies.sqf';
        zombie_generate = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_generate.sqf";
        //
        
        player_fired = {
            _this call compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_fired.sqf';
            _unit = _this select 0;
            _weapon = _this select 1;
            _muzzle = _this select 2;
            _mode = _this select 3;
            _ammo = _this select 4;
            _magazine = _this select 5;
            _projectile = _this select 6;
            _screenToWorld = screenToWorld [0.5,0.5];
            _near = _screenToWorld nearEntities ['AllVehicles',100];
            {
                if (isPlayer _x) then
                {
                    _szs = _x getVariable ['inSafeZone',0];
                    if (_szs == 1) then
                    {
                        deleteVehicle (nearestObject [_unit,_ammo]);
                    };
                };
            } forEach _near;
        };
        
        fnc_usec_unconscious = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\fn_unconscious.sqf';
        object_monitorGear = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\object_monitorGear.sqf';
        fnc_veh_handleDam = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\veh_handleDam.sqf';
        
        _veh = vehicle player;
        _szs = _veh getVariable ['inSafeZone',0];
        if (_szs == 1) then
        {
            _veh setVariable ['inSafeZone',0,true];
            if (player != _veh) then
            {
                _veh removeAllEventHandlers 'HandleDamage';
                _veh addeventhandler ['HandleDamage',{ _this call fnc_veh_handleDam } ];
                _veh allowDamage true;
            };
        };
        
        _end = false;
        if (isNil 'gmadmin') then
        {
            _end = true;
        }
        else
        {
            if (gmadmin == 0) then
            {
                _end = true;
            };
        };
        if (_end) then
        {
            player allowDamage true;
            fnc_usec_damageHandler = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\fn_damageHandler.sqf';
            player removeAllEventHandlers 'HandleDamage';
            player addeventhandler ['HandleDamage',{_this call fnc_usec_damageHandler;} ];
        };
    };
    while {1 == 1} do
    {
        if (isNil 'inSafeZone') then { inSafeZone = false; } else { if (typename inSafeZone != 'BOOL') then { inSafeZone = false; }; };
        _state = false;
        if (isNil 'USE_POSITIONS') then { USE_POSITIONS = false; } else { if (typename USE_POSITIONS != 'BOOL') then { USE_POSITIONS = false; }; };
        if (USE_POSITIONS) then
        {
            {
                _z = _x select 0;
                _r = _x select 1;
                if ((vehicle player) distance _z < _r) then {_state = true;};
            } forEach _infiSZ;
        };
        if (isNil 'USE_CANBUILD') then { USE_CANBUILD = true; } else { if (typename USE_CANBUILD != 'BOOL') then { USE_CANBUILD = true; }; };
        if (USE_CANBUILD) then
        {
            if (isNil 'canbuild') then { canbuild = true; } else { if (typename canbuild != 'BOOL') then { canbuild = true; }; };
            if (!canbuild) then {_state = true;};
        };
        if (isNil 'USE_TraderCity') then { USE_TraderCity = true; } else { if (typename USE_TraderCity != 'BOOL') then { USE_TraderCity = true; }; };
        if (USE_TraderCity) then
        {
            if (isNil 'isInTraderCity') then { isInTraderCity = false; } else { if (typename isInTraderCity != 'BOOL') then { isInTraderCity = false; }; };
            if (isInTraderCity) then {_state = true;};
        };
        if (_state) then
        {
            inSafeZone = true;
            call _startSafeZone;
            {
                if (!isNull _x) then
                {
                    if !(isPlayer _x) then
                    {
                        deletevehicle _x;
                    };
                };
            } forEach ((vehicle player) nearEntities ['zZombie_Base',50]);
            
            if (isNil 'USE_AI_REMOVER') then { USE_AI_REMOVER = false; } else { if (typename USE_AI_REMOVER != 'BOOL') then { USE_AI_REMOVER = false; }; };
            if (USE_AI_REMOVER) then
            {
                {
                    if ((!isNull group _x) && (getPlayerUID _x == '')) then
                    {
                        deleteVehicle _x;
                    };
                } forEach (player nearEntities ['Man',100]);
            };
        }
        else
        {
            inSafeZone = false;
        };
        uiSleep 2;
        if (!inSafeZone) then
        {
            call _endSafeZone;
        };
    };
};
if ((USE_AntiSteal) || (USE_SPEEDLIMIT)) then
{
    [] spawn {
        _USE_AntiSteal = USE_AntiSteal;
        _USE_SPEEDLIMIT = USE_SPEEDLIMIT;
        _speedlimit = SPEEDLIMIT;
        while {1 == 1} do
        {
            if (inSafezone) then
            {
                if (_USE_AntiSteal) then
                {
                    _cnt = {isPlayer _x && _x != player} count (player nearEntities [['CAManBase'],4]);
                    if ((_cnt > 0) && (!isNull (findDisplay 106))) then
                    {
                        (findDisplay 106) closedisplay 0;
                        closeDialog 0;closeDialog 0;closeDialog 0;
                        _log = format['%1 You are not allowed to open Gear while near another player!',name player];
                        cutText [_log,'PLAIN'];
                        hint _log;
                    };
                };
                if (_USE_SPEEDLIMIT) then
                {
                    _obj = vehicle player;
                    if !(_obj isKindOf 'Plane') then
                    {
                        _speed = abs speed _obj;
                        if ((_obj != player) && (_speed > _speedlimit)) then
                        {
                            _vel = velocity _obj;
                            _x = 0.8;
                            if (_speed > 50) then {_x = 0.1;};
                            _velNew = [(_vel select 0) * _x, (_vel select 1) * _x,(_vel select 2) * _x];
                            _obj SetVelocity _velNew;
                        };
                    };
                };
            }
            else
            {
                uiSleep 2;
            };
            uiSleep .01;
        };
    };
}; 

 

y ya esta listo

 

Paso 7: ESSV3

Spoiler

Descarga de aqui: https://github.com/ebayShopper/ESSV3/blob/master/README.md#install

A- Abrimos el  init.sqf  encuentra las lineas rojas y pega las azules:

Spoiler

 if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\compile\client_plantSpawner.sqf"; };
    call compile preprocessFileLineNumbers "spawn\init.sqf";  

B-Abre este archivo: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\description.ext  encuentra las lineas rojas y pega las azules:

Spoiler

#include "dayz_code\configs\zscdialogs.hpp"
#include "spawn\dialogs.hpp"

C- Abre: D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server.pbo\compile\ server_playerSetup.sqf Encuentra las lineas rojas y reemplazalas por las azules:

Spoiler

PVCDZ_plr_Login2 = [_worldspace,_state];

REEMPLAZA POR:


PVCDZ_plr_Login2 = [[0,respawn_west_original],_state,_worldspace,_randomSpot,([_randomSpot,_playerID] call spawn_config)];

D-Abre : D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server\init\server_functions.sqf  Encuentra las lineas rojas y pega las azules:

Spoiler

#include "mission_check.sqf"
#include "spawn_config.sqf"

E-Abre la carpeta de descarga  \ESSV3-master\ arroja el archivo llamado spawn_config.sqf dentro de D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server\init\ .Una vez echo empaca nuevamente  tu  dayz_server.pbo.

F-Abre la carpeta de descarga  \ESSV3-master\ arroja el achivo llamado  stringtable dentro de :  D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\

G- Abre la carpeta de descarga  \ESSV3-master\ arroja la subcarpeta llamada "spawn" en :  D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\

Listoª . vete al post del mod para aprender a customizarlo.

  Paso 8: AUTORESTART FILES WITH MAINTAIN FUNCTIONS

Spoiler

Bueno aqui creo que no necesito detallar ya que la guia de instalacioon del mod esta escrita como aca.. asi que solo ve al post original y sigue los pasos:

 

  Paso9:  Nuestro  CONFIGVARIABLES.sqf customizado

Spoiler

Vamos a crear una nueva llamada para este archivo en el  init.sqf .. vamos a arrojar el archivo en la carpeta de clientes,editar todo lo que queramos y luego borraremos las lineas que no editamos para ahorrar espacio.

A- abre el init.sqf encuentra las lineas rojas y pega las azules:

Spoiler

#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line
#include "dayz_code\configVariables.sqf"

B-Abre D:\epoch16\@DayZ_Epoch\addons\dayz_code\  copia el  configvariables.sqf y pegalos dentro de D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\

C-Abre tu nuevo  configvariables.sqf y edita todo lo que quieras. Las cosas que no editaste borralas.. debajo dejare un ejemplo de como hacerlo

Default configvariables.sqf  (Voy a poner en azul las lineas que edite)

Spoiler

// EPOCH CONFIG VARIABLES //

// To change a variable copy paste it in the mission init.sqf below the #include line.
// Standard DayZ variables are found in dayz_code\init\variables.sqf.

dayz_knifeDulling = true; // Enable knife dulling. Knives need to be sharpened after so many uses.
dayz_matchboxCount = true; // Enable match stick count. After five uses matches run out and must be replaced.
dayz_toolBreaking = true; //Sledgehammer, crowbar and pickaxe have a chance to break when used.

dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix
dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy.
dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance.
dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]]
DZE_TempVars = [7, 15, 4, 4, 2, 6, 3, 2, 0.25, 0.75, 0.5]; //[vehicle, fire, building, moving, sun, heatpack, water, standing, rain, wind, night] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold.
DZE_WeatherVariables = [10, 20, 5, 10, 0, 0.2, 0, 0.7, 0, 0.6, 0, 8, 25, 30, 0, false]; //See DynamicWeatherEffects.sqf for info on these values.
DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands.
DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives.
DZE_DamageBeforeMaint = 0.01; // Min damage built items must have before they can be maintained
DZE_NameTags = 0; // Name displays when looking at player up close  0 = Off, 1= On, 2 = Player choice
DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice.
DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend)
DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close
DZE_HeliLift = true; // Enable Epoch heli lift system
DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc.
DZE_UI = "dark"; //"vanilla","epoch","dark"  UI status icons style. Dark accommodates color blind people.
DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect.
timezoneswitch = 0; // Changes murderMenu times with this offset in hours.
DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues.
DZE_SafeZonePosArray = []; //Prevent players in safeZones from being killed if their vehicle is destroyed. Format is [[[3D POS], RADIUS],[[3D POS], RADIUS]]; Ex. DZE_SafeZonePosArray = [[[6325.6772,7807.7412,0],150],[[4063.4226,11664.19,0],150]];
DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to build near the safe zones listed above. i.e ["VaultStorageLocked","LockboxStorageLocked","Plastic_Pole_EP1_DZ"] etc.
DZE_SafeZoneNoBuildDistance = 150; // Distance from safe zones listed above to disallow building near.
DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc.
DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near.
DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature
DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles.
DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle"
DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1

// Death Messages
DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel.
DZE_DeathMsgDynamicText = true; // Display death messages as dynamicText in the top left with weapon icons.
DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen.
DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead)
DZE_ServerLogHits = true; // Log damage source, weapon, distance and ammo to server RPT for player hits. Useful for detecting damage and ammo cheats.

// Dynamic Vehicles
DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with
DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with
DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with
DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with
MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map
MaxMineVeins = 50; // Max number of random mine veins to spawn around the map

// HALO Jump
DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump.
DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature.
DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled.
DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m

// Trader Menu
DZE_ConfigTrader = true; // Use config files for traders instead of database. Loads faster and uses less network traffic. False enables database traders with legacy trader menu.
DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade)
DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only)
DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems.
DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory.
DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in
Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader.
Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency.
Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency.
Z_SingleCurrency = false; // Does your server use a single currency system?
CurrencyName = "Coins"; // If using single currency this is the currency display name.
Z_MoneyVariable = "cashMoney"; // If using single currency this is the variable name used to store player wealth.
DZE_MoneyStorageClasses = []; // If using single currency this is an array of object classes players can store coins in.

// Plot Management and Plot for Life
DZE_permanentPlot = true; // Plot ownership saves after death. Enables Plot for Life by @RimBlock and Plot Management by @DevZupa.
DZE_plotManagementMustBeClose = true; //Players must be within 10m of pole to be added as a plot friend.
DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby.
DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance.
DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples.
DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list.
DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired.

// Snap Build and Build Vectors
DZE_modularBuild = true; // Enable Snap Building by @raymix and Build Vectors by @strikerforce.
DZE_snapExtraRange = 0; // Increase the default range from which objects can snap by this many meters.
DZE_noRotate = []; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"];
DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu.
DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above.
DZE_dirWithDegrees = true; // When rotating objects with Q&E, use the custom degrees.
DZE_buildMaxMoveDistance = 10; // Max distance player can walk from start position when building. Anything >= the differnce between DZE_PlotPole values is not recommended (allows walking into other plots).
DZE_buildMaxHeightDistance = 10; // Max distance player can raise or lower object from start position when building.

// Door Management
DZE_doorManagement = true; // Enable Door Management by @DevZupa.
DZE_doorManagementMustBeClose = true; //Players must be within 10m of door to be added as a door friend.
DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it.
DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors.
DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance.
DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code.

// Group System
dayz_groupSystem = true; // Enable group system
dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only
dayz_markSelf = 1; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only
dayz_markBody = 1; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only

dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites.

/*
    Developers:
    
    This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables.
    It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller.
    
    Variables that are map specific or frequently changed should be included in init.sqf by default
    with a corresponding if(isNil)then{}; in variables.sqf.
*/

  Ahora borramos todas las lineas que no editamos (las que estan en negro) ahora el configvariables.sqf luce de esta manera:

Spoiler

// EPOCH CONFIG VARIABLES //

 

dayz_knifeDulling = true; // Enable knife dulling. Knives need to be sharpened after so many uses.
dayz_matchboxCount = true; // Enable match stick count. After five uses matches run out and must be replaced.
dayz_toolBreaking = true; //Sledgehammer, crowbar and pickaxe have a chance to break when used.


DZE_DamageBeforeMaint = 0.01; // Min damage built items must have before they can be maintained

DZE_UI = "dark"; //"vanilla","epoch","dark"  UI status icons style. Dark accommodates color blind people.
 

// Death Messages

DZE_DeathMsgDynamicText = true; // Display death messages as dynamicText in the top left with weapon icons.

DZE_ServerLogHits = true; // Log damage source, weapon, distance and ammo to server RPT for player hits. Useful for detecting damage and ammo cheats.

 

 

// Plot Management and Plot for Life

DZE_plotManagementMustBeClose = true; //Players must be within 10m of pole to be added as a plot friend.

// Door Management

DZE_doorManagementMustBeClose = true; //Players must be within 10m of door to be added as a door friend.
 

// Group System
dayz_groupSystem = true; // Enable group system

dayz_markSelf = 1; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only
dayz_markBody = 1; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only

guarda los cambios y ya esta listo

 

  PASO10: ADMIN PANEL

Spoiler

Ok.Primero necesitamos hacer un nuevo custom PublicEH.sqf

A-Abre tu init.sqf encuentra las lineas en rojo y reemplaza por las azules:

Spoiler

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";

replace by:

call compile preprocessFileLineNumbers "dayz_code\init\publicEH.sqf";

B- Encuentra lineas rojas y reemplaza por las azules

Spoiler

dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled

Replace by:

adminsList = ["put your id here"];//your ADM ID INSIDE
if((getPlayerUID player) in adminsList) then {
dayz_antihack = 0;
}else{
dayz_antihack = 1;
};

C- ve a: D:\epoch16\@DayZ_Epoch\addons\dayz_code\init\  copia el PublicEH.sqf y pegalo en D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\init\

D-Abre el nuevo custom PublicEh.sqf encuentra las lineas rojas y pega las azules:

Spoiler

"PVDZE_maintainArea"     addPublicVariableEventHandler {(_this select 1) spawn server_maintainArea};
 "PVDZE_adminevents"      addPublicVariableEventHandler {(_this select 1) spawn server_adminevents};

E-Abre este archivo: D:\epoch16\MPMissions\DayZ_Epoch_11.Chernarus\dayz_code\compile\keyboard.sqf  encuentra las lineas rojas y pega las azules:

Spoiler

if (_dikCode == 0x3D) then {[] execVM "admineventsclientside\init_adminevents.sqf";};//ADM MENU F3

if (_dikCode == 0x3C) then {execVM "playermenu\player_menu.sqf";};//PLAYER MENU F2

if (_dikCode == DIK_TAB) then {execVM "dayz_code\actions\AdvancedTrading\init.sqf";};//ADM TRADER TAB

_handled

F-Abre este archivo D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server\init\ server_functions.sqf Encuentra las lineas rojas y pega las azules:

Spoiler

server_maintainArea = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_maintainArea.sqf";
server_adminevents = compile preprocessFileLineNumbers "\z\addons\dayz_server\adminevents\server_adminevents.sqf";

G-Abre este archivo: D:\epoch16\BattlEye\publicvariable.txt

Spoiler

encuentra:


5 !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|TradeMenu))

reemplaza por:


5 !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|TradeMenu)) !="PVDZE_adminevents"

 

H-Descarga el admin panel de aqui  :http://www.mediafire.com/file/jy46ua6u23zq8zv/admpanel.rar

I- abre la carpeta de descarga y arroja la carpeta mpmissions en D:\epoch16\   (sobreescribe tus archivos)
J- abre la carpeta de descarga y arroja la carpeta dayz_server en D:\epoch16\@DayZ_Epoch_Server\addons\dayz_server\  (sobreescribela)

 

presiona F3 para abrir el adm panel

presiona TAB para abrir el  ADM trader

presiona F2 para abrir el  players menu  

 

  PASO 11: Otras configuraciones:

Spoiler

 

A-Abre tu init.sqf y echale una mirada a estas opciones (edita a tu gusto)

Spoiler

dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick).

dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both
 
 dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system.
 dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag
 dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS).

dayz_maxGlobalZeds = 500; //Limit the total zeds server wide.

DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones
DZE_BuildOnRoads = false; // Allow building on roads
DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status
DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly.
DZE_slowZombies = false; // Force zombies to always walk

DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects.
DZE_GodModeBase = false; // Make player built base objects indestructible
DZE_requireplot = 1; // Require a plot pole to build  0 = Off, 1 = On
DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases.
DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius
DZE_SelfTransfuse = true; // Allow players to bloodbag themselves

MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map
MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map
spawnArea = 1400; // Distance around markers to find a safe spawn position
spawnShoremode = 1; // Random spawn locations  1 = on shores, 0 = inland
EpochUseEvents = false;

setTerrainGrid 25; //25 server have grass change by 50 if u dont wanna have grass

 

B- Abre D:\epoch16\instance_11_Chernarus\config.cfg

Spoiler

Echale un vistaso a estas lineas y editalas si quieres

hostName = "DayZ Epoch Chernarus Server (1.0.6.1/131129)";
password = "";
maxPlayers = 50;

C-Abre D:\epoch16\instance_11_Chernarus\hiveEXT.ini  ESto es muy importante:

Spoiler

reemplaza la linea roja por la azul.

;CleanupPlacedAfterDays = 6

replace by:

CleanupPlacedAfterDays = -1

D-Abre description.ext

Spoiler

loadScreen = "\z\addons\dayz_code\gui\loadingscreen.paa"; //esta linea es para poner tu propia foto de portada cuando el servidor inicia.

 

 

 

AL FINAL SI HICISTE TODO BIEN VERAS QUE TUS ARCHIVOS SON IGUAL A ESTOS:

http://www.mediafire.com/file/vafq2a67rdnj1sj/Epoch1.6.0.1.rar

Share this post


Link to post
Share on other sites

  • Similar Content

    • By WeepiestLem0n
      So I've been wanting to create a private ArmA 2 DayZ Epoch server for a bunch of my mates to play on, however I dont have a dedicated machine and want to run it on my PC. So I looked at the server download files on the GitHub page and followed the ReadMe, however I absolutely cannot figure out how to get the MySQL server and DB set up. I have downloaded MySQL Server on my PC and created the admin role, root passwords and ran it as a windows service. I now have no clue how to create the database and am wondering if anyone can help me set this up or let me know if I've done anything wrong. 

      I can add on Steam or Discord if need be for convenience.
    • By jackalopeday
      Every time i try and join my server its stuck at waiting for authorization and the logs say "failed to get id". Any idea whats going on here. I am very new to server hosting so please explain in easy terms. :)
    • By JasonTM
      Some time ago I started a youtube channel doing DayZ Epoch tutorials. Surprisingly, my DayZ Epoch 1.0.6.1 server install video has amassed over 2500 views (and people say this game is dead).
      Here are some updated videos for 1.0.6.2. There are other videos on my channel that are still relevant.
      How to Install a DayZ Epoch 1.0.6.2 Server
      Things you will need to download:
      PBO Manager
      MySQL Community Server 5.7.22
      HeidiSQL
      Notepad++
      Notepad++ SQF Highlighter (optional, but highly recommended)
      7-Zip
       
      How to Upgrade Your DayZ Epoch 1.0.6.2 Server to an Overpoch Server
      Things you will need to download:
      Overwatch Server Key
      Overwatch mission.sqm (to copy and paste from)
      My Overpoch Loot Tables
      My Non-ZSC Overpoch Trader Files
      Midget Porn (Just kidding)
       
      How to Install Epoch Admin Tools
      Do not install these with infistar.
       
      How to Install Wicked AI for DayZ Epoch and Overpoch
       
      How to install infistar admin tools/antihack and infistar's free BRC rcon tool
      Fix for the unfortunate error in infistar v1448
       
       
      How to make Battleye filter exceptions for Infistar and other mods
      Downloads
      Eraser1's scripts.txt Exception Generator
      Ebay's Guide to Battleye Filters
       
      How to Install Ebay's Testkit
      Download
       
      Battleye Filter Tutorial using Ebay's Testkit and infistar's BRC rcon tool
       
      Server Install: Troubleshooting "session lost" and "wait for host" type issues.
       
      How to install BattlEye Extended Controls for automatic restarts
       
       
       
      I am planning on doing more of these when I get time.
       
       
       
       
    • By Cyrus
      I have been finding that some people on my server has been losing base walls and floors even though DZE_godmodebase = true; , it has no effect on anything built inside the plot radius. So i have come to the conclusion that base items might receive damage on age and this ultimately being removed by server cleanup script. So my question is if I drop this event below will that stop me and others from losing base walls and floor? Or at the minimum update it without any cinder wall items?
      like this  and set damage to 0.001:
       
    • By Dactyl
      I have a few noobly questions:
      What is the difference between a dedicated server and a not dedicated server? What would i need to set up a server that would still run events even without anyone logged on? What maps can I play Arma 3 Epoch on? I had an Arma 2 Epoch server on my machine some years ago and I wish to do the same with Arma 3. I have looked at a few guides, including the one in the Epoch Wiki (wasn't able to get steamcmd working), and they all seem to advocate different methods. Any advice and points in the right directions are appreciated. 
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...