Remove friendlySaving for now

Achievements are saved in the state field, so we don't have room to save
friendlies there anymore. DZE_FriendlySaving is removed for now. I will
add it back later with a save to player profile instead.

The dayz_players variable is not used for anything. There were several
other unused variables in server_playerLogin.sqf.
This commit is contained in:
ebaydayz
2016-03-24 17:04:17 -04:00
parent 3ed4a95c14
commit ee13f4caf7
23 changed files with 218 additions and 401 deletions

View File

@@ -1,2 +0,0 @@
PVDZ_obj_Save = [_this select 3,"all"];
publicVariableServer "PVDZ_obj_Save";

View File

@@ -63,7 +63,7 @@ if(!(alive _item)) then {
dayz_lastMeal = time;
dayz_hunger = 0;
PVDZ_plr_Save = [player,[],true,false];
PVDZ_plr_Save = [player,[],true];
publicVariableServer "PVDZ_plr_Save";
[player,"eat",0,false] call dayz_zombieSpeak;

View File

@@ -707,18 +707,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
s_player_lockUnlock_crtl = -1;
};
if (DZE_AllowForceSave) then {
//Allow player to force save
if ((_isVehicle || _istypeTent) && !_isMan) then {
if (s_player_forceSave < 0) then {
s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true];
};
} else {
player removeAction s_player_forceSave;
s_player_forceSave = -1;
};
};
if (DZE_AllowCargoCheck) then {
if ((_isVehicle || _istypeTent || (_typeOfCursorTarget in DZE_isNewStorage)) && _isAlive && !_isMan && !locked _cursorTarget) then {
if (s_player_checkGear < 0) then {
@@ -1015,8 +1003,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
player removeAction s_player_repair_crtl;
s_player_repair_crtl = -1;
dayz_myCursorTarget = objNull;
//player removeAction s_player_forceSave;
//s_player_forceSave = -1;
player removeAction s_player_flipveh;
s_player_flipveh = -1;
player removeAction s_player_sleep;
@@ -1090,9 +1076,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
player removeAction s_player_maintain_area;
s_player_maintain_area = -1;
player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = -1;
player removeAction s_player_forceSave;
s_player_forceSave = -1;
s_player_maintain_area_preview = -1;
player removeAction s_player_tamedog;
s_player_tamedog = -1;
player removeAction s_player_feeddog;

View File

@@ -210,7 +210,6 @@ dayz_resetSelfActions = {
s_player_pzombiesfeed = -1;
s_player_tamedog = -1;
s_player_parts_crtl = -1;
s_player_forceSave = -1;
s_player_checkGear = -1;
s_player_movedog = -1;
s_player_speeddog = -1;
@@ -534,11 +533,8 @@ if(isNil "dayz_sellDistance_vehicle") then {dayz_sellDistance_vehicle = 10;};
if(isNil "dayz_sellDistance_boat") then {dayz_sellDistance_boat = 30;};
if(isNil "dayz_sellDistance_air") then {dayz_sellDistance_air = 40;};
if(isNil "dayz_paraSpawn") then {dayz_paraSpawn = false;};
if(isNil "dayz_minpos") then {dayz_minpos = -20000;};
if(isNil "dayz_maxpos") then {dayz_maxpos = 20000;};
if(isNil "DZE_BuildingLimit") then {DZE_BuildingLimit = 150;};
if(isNil "DZE_HumanityTargetDistance") then {DZE_HumanityTargetDistance = 25;};
if(isNil "DZE_FriendlySaving") then {DZE_FriendlySaving = true;};
if(isNil "DZE_BuildOnRoads") then {DZE_BuildOnRoads = false;};
if(isNil "DZE_MissionLootTable") then {DZE_MissionLootTable = false;};
if(isNil "DZE_ConfigTrader") then {DZE_ConfigTrader = false;};
@@ -555,9 +551,15 @@ if(isNil "DZE_maintainRange") then {DZE_maintainRange = ((DZE_PlotPole select 0)
if(isNil "DZE_HeartBeat") then {DZE_HeartBeat = false;};
if(isNil "DZE_UseBloodTypes") then {DZE_UseBloodTypes = false;};
if(isNil "DZE_slowZombies") then {DZE_slowZombies = false;};
if ((toLower worldName) in ["napf","sauerland","tavi"]) then {
dayz_minpos = if ((toLower worldName) == "tavi") then {-26000} else {-1000};
dayz_maxpos = 26000;
} else {
dayz_minpos = -20000;
dayz_maxpos = 20000;
};
if (isServer) then {
dayz_players = [];
dead_bodyCleanup = [];
needUpdate_objects = [];
Server_InfectedCamps = [];
@@ -706,7 +708,6 @@ if (!isDedicated) then {
Dayz_freefall = [ time, 0, 0.1 ];
// EPOCH ADDITIONS
if(isNil "DZE_AllowForceSave") then {DZE_AllowForceSave = false;};
if(isNil "DZE_AllowCargoCheck") then {DZE_AllowCargoCheck = true;};
if(isNil "DZE_ForceNameTags") then {DZE_ForceNameTags = false;};
if(isNil "DZE_ForceNameTagsOff") then {DZE_ForceNameTagsOff = false;};

View File

@@ -1078,9 +1078,7 @@ class FSM
" //Reload players state" \n
" if (count _state > 2) then {" \n
" dayz_temperatur = _state select 2;" \n
" if ((count _state > 3) && DZE_FriendlySaving) then {" \n
" DZE_Friends = _state select 3;" \n
" };" \n
" };" \n
"} else {" \n
" _currentWpn = ""Makarov"";" \n
" _currentAnim = ""aidlpercmstpsraswpstdnon_player_idlesteady02"";" \n

View File

@@ -1,54 +1,36 @@
private ["_isInfected","_doLoop","_hiveVer","_isHiveOk","_playerID","_playerObj","_primary","_key","_charID","_playerName","_backpack","_isNew","_inventory","_survival","_model","_mags","_wpns","_bcpk","_config","_newPlayer"];
private ["_doLoop","_hiveVer","_isHiveOk","_playerID","_playerObj","_primary","_key","_charID","_playerName","_backpack","_isNew","_inventory","_survival","_model","_config","_mags","_wpns","_bcpk","_newPlayer","_isInfected"];
#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
#ifdef DZE_SERVER_DEBUG
#ifdef LOGIN_DEBUG
diag_log ("STARTING LOGIN: " + str(_this));
#endif
_playerID = _this select 0;
_playerObj = _this select 1;
_playerName = name _playerObj;
_worldspace = [];
if (_playerName == '__SERVER__' || _playerID == '' || local player) exitWith {};
if (isNil "sm_done") exitWith {
#ifdef DZE_SERVER_DEBUG
diag_log ("Login cancelled, server is not ready. " + str(_playerObj));
#endif
};
// Cancel any login until server_monitor terminates.
// This is mandatory since all vehicles must be spawned before the first players spawn on the map.
// Otherwise, all vehicle event handlers won't be created on players' client side.
if (isNil "sm_done") exitWith { diag_log ("Login cancelled, server is not ready. " + str(_playerObj)); };
if (count _this > 2) then {
dayz_players = dayz_players - [_this select 2];
};
_inventory = [];
_backpack = [];
_survival = [0,0,0];
_model = "";
_isInfected = 0;
//Variables
_inventory = [];
_backpack = [];
_items = [];
_magazines = [];
_weapons = [];
_medicalStats = [];
_survival = [0,0,0];
_isInfected = 0;
_tent = [];
_state = [];
_direction = 0;
_model = "";
_newUnit = objNull;
if (_playerID == "") then {
_playerID = [_playerObj] call FNC_GetPlayerUID;
};
if ((_playerID == "") || (isNil "_playerID")) exitWith {
#ifdef DZE_SERVER_DEBUG
if ((_playerID == "") or (isNil "_playerID")) exitWith {
diag_log ("LOGIN FAILED: Player [" + _playerName + "] has no login ID");
#endif
};
#ifdef DZE_SERVER_DEBUG
#ifdef LOGIN_DEBUG
diag_log ("LOGIN ATTEMPT: " + str(_playerID) + " " + _playerName);
#endif
@@ -64,14 +46,14 @@ _timeleft = 0;
//If players last logoff is about the ghost timer remove player from ghost que.
if ((_timeleft > dayz_ghostTimer) or (_timeleft < 0)) then {
dayz_ghostPlayers = dayz_ghostPlayers - [_0];
dayz_activePlayers set[_forEachIndex, _0];
dayz_activePlayers set [_forEachIndex, _0];
dayz_activePlayers = dayz_activePlayers - [_0];
} else {
//if player is in died allow them passage.
if (_playerID in dayz_died) then {
dayz_died = dayz_died - [_playerID];
dayz_ghostPlayers = dayz_ghostPlayers - [_0];
dayz_activePlayers set[_forEachIndex, _0];
dayz_activePlayers set [_forEachIndex, _0];
dayz_activePlayers = dayz_activePlayers - [_0];
} else {
// Logoff time is not beyond ghost time and player didn't die
@@ -79,7 +61,7 @@ _timeleft = 0;
};
};
};
}forEach dayz_activePlayers;
} forEach dayz_activePlayers;
//Do Connection Attempt
_doLoop = 0;
@@ -94,77 +76,50 @@ while {_doLoop < 5} do {
_doLoop = _doLoop + 1;
};
if (isNull _playerObj || !isPlayer _playerObj) exitWith {
#ifdef DZE_SERVER_DEBUG
if (isNull _playerObj or !isPlayer _playerObj) exitWith {
diag_log ("LOGIN RESULT: Exiting, player object null: " + str(_playerObj));
#endif
};
if ((_primary select 0) == "ERROR") exitWith {
#ifdef DZE_SERVER_DEBUG
diag_log format ["LOGIN RESULT: Exiting, failed to load _primary: %1 for player: %2 ",_primary,_playerID];
#endif
};
//Process request
_newPlayer = _primary select 1;
_isNew = count _primary < 7; //_result select 1;
_charID = _primary select 2;
_randomSpot = false;
#ifdef DZE_SERVER_DEBUG
diag_log ("LOGIN RESULT: " + str(_primary));
#endif
_newPlayer = _primary select 1;
_isNew = count _primary < 7; //_result select 1;
_charID = _primary select 2;
//diag_log ("LOGIN RESULT: " + str(_primary));
/* PROCESS */
_hiveVer = 0;
if (!_isNew) then {
//RETURNING CHARACTER
_inventory = _primary select 4;
_backpack = _primary select 5;
_survival = _primary select 6;
_model = _primary select 7;
_hiveVer = _primary select 8;
if (!(_model in AllPlayers)) then {
_model = "Survivor2_DZ";
};
//RETURNING CHARACTER
_inventory = _primary select 4;
_backpack = _primary select 5;
_survival = _primary select 6;
_model = _primary select 7;
_hiveVer = _primary select 8;
if !(_model in AllPlayers) then {_model = "Survivor2_DZ";};
} else {
if (DZE_PlayerZed) then {
_isInfected = _primary select 3;
} else {
_isInfected = 0;
};
_model = _primary select 4;
_hiveVer = _primary select 5;
_isInfected = if (DZE_PlayerZed) then {_primary select 3} else {0};
_model = _primary select 4;
_hiveVer = _primary select 5;
if (isNil "_model") then {
_model = "Survivor2_DZ";
} else {
if (_model == "") then {
_model = "Survivor2_DZ";
};
if (_model == "") then {_model = "Survivor2_DZ";};
};
//Record initial inventory only if not player zombie
if(_isInfected != 1) then {
_config = (configFile >> "CfgSurvival" >> "Inventory" >> "Default");
if (_isInfected != 1) then {
_config = configFile >> "CfgSurvival" >> "Inventory" >> "Default";
_mags = getArray (_config >> "magazines");
_wpns = getArray (_config >> "weapons");
_bcpk = getText (_config >> "backpack");
_randomSpot = true;
if(!isNil "DefaultMagazines") then {
_mags = DefaultMagazines;
};
if(!isNil "DefaultWeapons") then {
_wpns = DefaultWeapons;
};
if(!isNil "DefaultBackpack") then {
_bcpk = DefaultBackpack;
};
//_randomSpot = true;
if (!isNil "DefaultMagazines") then {_mags = DefaultMagazines;};
if (!isNil "DefaultWeapons") then {_wpns = DefaultWeapons;};
if (!isNil "DefaultBackpack") then {_bcpk = DefaultBackpack;};
//Wait for HIVE to be free
_key = format["CHILD:203:%1:%2:%3:",_charID,[_wpns,_mags],[_bcpk,[],[]]];
@@ -172,28 +127,13 @@ if (!_isNew) then {
};
};
#ifdef DZE_SERVER_DEBUG
diag_log ("LOGIN LOADED: " + str(_playerObj) + " Type: " + (typeOf _playerObj) + " at location: " + (getPosATL _playerObj));
#endif
_isHiveOk = false;
if (_hiveVer >= dayz_hiveVersionNo) then {
_isHiveOk = true;
};
if (worldName == "chernarus") then {
([4654,9595,0] nearestObject 145259) setDamage 1;
([4654,9595,0] nearestObject 145260) setDamage 1;
};
_isHiveOk = if (_hiveVer >= dayz_hiveVersionNo) then {true} else {false}; //EDITED
PVCDZ_plr_Login = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
#ifdef DZE_SERVER_DEBUG
diag_log format["%1, %2, %3, %4, %5, %6, %7, %8, %9, %10",_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
#endif
diag_log str(PVCDZ_plr_Login);
(owner _playerObj) publicVariableClient "PVCDZ_plr_Login";
//Make player wait till ghost timer is up.
//Make player wait until ghost timer is up.
if (_endMission) exitwith {
_remaining = dayz_ghostTimer - _timeleft;
diag_log format["LOGIN CANCELLED: player: %1 is in ghost mode. Time remianing: %2 before login!!",_playerObj,_remaining];
@@ -201,6 +141,7 @@ if (_endMission) exitwith {
(owner _playerObj) publicVariableClient "PVCDZ_plr_Ghost";
};
//Record Player Login/LogOut
[_playerID,_charID,1] call dayz_recordLogin;
PVCDZ_plr_PlayerAccepted = [_playerName,diag_ticktime];

View File

@@ -1,6 +1,6 @@
private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_randomSpot","_position","_debug","_distance","_fractures","_score","_findSpot","_mkr","_j","_isIsland","_w","_clientID","_lastInstance"];
//diag_log ("SETUP: attempted with " + str(_this));
diag_log (format["%1 DEBUG %2", __FILE__, _this]);
_characterID = _this select 0;
_playerObj = _this select 1;
@@ -8,6 +8,7 @@ _spawnSelection = _this select 3;
_playerID = [_playerObj] call FNC_GetPlayerUID;
#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
if (isNull _playerObj) exitWith {
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
};
@@ -20,17 +21,15 @@ if (_playerID == "") exitWith {
diag_log ("SETUP INIT FAILED: Exiting, no player ID: " + str(_playerObj));
};
private["_dummy"];
private "_dummy";
_dummy = [_playerObj] call FNC_GetPlayerUID;
if ( _playerID != _dummy ) then {
if (_playerID != _dummy) then {
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID];
_playerID = _dummy;
};
//Variables
_worldspace = [];
_state = [];
_worldspace = [];
_state = [];
//Do Connection Attempt
_doLoop = 0;
@@ -45,63 +44,44 @@ while {_doLoop < 5} do {
_doLoop = _doLoop + 1;
};
if (isNull _playerObj || !isPlayer _playerObj) exitWith {
if (isNull _playerObj or !isPlayer _playerObj) exitWith {
diag_log ("SETUP RESULT: Exiting, player object null: " + str(_playerObj));
};
//Wait for HIVE to be free
//diag_log ("SETUP: RESULT: Successful with " + str(_primary));
_medical = _primary select 1;
_stats = _primary select 2;
_state = _primary select 3;
_statearray = if (count _primary >= 4) then { _primary select 3 } else {[""]};
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastinstance = _primary select 6;
if (count _statearray == 0) then { _statearray = [""]; };
//diag_log ("StateNew: "+str(_statearray));
if (typeName ((_statearray) select 0) == "STRING") then {
_statearray = [_statearray,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];
};
_state = ((_statearray) select 0);
//diag_log ("State: "+str(_state));
_Achievements = ((_statearray) select 1);
if (count _Achievements == 0) then {
_Achievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
};
//diag_log ("Achievements: "+str(_Achievements));
_medical = _primary select 1;
_stats = _primary select 2;
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastInstance = _primary select 6;
_randomSpot = false; //Set position
//Set position
_randomSpot = false;
_statearray = if (count _primary >= 4) then {_primary select 3} else {[""]};
if (count _statearray == 0) then {_statearray = [""];}; //diag_log ("StateNew: "+str(_statearray));
if (typeName ((_statearray) select 0) == "STRING") then {_statearray = [_statearray,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];};
_state = (_statearray) select 0; //diag_log ("State: "+str(_state));
_Achievements = (_statearray) select 1;
if (count _Achievements == 0) then {_Achievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];};
//diag_log ("Achievements: "+str(_Achievements));
//diag_log ("WORLDSPACE: " + str(_worldspace));
if (count _worldspace > 0) then {
_position = _worldspace select 1;
if (count _position < 3) then {
//prevent debug world!
_randomSpot = true;
};
if (count _worldspace > 0) then {
_position = _worldspace select 1;
if (count _position < 3) then {_randomSpot = true;}; //prevent debug world!
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _position;
if (_distance < 2000) then {
_randomSpot = true;
};
if (_distance < 2000) then {_randomSpot = true;};
_distance = [0,0,0] distance _position;
if (_distance < 500) then {
_randomSpot = true;
};
if (_distance < 500) then {_randomSpot = true;};
//_playerObj setPosATL _position;
// Came from another server force random spawn
if (_lastInstance != dayZ_instance) then {_randomSpot = true;};
} else {
_randomSpot = true;
};
@@ -110,34 +90,32 @@ if (count _worldspace > 0) then {
//set medical values
if (count _medical > 0) then {
_playerObj setVariable["USEC_isDead",(_medical select 0),true];
_playerObj setVariable["NORRN_unconscious", (_medical select 1), true];
_playerObj setVariable["USEC_infected",(_medical select 2),true];
_playerObj setVariable["USEC_injured",(_medical select 3),true];
_playerObj setVariable["USEC_inPain",(_medical select 4),true];
_playerObj setVariable["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable["USEC_BloodQty",(_medical select 7),true];
_playerObj setVariable["unconsciousTime",(_medical select 10),true];
//Add Wounds
_playerObj setVariable ["USEC_isDead",(_medical select 0),true];
_playerObj setVariable ["NORRN_unconscious",(_medical select 1),true];
_playerObj setVariable ["USEC_infected",(_medical select 2),true];
_playerObj setVariable ["USEC_injured",(_medical select 3),true];
_playerObj setVariable ["USEC_inPain",(_medical select 4),true];
_playerObj setVariable ["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable ["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable ["USEC_BloodQty",(_medical select 7),true];
//Add bleeding wounds
{
_playerObj setVariable["hit_"+_x,true, true];
} count (_medical select 8);
_playerObj setVariable ["hit_"+_x,true,true];
} forEach (_medical select 8);
//Add fractures
_fractures = (_medical select 9);
_fractures = _medical select 9;
_playerObj setVariable ["hit_legs",(_fractures select 0),true];
_playerObj setVariable ["hit_hands",(_fractures select 1),true];
_playerObj setVariable["messing",if (count _medical >= 14) then {(_medical select 13)} else {[0,0,0]},true];
_playerObj setVariable["blood_testdone",if (count _medical >= 15) then {(_medical select 14)} else {false},true];
_playerObj setVariable ["unconsciousTime",(_medical select 10),true];
_playerObj setVariable ["messing",if (count _medical >= 14) then {(_medical select 13)} else {[0,0,0]},true];
_playerObj setVariable ["blood_testdone",if (count _medical >= 15) then {(_medical select 14)} else {false},true];
if (count _medical >= 12) then {
_playerObj setVariable["blood_type",(_medical select 11),true];
_playerObj setVariable["rh_factor",(_medical select 12),true];
_playerObj setVariable ["blood_type",(_medical select 11),true];
_playerObj setVariable ["rh_factor",(_medical select 12),true];
diag_log [ "Character data: blood_type,rh_factor,testdone=",
_playerObj getVariable ["blood_type", "?"],_playerObj getVariable ["rh_factor", "?"], _playerObj getVariable["blood_testdone", false]
_playerObj getVariable ["blood_type", "?"],_playerObj getVariable ["rh_factor", "?"], _playerObj getVariable ["blood_testdone", false]
];
} else {
_playerObj call player_bloodCalc;
@@ -146,7 +124,7 @@ if (count _medical > 0) then {
} else {
//Reset bleeding wounds
call fnc_usec_resetWoundPoints;
//Reset Fractures
//Reset fractures
_playerObj setVariable ["hit_legs",0,true];
_playerObj setVariable ["hit_hands",0,true];
_playerObj setVariable ["USEC_injured",false,true];
@@ -156,131 +134,106 @@ if (count _medical > 0) then {
_playerObj setVariable ["messing",[0,0,0],true];
_playerObj setVariable ["blood_testdone",false,true];
};
if (count _stats > 0) then {
//register stats
_playerObj setVariable["zombieKills",(_stats select 0),true];
_playerObj setVariable["headShots",(_stats select 1),true];
_playerObj setVariable["humanKills",(_stats select 2),true];
_playerObj setVariable["banditKills",(_stats select 3),true];
_playerObj setVariable ["zombieKills",(_stats select 0),true];
_playerObj setVariable ["headShots",(_stats select 1),true];
_playerObj setVariable ["humanKills",(_stats select 2),true];
_playerObj setVariable ["banditKills",(_stats select 3),true];
_playerObj addScore (_stats select 1);
//Save Score
_score = score _playerObj;
_playerObj addScore ((_stats select 0) - _score);
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable["headShots_CHK",(_stats select 1)];
_playerObj setVariable["humanKills_CHK",(_stats select 2)];
_playerObj setVariable["banditKills_CHK",(_stats select 3)];
_playerObj setVariable ["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable ["headShots_CHK",(_stats select 1)];
if (count _stats > 4) then {
if (!(_stats select 3)) then {
_playerObj setVariable["selectSex",true,true];
};
if !(_stats select 3) then {_playerObj setVariable ["selectSex",true,true];};
} else {
_playerObj setVariable["selectSex",true,true];
_playerObj setVariable ["selectSex",true,true];
};
} else {
//Save initial loadout
//register stats
_playerObj setVariable["zombieKills",0,true];
_playerObj setVariable["humanKills",0,true];
_playerObj setVariable["banditKills",0,true];
_playerObj setVariable["headShots",0,true];
_playerObj setVariable ["zombieKills",0,true];
_playerObj setVariable ["humanKills",0,true];
_playerObj setVariable ["banditKills",0,true];
_playerObj setVariable ["headShots",0,true];
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",0];
_playerObj setVariable["humanKills_CHK",0,true];
_playerObj setVariable["banditKills_CHK",0,true];
_playerObj setVariable["headShots_CHK",0];
_playerObj setVariable ["zombieKills_CHK",0];
_playerObj setVariable ["headShots_CHK",0];
};
if (_randomSpot) then {
private["_counter","_position","_isNear","_isZero","_mkr"];
if (!isDedicated) then {
endLoadingScreen;
};
private ["_counter","_position","_isNear","_isZero","_mkr"];
if (!isDedicated) then {endLoadingScreen;};
_IslandMap = if (worldName in ["dzhg","panthera2","Sara","Utes","Dingor","namalsk","isladuala","Tavi","dayznogova","tasmania2010"]) then {true} else {false};
//Spawn modify via mission init.sqf
if(isnil "spawnArea") then {
spawnArea = 1500;
};
if(isnil "spawnShoremode") then {
spawnShoremode = 1;
};
//
_spawnMC = actualSpawnMarkerCount;
if (worldName in ["dzhg", "panthera2", "Sara", "Utes", "Dingor", "namalsk", "isladuala", "Tavi", "dayznogova","tasmania2010"]) then { _IslandMap = true; } else { _IslandMap = false; };
if (isNil "spawnArea") then {spawnArea = 1400;};
if (isNil "spawnShoremode") then {spawnShoremode = 1;};
//spawn into random
_findSpot = true;
_mkr = [];
_position = [0,0,0];
for [{_j=0},{_j<=100 AND _findSpot},{_j=_j+1}] do {
for [{_j=0},{_j<=100 && _findSpot},{_j=_j+1}] do {
if (_spawnSelection == 9) then {
// random spawn location selected, lets get the marker and spawn in somewhere
if (dayz_spawnselection == 1) then { _mkr = getMarkerPos ("spawn" + str(floor(random 6))); } else { _mkr = getMarkerPos ("spawn" + str(floor(random 5))); };
// random spawn location selected, lets get the marker and spawn in somewhere
if (dayz_spawnselection == 1) then {_mkr = getMarkerPos ("spawn" + str(floor(random 6)));} else {_mkr = getMarkerPos ("spawn" + str(floor(random 5)));};
} else {
// spawn is not random, lets spawn in our location that was selected
_mkr = getMarkerPos ("spawn" + str(_spawnSelection));
};
_position = ([_mkr,0,spawnArea,10,0,2,spawnShoremode] call BIS_fnc_findSafePos);
if ((count _position >= 2) // !bad returned position
AND {(_position distance _mkr < 1400)}) then { // !ouside the disk
&& {(_position distance _mkr < spawnArea)}) then { // !ouside the disk
_position set [2, 0];
if (((ATLtoASL _position) select 2 > 2.5) //! player's feet too wet
AND {({alive _x} count (_position nearEntities ["Man",150]) == 0)}) then { // !too close from other players/zombies
&& {({alive _x} count (_position nearEntities ["Man",150]) == 0)}) then { // !too close from other players/zombies
_pos = +(_position);
_isIsland = false; //Can be set to true during the Check
_isIsland = false; //Can be set to true during the Check
// we check over a 809-meter cross line, with an effective interlaced step of 5 meters
for [{_w = 0}, {_w != 809}, {_w = ((_w + 17) % 811)}] do {
//if (_w < 17) then { diag_log format[ "%1 loop starts with _w=%2", __FILE__, _w]; };
_pos = [((_pos select 0) - _w),((_pos select 1) + _w),(_pos select 2)];
if((surfaceisWater _pos) and (!_IslandMap)) exitWith {
_isIsland = true;
};
if ((surfaceisWater _pos) && !_IslandMap) exitWith {_isIsland = true;};
};
if (!_isIsland) then {_findSpot = false};
};
};
//diag_log format["%1: pos:%2 _findSpot:%3", __FILE__, _position, _findSpot];
};
if ((_findSpot) and (!_IslandMap)) exitWith {
if (_findSpot && !_IslandMap) exitWith {
diag_log format["%1: Error, failed to find a suitable spawn spot for player. area:%2",__FILE__, _mkr];
};
_worldspace = [0,_position];
};
//Record player for management
dayz_players set [count dayz_players,_playerObj];
//record player pos locally for server checking
_playerObj setVariable["CharacterID",_characterID,true];
_playerObj setVariable["humanity",_humanity,true];
_playerObj setVariable["humanity_CHK",_humanity];
//_playerObj setVariable["worldspace",_worldspace,true];
//_playerObj setVariable["state",_state,true];
_playerObj setVariable["lastPos",getPosATL _playerObj];
_playerObj setVariable ["characterID",_characterID,true];
_playerObj setVariable ["humanity",_humanity,true];
_playerObj setVariable ["humanity_CHK",_humanity];
_playerObj setVariable ["lastPos",getPosATL _playerObj];
if (!isNil "faco_hook_playerSetup") then {
[_worldspace,_state,_playerObj, _characterID] call faco_hook_playerSetup;
[_worldspace,_state,_playerObj,_characterID] call faco_hook_playerSetup;
_playerObj call faco_sendSecret;
};
PVCDZ_plr_Login2 = [_worldspace,_state,_Achievements];
_clientID = owner _playerObj;
_clientID publicVariableClient "PVCDZ_plr_Login2";
_clientID publicVariableClient "PVCDZ_plr_plantSpawner";
//record time started
_playerObj setVariable ["lastTime",time];
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
//diag_log ("LOGIN PUBLISHING: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
diag_log format["LOGIN PUBLISHING: UID#%1 CID#%2 %3 as %4 should spawn at %5",getPlayerUID _playerObj,_characterID,_playerObj call fa_plr2str,typeOf _playerObj,(_worldspace select 1) call fa_coor2str];
PVDZ_plr_Login1 = null;
PVDZ_plr_Login2 = null;

View File

@@ -1,66 +1,49 @@
private ["_name","_character","_magazines","_force","_characterID","_charPos","_isInVehicle","_timeSince","_humanity","_debug","_distance","_isNewMed","_isNewPos","_isNewGear","_playerPos","_playerGear","_playerBackp","_medical","_distanceFoot","_lastPos","_backpack","_kills","_killsB","_killsH","_headShots","_lastTime","_timeGross","_timeLeft","_currentWpn","_currentAnim","_config","_onLadder","_isTerminal","_currentModel","_modelChk","_muzzles","_temp","_currentState","_array","_key","_pos","_forceGear","_friendlies"];
private ["_characterID","_temp","_currentWpn","_magazines","_force","_isNewPos","_humanity","_isNewGear","_currentModel","_modelChk","_playerPos","_playerGear","_playerBackp","_backpack","_killsB","_killsH","_medical","_isNewMed","_character","_timeSince","_charPos","_isInVehicle","_distanceFoot","_lastPos","_kills","_headShots","_timeGross","_timeLeft","_onLadder","_isTerminal","_currentAnim","_muzzles","_array","_key","_lastTime","_config","_currentState","_name"];
//[player,array]
_character = _this select 0;
_character = _this select 0;
_magazines = _this select 1;
_Achievements = _character getVariable "Achievements";
_Achievements = _character getVariable "Achievements";
_characterID = _character getVariable ["characterID","0"];
_force = true;
_charPos = getPosATL _character;
_isInVehicle = vehicle _character != _character;
_timeSince = 0;
_humanity = 0;
_name = if (alive _character) then {name _character} else {"Dead Player"};
//_force = _this select 2;
_forceGear = _this select 3;
_force = true;
if (isNull _character) exitWith {
diag_log ("Player is Null FAILED: Exiting, player sync: " + str(_character));
};
_characterID = _character getVariable ["CharacterID","0"];
_charPos = getPosATL _character;
_isInVehicle = vehicle _character != _character;
_timeSince = 0;
_humanity = 0;
//diag_log ("DW_DEBUG: (isnil _characterID): " + str(isnil "_characterID"));
_name = if (alive _character) then { name _character; } else { "Dead Player"; };
if (_character isKindOf "Animal") exitWith {
diag_log ("ERROR: Cannot Sync Character " + (_name) + " is an Animal class");
diag_log ("ERROR: Cannot Sync Character " + _name + " is an Animal class");
};
if (isnil "_characterID") exitWith {
diag_log ("ERROR: Cannot Sync Character " + (_name) + " has nil characterID");
if (isNil "_characterID") exitWith {
diag_log ("ERROR: Cannot Sync Character " + _name + " has nil characterID");
};
if (_characterID == "0") exitWith {
diag_log ("ERROR: Cannot Sync Character " + (_name) + " as no characterID");
diag_log ("ERROR: Cannot Sync Character " + _name + " as no characterID");
};
if (isNil {_Achievements}) exitWith {
diag_log ("ERROR: Cannot Sync Achievements " + (name _character) + " has no default Achievements");
diag_log ("ERROR: Cannot Sync Achievements " + _name + " has no default Achievements");
_Achievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
};
/*
private["_debug","_distance"];
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _charPos;
if (_distance < 2000) exitWith {
diag_log format["ERROR: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3",_name,_characterID,_charPos];
}; */
//No longer used
private["_debug","_distance"];
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _charPos;
if (_distance < 2000) exitWith {
// diag_log format["ERROR: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3",name _character,_characterID,_charPos];
};
*/
//Check for server initiated updates
_isNewMed = _character getVariable["medForceUpdate",false]; //Med Update is forced when a player receives some kind of med incident
_isNewPos = _character getVariable["posForceUpdate",false]; //Med Update is forced when a player receives some kind of med incident
_isNewGear = if (!isNil "_magazines") then { true } else { false };
_isNewMed = _character getVariable ["medForceUpdate",false]; //Med update is forced when a player receives some kind of med incident
_isNewPos = _character getVariable ["posForceUpdate",false]; //Med update is forced when a player receives some kind of med incident
_isNewGear = if (!isNil "_magazines") then { true } else { false };
//diag_log ("Starting Save... MED: " + str(_isNewMed) + " / POS: " + str(_isNewPos)); sleep 0.05;
//Check for player initiated updates
if (_characterID != "0") then {
@@ -73,44 +56,40 @@ if (_characterID != "0") then {
//diag_log ("Found Character...");
//Check if update is requested
if (_isNewPos || _force) then {
//diag_log ("position..." + str(_isNewPos) + " / " + str(_force)); uiSleep 0.05;
if (_isNewPos or _force) then {
//diag_log ("position..." + str(_isNewPos) + " / " + str(_force)); sleep 0.05;
if (((_charPos select 0) == 0) && ((_charPos select 1) == 0)) then {
//Zero Position
} else {
//diag_log ("getting position..."); uiSleep 0.05;
_playerPos = [round(direction _character),_charPos];
_lastPos = _character getVariable["lastPos",_charPos];
//diag_log ("getting position..."); sleep 0.05;
_playerPos = [round (direction _character),_charPos];
_lastPos = _character getVariable ["lastPos",_charPos];
if (count _lastPos > 2 && count _charPos > 2) then {
if (!_isInVehicle) then {
_distanceFoot = round(_charPos distance _lastPos);
};
if (!_isInVehicle) then {_distanceFoot = round (_charPos distance _lastPos);};
_character setVariable["lastPos",_charPos];
};
if (count _charPos < 3) then {
_playerPos = [];
};
//diag_log ("position = " + str(_playerPos)); uiSleep 0.05;
if (count _charPos < 3) then {_playerPos = [];};
//diag_log ("position = " + str(_playerPos)); sleep 0.05;
};
_character setVariable ["posForceUpdate",false,true];
};
if (_isNewGear || _forceGear) then {
//diag_log ("gear..."); uiSleep 0.05;
_playerGear = [weapons _character,_magazines];
//diag_log ("playerGear: " +str(_playerGear));
_backpack = unitBackpack _character;
_playerBackp = [typeOf _backpack,getWeaponCargo _backpack,getMagazineCargo _backpack];
if (_isNewGear) then {
if (typeName _magazines == "ARRAY") then {
_playerGear = [weapons _character,_magazines select 0,_magazines select 1];
};
};
if (_isNewMed || _force) then {
//diag_log ("medical..."); uiSleep 0.05;
if (!(_character getVariable["USEC_isDead",false])) then {
//diag_log ("medical check..."); uiSleep 0.05;
//Check player backpack each time sync runs
_backpack = unitBackpack _character;
_playerBackp = [typeOf _backpack,getWeaponCargo _backpack,getMagazineCargo _backpack];
if (_isNewMed or _force) then {
//diag_log ("medical..."); sleep 0.05;
if !(_character getVariable ["USEC_isDead",false]) then {
//diag_log ("medical check..."); sleep 0.05;
_medical = _character call player_sumMedical;
//diag_log ("medical result..." + str(_medical)); uiSleep 0.05;
//diag_log ("medical result..." + str(_medical)); sleep 0.05;
};
_character setVariable ["medForceUpdate",false,true];
};
@@ -122,7 +101,7 @@ if (_characterID != "0") then {
Check previous stats against what client had when they logged in
this helps prevent JIP issues, where a new player wouldn't have received
the old players updates. Only valid for stats where clients could have
be recording results from their local objects (such as agent zombies)
be recording results from their local objects (such as agent zombies)
*/
_kills = ["zombieKills",_character] call server_getDiff;
_killsB = ["banditKills",_character] call server_getDiff;
@@ -134,9 +113,9 @@ if (_characterID != "0") then {
/*
Assess how much time has passed, for recording total time on server
*/
_lastTime = _character getVariable["lastTime",diag_ticktime];
_lastTime = _character getVariable ["lastTime",diag_ticktime];
_timeGross = (diag_ticktime - _lastTime);
_timeSince = floor(_timeGross / 60);
_timeSince = floor (_timeGross / 60);
_timeLeft = (_timeGross - (_timeSince * 60));
/*
Get character state details
@@ -152,81 +131,62 @@ if (_characterID != "0") then {
if (_currentModel == _modelChk) then {
_currentModel = "";
} else {
_currentModel = str(_currentModel);
_currentModel = str _currentModel;
_character setVariable ["model_CHK",typeOf _character];
};
if (_onLadder || _isInVehicle || _isTerminal) then {
if (_onLadder or _isInVehicle or _isTerminal) then {
_currentAnim = "";
//If position to be updated, make sure it is at ground level!
if ((count _playerPos > 0) && !_isTerminal) then {
_charPos set [2,0];
_playerPos set[1,_charPos];
_playerPos set [1,_charPos];
};
};
if (_isInVehicle) then {
_currentWpn = "";
} else {
if ( typeName(_currentWpn) == "STRING" ) then {
_muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
if (count _muzzles > 1) then {
_currentWpn = currentMuzzle _character;
};
if (typeName _currentWpn == "STRING") then {
_muzzles = getArray (configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
if (count _muzzles > 1) then {_currentWpn = currentMuzzle _character;};
} else {
//diag_log ("DW_DEBUG: _currentWpn: " + str(_currentWpn));
_currentWpn = "";
};
};
_temp = round(_character getVariable ["temperature",100]);
_temp = round (_character getVariable ["temperature",100]);
_currentState = [[_currentWpn,_currentAnim,_temp],_Achievements];
if(DZE_FriendlySaving) then {
// save only last/most recent 5 entrys as we only have 200 chars in db field and weapon + animation names are sometimes really long 60-70 chars.
_friendlies = [(_character getVariable ["friendlies",[]]),5] call array_reduceSizeReverse;
_currentState set [(count _currentState),_friendlies];
};
/*
Everything is ready, now publish to HIVE
*/
if (count _playerPos > 0) then {
_array = [];
{
if (_x > dayz_minpos && _x < dayz_maxpos) then {
_array set [count _array,_x];
};
} count (_playerPos select 1);
if (_x > dayz_minpos && _x < dayz_maxpos) then {_array set [count _array,_x];};
} forEach (_playerPos select 1);
_playerPos set [1,_array];
};
if (!isNull _character) then {
if (alive _character) then {
//Wait for HIVE to be free
//Send request
//Wait for HIVE to be free and send request
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,_kills,_headShots,_distanceFoot,_timeSince,_currentState,_killsH,_killsB,_currentModel,_humanity];
//diag_log ("HIVE: WRITE: "+ str(_key) + " / " + _characterID);
//diag_log format["HIVE: SYNC: [%1,%2,%3,%4]",_characterID,_playerPos,_playerGear,_playerBackp];
_key call server_hiveWrite;
};
};
// If player is in a vehicle, keep its position updated
if (vehicle _character != _character) then {
//[vehicle _character, "position"] call server_updateObject;
if (!(vehicle _character in needUpdate_objects)) then {
//diag_log format["DEBUG: Added to NeedUpdate=%1",vehicle _character];
needUpdate_objects set [count needUpdate_objects, vehicle _character];
};
[vehicle _character, "position"] call server_updateObject;
};
// Force gear updates for nearby vehicles/tents
{
[_x, "gear"] call server_updateObject;
} count (nearestObjects [_charPos, DayZ_GearedObjects, 10]);
} count nearestObjects [_character, DayZ_GearedObjects, 10];
//[_charPos] call server_updateNearbyObjects;
//Reset timer
@@ -234,4 +194,4 @@ if (_characterID != "0") then {
_character setVariable ["lastTime",(diag_ticktime - _timeLeft)];
};
};
};
};

View File

@@ -59,15 +59,11 @@ enableSentences false;
//Map & Player Spawn Variables
spawnShoremode = 1; // Default: 1 (on shore)
spawnArea= 1500; // Default: 1500
spawnArea = 1400; // Default: 1400
dayz_paraSpawn = false; // Default: false
dayz_fullMoonNights = true; // Default: false
dayz_MapArea = 14000; // Default: 10000
//Do Not Edit - Chernarus Specific
dayz_minpos = -1; // Do Not Edit - Chernarus Specific
dayz_maxpos = 16000; // Do Not Edit - Chernarus Specific
//Item Spawn Variables
MaxHeliCrashes= 5; // Default: 5
MaxVehicleLimit = 300; // Default: 50
@@ -89,7 +85,6 @@ dayz_sellDistance_air = 40; // Default: 40
//Player Variables
DZE_R3F_WEIGHT = true; // Default: true
DZE_FriendlySaving = true; // Default: true
DZE_PlayerZed = true; // Default: true
DZE_BackpackGuard = true; // Default: true
DZE_SelfTransfuse = false; // Default: false
@@ -107,7 +102,6 @@ DZE_DeathMsgSide = false; // Default: false
DZE_DeathMsgTitleText = false; // Default: false
//Vehicles Variables
DZE_AllowForceSave = false; // Default: false
DZE_AllowCargoCheck = false; // Default: false
DZE_HeliLift = true; // Default: true
DZE_HaloJump = true; // Default: true

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 400; // Default = 100

View File

@@ -32,9 +32,6 @@ dayz_MapArea = 20000; // Default = 10000
EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
dayz_fullMoonNights = true;
dayz_minpos = -26000;
dayz_maxpos = 26000;
dayz_sellDistance_vehicle = 10;
dayz_sellDistance_boat = 30;
dayz_sellDistance_air = 40;

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 200; // Default = 50
MaxDynamicDebris = 250; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea = 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 200; // Default = 50
MaxDynamicDebris = 250; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea = 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 200; // Default = 50
MaxDynamicDebris = 250; // Default = 100

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 350; // Default = 100

View File

@@ -21,7 +21,7 @@ enableRadio false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100

View File

@@ -23,15 +23,12 @@ enableSentences false;
// DayZ Epochconfig
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
//
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100
dayz_MapArea = 18000; // Default = 10000
dayz_minpos = -1000;
dayz_maxpos = 26000;
dayz_paraSpawn = true;
dayz_sellDistance_vehicle = 10;

View File

@@ -29,9 +29,6 @@ MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100
dayz_MapArea = 22000; // Default = 10000
dayz_minpos = -1000;
dayz_maxpos = 26000;
dayz_paraSpawn = true;
dayz_sellDistance_vehicle = 10;

View File

@@ -29,9 +29,6 @@ MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100
dayz_MapArea = 22000; // Default = 10000
dayz_minpos = -1000;
dayz_maxpos = 26000;
dayz_paraSpawn = true;
dayz_sellDistance_vehicle = 10;

View File

@@ -23,7 +23,7 @@ enableSentences false;
// DayZ Epoch config
dayz_enableRules = true; // Default: true
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea = 1500; // Default = 1500
spawnArea = 1400; // Default = 1400
MaxVehicleLimit = 300; // Default = 50
MaxDynamicDebris = 500; // Default = 100