From 6c62b3f8e471fb25afeb8ea3de0ca7304a1aa32a Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Tue, 24 Jan 2017 15:55:15 -0500 Subject: [PATCH] Rework player_death for respawnDelay=0; #1825 See #1825 --- CHANGE LOG 1.0.6.1.txt | 1 + SQF/dayz_code/Configs/rscTitles.hpp | 3 +- SQF/dayz_code/compile/fn_damageHandler.sqf | 4 +- SQF/dayz_code/compile/player_death.sqf | 188 +++++++++++------- .../compile/server_onPlayerDisconnect.sqf | 21 +- SQF/dayz_server/compile/server_playerDied.sqf | 6 +- SQF/dayz_server/compile/server_playerSync.sqf | 2 +- Server Files/Battleye/scripts.txt | 2 +- .../DayZ_Epoch_1.Takistan/description.ext | 2 +- .../description.ext | 2 +- .../DayZ_Epoch_11.Chernarus/description.ext | 2 +- .../DayZ_Epoch_12.isladuala/description.ext | 2 +- .../DayZ_Epoch_13.Tavi/description.ext | 2 +- .../DayZ_Epoch_15.namalsk/description.ext | 2 +- .../DayZ_Epoch_16.Panthera2/description.ext | 2 +- .../DayZ_Epoch_17.Chernarus/description.ext | 2 +- .../DayZ_Epoch_19.FDF_Isle1_a/description.ext | 2 +- .../DayZ_Epoch_2.Utes/description.ext | 2 +- .../DayZ_Epoch_20.fapovo/description.ext | 2 +- .../DayZ_Epoch_21.Caribou/description.ext | 2 +- .../description.ext | 2 +- .../DayZ_Epoch_23.cmr_ovaron/description.ext | 2 +- .../DayZ_Epoch_24.Napf/description.ext | 2 +- .../DayZ_Epoch_25.sauerland/description.ext | 2 +- .../description.ext | 2 +- .../DayZ_Epoch_3.Shapur_BAF/description.ext | 2 +- .../DayZ_Epoch_4.Zargabad/description.ext | 2 +- .../DayZ_Epoch_5.Bootcamp_ACR/description.ext | 2 +- .../DayZ_Epoch_7.Lingor/description.ext | 2 +- .../description.ext | 2 +- .../DayZ_Epoch_9.Woodland_ACR/description.ext | 2 +- 31 files changed, 157 insertions(+), 116 deletions(-) diff --git a/CHANGE LOG 1.0.6.1.txt b/CHANGE LOG 1.0.6.1.txt index f0ab743cb..536c24f67 100644 --- a/CHANGE LOG 1.0.6.1.txt +++ b/CHANGE LOG 1.0.6.1.txt @@ -66,6 +66,7 @@ [FIXED] Group icons will not show for units inside the player's vehicle anymore (helis, large planes, etc.). #1865 @schwanzkopfhegel [FIXED] Lighting fires and building fireplaces not working on platforms raised over the sea #1866 @schwanzkopfhegel [FIXED] Bandit1_DZ and Bandit2_DZ were the same. Bandit1_DZ is back to the normal non-camo skin now. #1874 @DeVloek +[FIXED] If a player force kills their game immediately after dying their body will no longer disappear. #1825 @looter809 [NOTE] The fixes below are included in the 1.0.6 Build C server package released December 29th, 2016 (http://dayzepoch.com/a2dayzepoch.php) [FIXED] Hive child 309 errors that resulted in broken saving of newly built storage object inventory. @icomrade diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index 6f61b9592..b8f147d39 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -432,8 +432,7 @@ class RscDisplayMPInterrupt : RscStandardDisplay { class CA_B_Respawn : CA_B_SAVE { idc = 1010; //onButtonClick = "hint str (_this select 0);"; - //Show as a suicide in server RPT log - onButtonClick = "if ((alive player) && (r_fracture_legs or {player isKindOf 'PZombie_VB'})) then { [player,'shot'] call player_death; };"; + onButtonClick = "if ((alive player) && (r_fracture_legs or {player isKindOf 'PZombie_VB'})) then { [player,'suicide'] call player_death; };"; y = 0.2537 + 0.101903 * 2; text = $STR_DISP_INT_RESPAWN; default = 0; diff --git a/SQF/dayz_code/compile/fn_damageHandler.sqf b/SQF/dayz_code/compile/fn_damageHandler.sqf index 0615775dd..4e00e7488 100644 --- a/SQF/dayz_code/compile/fn_damageHandler.sqf +++ b/SQF/dayz_code/compile/fn_damageHandler.sqf @@ -86,7 +86,7 @@ if (_unit == player) then { if (_hit == "" && _ammo != "Crash") exitWith //Ignore none part dmg. Exit after processing humanity hit. Don't punish driver for damaging passenger in crash { - if (!local _source && _isPlayer && alive player) then + if (!local _source && _isPlayer && alive player && !_isPZombie) then //Do not punish for shooting a player zombie { _isBandit = (player getVariable["humanity",0]) <= -5000; //_isBandit = (_model in ["Bandit1_DZ","BanditW1_DZ"]); @@ -105,7 +105,7 @@ if (_unit == player) then { // - Accidental Murder - \\ When wearing the garb of a non-civilian you are taking your life in your own hands // Attackers humanity should not be punished for killing a survivor who has shrouded his identity in military garb. - _punishment = ((_isBandit or {player getVariable ["OpenTarget",false]}) && !_isPZombie); + _punishment = (_isBandit or {player getVariable ["OpenTarget",false]}); _humanityHit = 0; if (!_punishment && {(dayz_lastHumanityChange + 3) < diag_tickTime}) then { diff --git a/SQF/dayz_code/compile/player_death.sqf b/SQF/dayz_code/compile/player_death.sqf index 385e4b0b5..fa5bc0854 100644 --- a/SQF/dayz_code/compile/player_death.sqf +++ b/SQF/dayz_code/compile/player_death.sqf @@ -1,13 +1,32 @@ -//SetDamage immediately so Arma registers the player as dead. +private ["_ammo","_body","_distance","_infected","_playerID","_sourceName","_sourceWeapon","_sourceVehicleType","_isBandit","_punishment","_humanityHit","_myKills","_kills","_killsV","_display","_myGroup","_camera","_deathPos","_animState","_animStateArray","_animCheck"]; + if (deathHandled) exitWith {}; deathHandled = true; -player setDamage 1; -private ["_ammo","_body","_distance","_infected","_playerID","_sourceName","_sourceWeapon","_sourceVehicleType","_isBandit","_punishment","_humanityHit","_myKills","_kills","_killsV"]; +// Get reference to player object before respawn into new unit (respawnDelay=0 in description.ext) +if (typeName (_this select 0) == "ARRAY") then { + _body = (_this select 0) select 0; + _source = (_this select 0) select 1; +} else { + _body = player; + _source = _this select 0; +}; -_body = player; +_deathPos = getPos _body; _playerID = getPlayerUID player; +//Switch view to camera so player does not see debug plains at respawn_west +_camera = "camera" camCreate _deathPos; +_camera camSetDir 0; +_camera camSetFOV 1; +_camera cameraEffect ["Internal","TOP"]; +_camera camSetTarget _deathPos; +_camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 5]; +_camera camCommit 0; + +//SetDamage immediately so Arma registers the player as dead and respawns them into new unit +player setDamage 1; + if (dayz_onBack != "") then { _body addWeapon dayz_onBack; }; @@ -18,25 +37,33 @@ _sourceName = "unknown"; _sourceWeapon = ""; _distance = 0; -_source = if (typeName (_this select 0) == "ARRAY") then {(_this select 0) select 1} else {_this select 0}; _method = switch true do { case (_this select 1 != "find"): {_this select 1}; //Manually passed method - case (dayz_lastDamageSource != "none" && diag_tickTime - dayz_lastDamageTime < 30): {dayz_lastDamageSource}; //Major event takes priority for cause of death (shot, fell, crash, etc.) + case (dayz_lastDamageSource != "none" && diag_tickTime - dayz_lastDamageTime < 30): {dayz_lastDamageSource}; //Major event takes priority for cause of death (zombie, melee, shot, fell, etc.) case (dayz_lastMedicalSource != "none" && diag_tickTime - dayz_lastMedicalTime < 10): {dayz_lastMedicalSource}; //Starve, Dehyd, Sick default {"bled"}; //No other damage sources in last 30 seconds }; _ammo = if (count _this > 2) then {_this select 2} else {""}; if (!isNull _source) then { - if (!isNull _body) then {_distance = round (_body distance _source);}; + if (!isNull _body) then { + _distance = round (_body distance _source); + }; + _sourceVehicleType = typeOf (vehicle _source); - _sourceWeapon = if (_sourceVehicleType isKindOf "LandVehicle" or _sourceVehicleType isKindOf "Air" or _sourceVehicleType isKindOf "Ship") then {_sourceVehicleType} else {currentWeapon _source}; - if (_sourceWeapon == "Throw") then {_sourceWeapon = (weaponState _source) select 3;}; - if (_ammo in ["PipeBomb","Mine","MineE"]) then {_sourceWeapon = _ammo;}; + _sourceWeapon = currentWeapon _source; + _sourceWeapon = switch true do { + case (_ammo in ["PipeBomb","Mine","MineE"]): {_ammo}; + case (_sourceVehicleType isKindOf "LandVehicle" or _sourceVehicleType isKindOf "Air" or _sourceVehicleType isKindOf "Ship"): {_sourceVehicleType}; + case (_sourceWeapon == "Throw"): {(weaponState _source) select 3}; + default {_sourceWeapon}; + }; + if (alive _source) then { _sourceName = if (isPlayer _source) then {name _source} else {"AI"}; + } else { + if (_source == _body) then {_sourceName = dayz_playerName;}; }; - if (_source == _body) then {_sourceName = dayz_playerName;}; }; //Send Death Notice @@ -44,19 +71,20 @@ diag_log format["Player_Death: Body:%1 BodyName:%2 Infected:%3 SourceName:%4 Sou PVDZ_plr_Death = [dayz_characterID,0,_body,_playerID,toArray dayz_playerName,_infected,toArray _sourceName,toArray _sourceWeapon,_distance,_method]; //Send name as array to avoid publicVariable value restrictions publicVariableServer "PVDZ_plr_Death"; -_body setVariable ["deathType",_method,true]; +_body setVariable ["deathType", if (_method == "suicide") then {"shot"} else {_method}, true]; -if (!local _source && isPlayer _source) then { - _isBandit = (player getVariable["humanity",0]) <= -2000; - //_isBandit = (typeOf player in ["Bandit1_DZ","BanditW1_DZ"]); +if (!local _source && isPlayer _source && !(_body isKindOf "PZombie_VB")) then { //If corpse is a player zombie do not give killer a human or bandit kill + //Values like humanity which were setVariabled onto player before death remain on corpse. + _isBandit = (_body getVariable["humanity",0]) <= -2000; + //_isBandit = (typeOf _body in ["Bandit1_DZ","BanditW1_DZ"]); //if you are a bandit or start first - player will not recieve humanity drop - _punishment = ((_isBandit or {player getVariable ["OpenTarget",false]}) && !(player isKindOf "PZombie_VB")); + _punishment = (_isBandit or {_body getVariable ["OpenTarget",false]}); _humanityHit = 0; if (!_punishment) then { //I'm "not guilty" - kill me and be punished - _myKills = (player getVariable ["humanKills",0]) * 33.3; + _myKills = (_body getVariable ["humanKills",0]) * 33.3; // how many non bandit players have I (the dead player) killed? // punish my killer 2000 for shooting a surivor // but subtract 500 for each survivor I've murdered @@ -75,80 +103,85 @@ if (!local _source && isPlayer _source) then { _body setVariable ["KillingBlow",[_source,_punishment],true]; }; -[] spawn { - private ["_display","_body","_myGroup"]; - disableSerialization; +disableSerialization; - //Prevent client freezes - _display = findDisplay 49; - if (!isNull _display) then {_display closeDisplay 0;}; - if (dialog) then {closeDialog 0;}; - if (visibleMap) then {openMap false;}; +//Prevent client freezes +_display = findDisplay 49; +if (!isNull _display) then {_display closeDisplay 0;}; +if (dialog) then {closeDialog 0;}; +if (visibleMap) then {openMap false;}; - _body = player; - disableUserInput true; +disableUserInput true; - _id = [player,20,true,getPosATL player] call player_alertZombies; - uiSleep 0.5; - if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound - 0.1 fadeSound 0; +_id = [_body,20,true,_deathPos] call player_alertZombies; +if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound +0.1 fadeSound 0; - player setVariable ["NORRN_unconscious", false, true]; - player setVariable ["unconsciousTime", 0, true]; - player setVariable ["USEC_isCardiac",false,true]; - player setVariable ["medForceUpdate",true,true]; - player setVariable ["bloodTaken", false, true]; - player setVariable ["startcombattimer", 0]; //remove combat timer on death - player setVariable ["inCombat", false, true]; - r_player_unconscious = false; - r_player_cardiac = false; - dayz_autoRun = false; +_body setVariable ["NORRN_unconscious", false, true]; +_body setVariable ["unconsciousTime", 0, true]; +_body setVariable ["USEC_isCardiac",false,true]; +_body setVariable ["medForceUpdate",true,true]; +_body setVariable ["bloodTaken", false, true]; +_body setVariable ["startcombattimer", 0]; //remove combat timer on death +_body setVariable ["inCombat", false, true]; +r_player_unconscious = false; +r_player_cardiac = false; +dayz_autoRun = false; - terminate dayz_musicH; - terminate dayz_slowCheck; - terminate dayz_monitor1; +terminate dayz_musicH; +terminate dayz_slowCheck; +terminate dayz_monitor1; - //Reset (just in case) - //deleteVehicle dayz_playerTrigger; - //disableUserInput false; - r_player_dead = true; +//Reset (just in case) +//deleteVehicle dayz_playerTrigger; +//disableUserInput false; +r_player_dead = true; - //Player is dead! - 3 fadeSound 0; - uiSleep 1; +//Player is dead! +3 fadeSound 0; - dayz_originalPlayer enableSimulation true; - addSwitchableUnit dayz_originalPlayer; - setPlayable dayz_originalPlayer; - selectPlayer dayz_originalPlayer; +dayz_originalPlayer enableSimulation true; +addSwitchableUnit dayz_originalPlayer; +setPlayable dayz_originalPlayer; +selectPlayer dayz_originalPlayer; - _myGroup = group _body; - [_body] joinSilent dayz_firstGroup; - deleteGroup _myGroup; - 80000 cutText ["","PLAIN"]; //Clear group icons +_myGroup = group _body; +[_body] joinSilent dayz_firstGroup; +deleteGroup _myGroup; - 3 cutRsc ["default", "PLAIN",3]; - 4 cutRsc ["default", "PLAIN",3]; +80000 cutText ["","PLAIN"]; //Clear group icons +3 cutRsc ["default", "PLAIN",3]; +4 cutRsc ["default", "PLAIN",3]; - _body setVariable["combattimeout", 0, true]; - //due to a cleanup issue with effects this has been disabled remember to look at the cleanup before adding it back. - //dayzFlies = player; - //publicVariable "dayzFlies"; - uiSleep 2; +_body setVariable["combattimeout", 0, true]; +//due to a cleanup issue with effects this has been disabled remember to look at the cleanup before adding it back. +//dayzFlies = player; +//publicVariable "dayzFlies"; + +_animState = toLower (animationState _body); +_animStateArray = toArray _animState; +_animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1),(_animStateArray select 2),(_animStateArray select 3)]); +if ((_body == (vehicle _body)) && {_animState != "deadstate" && {_animCheck != "adth"}}) then { //fix running corpses - death anims begin with Adth + [nil, _body, rSWITCHMOVE, ""] call RE; + _body SWITCHMOVE ""; + PVDZ_plr_SwitchMove = [_body,""]; + publicVariableServer "PVDZ_plr_SwitchMove"; +}; + +[_body,_camera,_deathPos] spawn { + _body = _this select 0; + _camera = _this select 1; + _deathPos = _this select 2; + + waitUntil {camCommitted _camera}; + _camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 15]; + _camera camCommit 4; + uiSleep 5; + 1 cutRsc [if (DZE_DeathScreen) then {"DeathScreen_DZE"} else {"DeathScreen_DZ"},"BLACK OUT",3]; playMusic "dayz_track_death_1"; uiSleep 2; - _animState = toLower (AnimationState _body); - _animStateArray = toArray _animState; - _animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1),(_animStateArray select 2),(_animStateArray select 3)]); - if ((_body == (vehicle _body)) && {_animState != "deadstate" && {_animCheck != "adth"}}) then { //fix running corpses - death anims begin with Adth - [nil, _body, rSWITCHMOVE, ""] call RE; - _body SWITCHMOVE ""; - PVDZ_plr_SwitchMove = [_body,""]; - publicVariableServer "PVDZ_plr_SwitchMove"; - }; - for "_x" from 5 to 1 step -1 do { titleText [format[localize "str_return_lobby", _x], "PLAIN DOWN", 1]; uiSleep 1; @@ -156,6 +189,9 @@ if (!local _source && isPlayer _source) then { PVDZ_Server_Simulation = [_body, false]; publicVariableServer "PVDZ_Server_Simulation"; + + _camera cameraEffect ["Terminate","BACK"]; + camDestroy _camera; endMission "END1"; }; \ No newline at end of file diff --git a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf index 7208701bb..f29485372 100644 --- a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf +++ b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf @@ -5,20 +5,29 @@ References to the player object after that point will return objNull, so this function and server_playerSync must be fast or the player will not save. */ -private ["_playerObj","_playerUID","_playerPos","_playerName","_characterID","_inCombat","_Sepsis","_myGroup"]; +private ["_playerObj","_playerUID","_playerPos","_playerName","_characterID","_inCombat","_Sepsis"]; _playerUID = _this select 0; _playerName = _this select 1; _playerObj = nil; //Lets search all players looking for the object that matches our UID +//If the player just died then the new unit they respawned into will be found (respawnDelay=0 in description.ext) { if ((getPlayerUID _x) == _playerUID) exitWith { _playerObj = _x; _playerPos = getPosATL _playerObj;}; } count playableUnits; //If playerObj is not in playableUnits then lets exit the disconnect system. if (isNil "_playerObj") exitWith { - diag_log format["%1: Player object is not in playableUnits. This is normal if the player just died. _this:%2", __FILE__, _this]; + diag_log format["%1: Exiting. Player is not in playableUnits. _this:%2", __FILE__, _this]; +}; + +//Player object is alive in debug zone. The player most likely just respawned. +if (_playerPos distance respawn_west_original < 1500) exitWith { + diag_log format["%1: Exiting. Player is near respawn_west. This is normal if the player just died. _this:%2", __FILE__, _this]; + if (!isNull _playerObj) then { + _playerObj call sched_co_deleteVehicle; + }; }; //diag_log format["get: %1 (%2), sent: %3 (%4)",typeName (getPlayerUID _playerObj), getPlayerUID _playerObj, typeName _playerUID, _playerUID]; @@ -36,9 +45,7 @@ if (_playerUID in dayz_ghostPlayers) exitWith { //Lets remove the object. if (!isNull _playerObj) then { - _myGroup = group _playerObj; - deleteVehicle _playerObj; - deleteGroup _myGroup; + _playerObj call sched_co_deleteVehicle; }; }; @@ -85,7 +92,5 @@ if (_characterID != "?") then { }; if (alive _playerObj) then { - _myGroup = group _playerObj; - deleteVehicle _playerObj; - deleteGroup _myGroup; + _playerObj call sched_co_deleteVehicle; }; \ No newline at end of file diff --git a/SQF/dayz_server/compile/server_playerDied.sqf b/SQF/dayz_server/compile/server_playerDied.sqf index 04ca9f2e2..3635e2943 100644 --- a/SQF/dayz_server/compile/server_playerDied.sqf +++ b/SQF/dayz_server/compile/server_playerDied.sqf @@ -36,15 +36,15 @@ if (_characterID != "0") then { #ifdef PLAYER_DEBUG diag_log format ["Player UID#%3 CID#%4 %1 as %5 died at %2", _newObject call fa_plr2str, _pos call fa_coor2str, - getPlayerUID _newObject,_characterID, + _playerID, _characterID, typeOf _newObject ]; #endif // DEATH MESSAGES -_suicide = _sourceName == _playerName; +_suicide = ((_sourceName == _playerName) or (_method == "suicide")); -if (_method in ["explosion","melee","shot","shothead","shotheavy"] && !(_method == "explosion" && (_suicide or _sourceName == "unknown"))) then { +if (_method in ["explosion","melee","shot","shothead","shotheavy","suicide"] && !(_method == "explosion" && (_suicide or _sourceName == "unknown"))) then { if (_suicide) then { _message = ["suicide",_playerName]; } else { diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index fcb4b3044..560b0c8a5 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -26,7 +26,7 @@ if (isNil "_characterID") exitWith { if (_characterID == "0" or _inDebug) exitWith { if (_inDebug) then { - diag_log format["INFO: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3 (May be relogging or changing clothes)",_name,_characterID,_charPos]; + diag_log format["INFO: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3. This is normal when respawning, relogging and changing clothes.",_name,_characterID,_charPos]; } else { diag_log ("ERROR: Cannot Sync Character " + _name + " as no characterID"); }; diff --git a/Server Files/Battleye/scripts.txt b/Server Files/Battleye/scripts.txt index 77ad10328..09f8cf6c0 100644 --- a/Server Files/Battleye/scripts.txt +++ b/Server Files/Battleye/scripts.txt @@ -30,7 +30,7 @@ 5 playableUnits !"for [{_y=0},{_y < count(playableUnits)},{_y=_y+1}] do {" !"typeName player == \"OBJECT\")}) AND {((player in playableUnits) AND {(alive player)" !"(1 max count playableUnits)) min (dayz_maxAnimals - _count))) to 1 step -1 do {" !"AND {((alive _x) AND {((vehicle _x) distance _obj < 150)})}} count playableUnits)}) then {" !="_local = { _unit distance _x < _dis; } count playableUnits <= 1;" !"if (!_isOk) exitWith {false};\nuiSleep 0.001;\n} forEach playableUnits;" !"ManagementMustBeClose) then { player nearEntities [\"CAManBase\", 10] } else { playableUnits };" 5 selectPlayer !"dayz_originalPlayer enableSimulation true;\naddSwitchableUnit dayz_originalPlayer;\nsetPlayable dayz_originalPlayer;\nselectPlayer dayz_originalPlayer;" !"addSwitchableUnit _newUnit;\nsetPlayable _newUnit;\nselectPlayer _newUnit;" 5 serverCommand !="_character = if (serverCommandAvailable \"#kick\") then { call sched_tg_follow } else { player };" !"serverCommand (\"#kick \" + _selectedName);" -5 setDamage !"([4654,9595,0] nearestObject 145259) setDamage 1;\n([4654,9595,0] nearestObject 145260) setDamage 1;" !"if (_entity isKindOf \"Animal\") then {\n_entity setDamage 1;" !"_tree setDamage 1;\ndayz_choppedTrees set [count dayz_choppedTrees,_tree];" !"if (deathHandled) exitWith {};\ndeathHandled = true;\nplayer setDamage 1;" !"\n_obj setDamage (damage _obj) + _damage;\n" !"if(\"\" == typeOf _tree) then {\n_tree setDamage 1;\n};" !"if (_ent isKindOf \"Animal\" || _ent isKindOf \"zZombie_base\") then {\n_ent setDamage 1;" +5 setDamage !"([4654,9595,0] nearestObject 145259) setDamage 1;\n([4654,9595,0] nearestObject 145260) setDamage 1;" !"if (_entity isKindOf \"Animal\") then {\n_entity setDamage 1;" !"_tree setDamage 1;\ndayz_choppedTrees set [count dayz_choppedTrees,_tree];" !"player setDamage 1;\n\nif (dayz_onBack != \"\") then {\n_body addWeapon dayz_onBack;" !"\n_obj setDamage (damage _obj) + _damage;\n" !"if(\"\" == typeOf _tree) then {\n_tree setDamage 1;\n};" !"if (_ent isKindOf \"Animal\" || _ent isKindOf \"zZombie_base\") then {\n_ent setDamage 1;" 5 setDammage 5 SetEventHandler !="_menu ctrlSetEventHandler [\"ButtonClick\",_compile];" !="inGameUISetEventHandler [\"PrevAction\",\"false\"];" !="inGameUISetEventHandler [\"NextAction\",\"false\"];" !="inGameUISetEventHandler [\"Action\",\"false\"];" 5 setMarkerAlpha diff --git a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/description.ext b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/description.ext index 2e84d9cdf..47ac3a67e 100644 --- a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Takistan"; OnLoadIntro = "Welcome to Takistan"; diff --git a/Server Files/MPMissions/DayZ_Epoch_10.Mountains_ACR/description.ext b/Server Files/MPMissions/DayZ_Epoch_10.Mountains_ACR/description.ext index 998058b12..7817c1768 100644 --- a/Server Files/MPMissions/DayZ_Epoch_10.Mountains_ACR/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_10.Mountains_ACR/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Mountains ACR"; OnLoadIntro = "Welcome to Mountains ACR"; diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/description.ext b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/description.ext index bb29a9569..0af6acba6 100644 --- a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Chernarus"; OnLoadIntro = "Welcome to Chernarus"; diff --git a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/description.ext b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/description.ext index 96aa9c88c..e131c3b2a 100644 --- a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Isla Duala"; OnLoadIntro = "Welcome to Isla Duala"; diff --git a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/description.ext b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/description.ext index 91f5b1d6f..f5b0fab59 100644 --- a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Taviana"; OnLoadIntro = "Welcome to Taviana"; diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/description.ext b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/description.ext index e34dfa60b..eb62f0fa8 100644 --- a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Namalsk"; OnLoadIntro = "Welcome to Namalsk"; diff --git a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/description.ext b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/description.ext index e6eea25bb..a820271e2 100644 --- a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Panthera"; OnLoadIntro = "Welcome to Panthera Island"; diff --git a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/description.ext b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/description.ext index fe147ca6e..e0c9f93f6 100644 --- a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Chernarus"; OnLoadIntro = "Welcome to Chernarus"; diff --git a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/description.ext b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/description.ext index 9f3215b7c..801cde396 100644 --- a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Podagorsk"; OnLoadIntro = "Welcome to Podagorsk"; diff --git a/Server Files/MPMissions/DayZ_Epoch_2.Utes/description.ext b/Server Files/MPMissions/DayZ_Epoch_2.Utes/description.ext index 5e8376f43..31696afe5 100644 --- a/Server Files/MPMissions/DayZ_Epoch_2.Utes/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_2.Utes/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Utes"; OnLoadIntro = "Welcome to Utes"; diff --git a/Server Files/MPMissions/DayZ_Epoch_20.fapovo/description.ext b/Server Files/MPMissions/DayZ_Epoch_20.fapovo/description.ext index 6a7d904e4..3c353f524 100644 --- a/Server Files/MPMissions/DayZ_Epoch_20.fapovo/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_20.fapovo/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Fapovo"; OnLoadIntro = "Welcome to Fapovo Island"; diff --git a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/description.ext b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/description.ext index 1a332b831..cc071c10c 100644 --- a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Caribou Frontier"; OnLoadIntro = "Welcome to Caribou Frontier"; diff --git a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/description.ext b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/description.ext index 6b62b79f3..d07596cf8 100644 --- a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission= "DayZ Epoch SMD Sahrani"; OnLoadIntro = "Welcome to SMD Sahrani"; diff --git a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/description.ext b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/description.ext index 555286434..5b714cc02 100644 --- a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Ovaron"; OnLoadIntro = "Welcome to Ovaron"; diff --git a/Server Files/MPMissions/DayZ_Epoch_24.Napf/description.ext b/Server Files/MPMissions/DayZ_Epoch_24.Napf/description.ext index 3520a65f0..f05f0dbfb 100644 --- a/Server Files/MPMissions/DayZ_Epoch_24.Napf/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_24.Napf/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Napf"; OnLoadIntro = "Welcome to Napf"; diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/description.ext b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/description.ext index ca829c235..1655c9033 100644 --- a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Sauerland"; OnLoadIntro = "Welcome to Sauerland"; diff --git a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/description.ext b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/description.ext index 92e028fb4..2e0ae93a2 100644 --- a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Sauerland Winter Edition"; OnLoadIntro = "Welcome to Sauerland"; diff --git a/Server Files/MPMissions/DayZ_Epoch_3.Shapur_BAF/description.ext b/Server Files/MPMissions/DayZ_Epoch_3.Shapur_BAF/description.ext index 7cf8258c7..d70d02a9a 100644 --- a/Server Files/MPMissions/DayZ_Epoch_3.Shapur_BAF/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_3.Shapur_BAF/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Shapur"; OnLoadIntro = "Welcome to Shapur"; diff --git a/Server Files/MPMissions/DayZ_Epoch_4.Zargabad/description.ext b/Server Files/MPMissions/DayZ_Epoch_4.Zargabad/description.ext index 95281b0d1..e493aa840 100644 --- a/Server Files/MPMissions/DayZ_Epoch_4.Zargabad/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_4.Zargabad/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Zargabad"; OnLoadIntro = "Welcome to Zargabad"; diff --git a/Server Files/MPMissions/DayZ_Epoch_5.Bootcamp_ACR/description.ext b/Server Files/MPMissions/DayZ_Epoch_5.Bootcamp_ACR/description.ext index f91c514f3..0477ff01a 100644 --- a/Server Files/MPMissions/DayZ_Epoch_5.Bootcamp_ACR/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_5.Bootcamp_ACR/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Bootcamp ACR"; OnLoadIntro = "Welcome to Bootcamp ACR"; diff --git a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/description.ext b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/description.ext index 749a479d9..70aeb394c 100644 --- a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Lingor"; OnLoadIntro = "Welcome to Lingor Island"; diff --git a/Server Files/MPMissions/DayZ_Epoch_8.ProvingGrounds_PMC/description.ext b/Server Files/MPMissions/DayZ_Epoch_8.ProvingGrounds_PMC/description.ext index 01f2fd477..93d01657f 100644 --- a/Server Files/MPMissions/DayZ_Epoch_8.ProvingGrounds_PMC/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_8.ProvingGrounds_PMC/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Proving Grounds PMC"; OnLoadIntro = "Welcome to Proving Grounds PMC"; diff --git a/Server Files/MPMissions/DayZ_Epoch_9.Woodland_ACR/description.ext b/Server Files/MPMissions/DayZ_Epoch_9.Woodland_ACR/description.ext index 2b504fbca..8f085ce3a 100644 --- a/Server Files/MPMissions/DayZ_Epoch_9.Woodland_ACR/description.ext +++ b/Server Files/MPMissions/DayZ_Epoch_9.Woodland_ACR/description.ext @@ -1,5 +1,5 @@ respawn = "BASE"; -respawnDelay = 5; +respawnDelay = 0; respawnDialog = 0; onLoadMission = "DayZ Epoch Woodland ACR"; OnLoadIntro = "Welcome to Woodland ACR";