Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
The only issue with gravecrosses now is if someone is on a build the cross spawns inside that building at ground level.... would 'findSafePos' fix this?
hideBody _player;
// Grave cleanup after 5 minutes.
[_graveBase, _tempContainer] spawn {
sleep 300; // 5 minutes.
deleteVehicle (_this select 0);
deleteVehicle (_this select 1);
};
private ["_array","_source","_kills","_killsV","_humanity","_wait","_myKills","_infected","_canHitFree","_myHumanity","_method","_body","_playerID","_id","_myGroup","_magazineArray","_control","_item","_val","_max"];
if (deathHandled) exitWith {};
deathHandled = true;
// ################## grave cross parameter start ##################
_magazines = call player_countmagazines;
_backpack = unitBackpack player;
// #### ITEM backpack check start ####
private ["_newBackpackType","_backpackWpn","_backpackMag"];
dayz_myBackpack = unitBackpack player;
_newBackpackType = (typeOf dayz_myBackpack);
if(_newBackpackType != "") then {
_backpackWpn = getWeaponCargo unitBackpack player;
_backpackMag = getMagazineCargo unitBackpack player;
};
// #### ITEM backpack check stop ####
// ################## grave cross parameter stop ##################
//Death
_body = player;
_playerID = getPlayerUID player;
disableUserInput true;
//Send Death Notice
//["PVDZ_plr_Death",[dayz_characterID,0,_body,_playerID,dayz_playerName]] call callRpcProcedure;
PVDZ_plr_Death = [dayz_characterID,0,_body,_playerID];
publicVariableServer "PVDZ_plr_Death";
_id = [player,20,true,getPosATL player] spawn player_alertZombies;
sleep 0.5;
player setDamage 1;
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];
//remove combat timer on death
player setVariable ["startcombattimer", 0];
r_player_unconscious = false;
r_player_cardiac = false;
_id = player spawn spawn_flies;
_array = _this;
if (count _array > 0) then {
_source = _array select 0;
_method = _array select 1;
if (!isNull _source) then {
if (_source != player) then {
_canHitFree = player getVariable ["freeTarget",false];
//_isBandit = (["Bandit",typeOf player,false] call fnc_inString);
_isBandit = (player getVariable["humanity",0]) <= -2000;
_wait = 0;
_humanity = 0;
if (!_canHitFree and !_isBandit) then {
// "humanKills" from local character is used to compute _source player "PVDZ_plr_Humanity" change
_myKills = -1 max (1 - (player getVariable ["humanKills",0]) / 7); // -1 (good action) to 1 (bad action)
_humanity = -2000 * _myKills;
if (_humanity > 0) then { _wait = 300; };
_kills = _source getVariable ["humanKills",0];
_source setVariable ["humanKills",(_kills + 1),true];
} else {
_killsV = _source getVariable ["banditKills",0];
_source setVariable ["banditKills",(_killsV + 1),true];
_wait = 0;
};
if (!_canHitFree and !_isBandit and (_humanity != 0)) then {
//["PVDZ_plr_Humanity",[_source,_humanity,_wait]] call broadcastRpcCallAll;
PVDZ_plr_Humanity = [_source,_humanity,_wait];
publicVariable "PVDZ_plr_Humanity";
};
};
};
_body setVariable ["deathType",_method,true];
};
terminate dayz_musicH;
//terminate dayz_lootCheck;
terminate dayz_slowCheck;
terminate dayz_animalCheck;
terminate dayz_monitor1;
terminate dayz_medicalH;
terminate dayz_gui;
//terminate dayz_zedCheck;
terminate dayz_locationCheck;
//terminate dayz_combatCheck;
terminate dayz_spawnCheck;
//Reset (just in case)
//deleteVehicle dayz_playerTrigger;
//disableUserInput false;
r_player_dead = true;
"dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [4]; "dynamicBlur" ppEffectCommit 0.2;
"colorCorrections" ppEffectEnable true;
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.01], [1, 1, 1, 0.0]];
"colorCorrections" ppEffectCommit 1;
//Player is Dead!
3 fadeSound 0;
0 cutText ["", "BLACK",10];
dayz_DeathActioned = true;
sleep 1;
TitleText[localize "str_player_12","PLAIN DOWN",5];
dayz_originalPlayer enableSimulation true;
addSwitchableUnit dayz_originalPlayer;
setPlayable dayz_originalPlayer;
selectPlayer dayz_originalPlayer;
_myGroup = group _body;
[_body] joinSilent dayz_firstGroup;
deleteGroup _myGroup;
// ################## grave cross script start ##################
// --------------------player items setparameter
_playerWeapons = weapons _body;
_playerMagazines = _magazines;
_playerSkin = (typeOf _body);
// ############# script ##############
removeAllWeapons _body;
clearMagazineCargo _body;
hidebody _body;
// --------------------Create a loot container inside the grave.
_tempContainer = createVehicle ["weaponHolder", getPosATL _body, [], 0, "can_collide"];
_containerLoc = getPosATL _tempContainer;
_containerLoc = [((_containerLoc select 0) + 0),((_containerLoc select 1) + 0),0];
_tempContainer setPosATL _containerLoc;
// #### PLAYER items to weaponholder start ####
// player add weapons
{
_tempContainer addWeaponCargoGlobal [_x,1];
} forEach _playerWeapons;
// player add items
{
_tempContainer addMagazineCargoGlobal [_x,1];
} forEach _playerMagazines;
// #### PLAYER items to weaponholder stop ####
// #### PLAYER skin to weaponsholder start ####
switch (_playerSkin) do {
case "Survivor3_DZ": {
_playerSkin = "Survivor2_DZ";
};
case "Bandit1_DZ": {
_playerSkin = "Survivor2_DZ";
};
};
_skinItem = "Skin_" + _playerSkin;
_okSkin = isClass (configFile >> "CfgMagazines" >> _skinItem);
if(_okSkin) then {
_tempContainer addMagazineCargoGlobal [_skinItem,1];
};
// #### PLAYER skin to weaponsholder stop ####
// #### BACKPACK items to weaponsholder start ####
if (!isNil "_newBackpackType") then {
if (_newBackpackType != "") then {
_backpackWpnTypes = [];
_backpackWpnQtys = [];
if (count _backpackWpn > 0) then {
_backpackWpnTypes = _backpackWpn select 0;
_backpackWpnQtys = _backpackWpn select 1;
};
_countr = 0;
{
_tempContainer addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
_countr = _countr + 1;
} forEach _backpackWpnTypes;
_backpackmagTypes = [];
_backpackmagQtys = [];
if (count _backpackmag > 0) then {
_backpackmagTypes = _backpackMag select 0;
_backpackmagQtys = _backpackMag select 1;
};
_countr = 0;
{
_tempContainer addmagazineCargoGlobal [_x,(_backpackmagQtys select _countr)];
_countr = _countr + 1;
} forEach _backpackmagTypes;
};
};
// #### BACKPACK items to weaponsholder stop ####
// #### BACKPACK to weaponsholder start ####
// help from opendayz: AlienX (simpler code)
_allowedBackpacks = ["CZ_VestPouch_EP1", "DZ_Patrol_Pack_EP1", "DZ_Assault_Pack_EP1", "DZ_CivilBackpack_EP1",
"DZ_ALICE_Pack_EP1", "DZ_Backpack_EP1", "DZ_British_ACU", "DZ_Czech_Vest_Puch"];
_class = typeOf _backpack;
if (_class in _allowedBackpacks) then { createVehicle [_class, position _body, [], 4, "can_collide"]; };
// #### BACKPACK to weaponsholder stop ####
// ### PERMALOOT start ###
_tempContainer setVariable["permaLoot", true];
// ### PERMALOOT stop ###
// --------------------Create the tombstone objects.
_graveBase = createVehicle ["GraveCross2", position _tempContainer, [], 0, "NO_COLLIDE"];
_graveBase setPosATL position _tempContainer; // setPos again because arma.
_graveBase setDir _playerDir;
// Grave cleanup after 5 minutes.
[_graveBase, _tempContainer] spawn {
};
// ################## grave cross script stop ##################
3 cutRsc ["default", "PLAIN",3];
4 cutRsc ["default", "PLAIN",3];
if (count _array > 0) then {
_body setVariable ["deathType",_method,true];
};
_body setVariable["combattimeout", 0, true];
//["dayzFlies",player] call broadcastRpcCallAll;
sleep 2;
1 cutRsc ["DeathScreen","BLACK OUT",3];
playMusic "dayz_track_death_1";
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5;
sleep 2;
disableUserInput false;