mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 04:02:37 +03:00
It makes no sense to rename the identical DayZ PVs to have an E in their name. I don't see any good reason it was done in the first place. All it accomplishes is breaking script compatibility between the two mods and requiring different publicvariable.txt filters. The only time it makes sense is for custom Epoch variables that aren't used in vanilla. All admins have to do to update custom scripts is swap the names according to the change log. Note I've submitted a pull request to replace PVDZ_veh_Save with PVDZ_obj_Save in official too because they are duplicates.
163 lines
5.1 KiB
Plaintext
163 lines
5.1 KiB
Plaintext
private ["_display","_body","_playerID","_array","_source","_method","_canHitFree","_isBandit","_punishment","_humanityHit","_myKills","_humanity","_kills","_killsV","_myGroup"];
|
|
disableSerialization;
|
|
if (deathHandled) exitWith {};
|
|
deathHandled = true;
|
|
if ((alive player) && {isNil {dayz_playerName}}) then {
|
|
dayz_playerName = name player;
|
|
};
|
|
//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;
|
|
_playerID = [player] call FNC_GetPlayerUID;
|
|
|
|
disableUserInput true;
|
|
//add weapon on back to player...
|
|
if (dayz_onBack != "") then {
|
|
//Add weapon on back to body.
|
|
_body addWeapon dayz_onBack;
|
|
/*
|
|
//Add weapon on back to the ground.
|
|
_pos = _body modeltoWorld [1,1,0];
|
|
//_pos set [2, 0];
|
|
_item = createVehicle ["WeaponHolder", _pos, [], 0.0, "CAN_COLLIDE"];
|
|
_item setPosATL [_pos select 0, _pos select 1, ((_pos select 2) + 0.1)];
|
|
_item addWeaponCargoGlobal [dayz_onBack,1];
|
|
*/
|
|
};
|
|
_infected = 0;
|
|
if (r_player_infected && DZE_PlayerZed) then {
|
|
_infected = 1;
|
|
};
|
|
//Send Death Notice
|
|
//["PVDZ_plr_Death",[dayz_characterID,0,_body,_playerID,dayz_playerName]] call callRpcProcedure;
|
|
PVDZ_plr_Death = [dayz_characterID,0,_body,_playerID,_infected,dayz_playerName];
|
|
publicVariableServer "PVDZ_plr_Death";
|
|
|
|
_id = [player,20,true,getPosATL player] call player_alertZombies;
|
|
|
|
uiSleep 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];
|
|
player setVariable ["bloodTaken", false, true];
|
|
player setVariable ["startcombattimer", 0];
|
|
r_player_unconscious = false;
|
|
r_player_cardiac = false;
|
|
_model = typeOf player;
|
|
autoRunActive = 0;
|
|
|
|
_array = _this;
|
|
if (count _array > 0) then {
|
|
_source = _array select 0;
|
|
_method = _array select 1;
|
|
if ((!isNull _source) && (_source != player)) then {
|
|
_canHitFree = player getVariable ["freeTarget",false];
|
|
_isBandit = (player getVariable["humanity",0]) <= -2000;
|
|
_punishment = _canHitFree || _isBandit; //if u are bandit || start first - player will not recieve humanity drop
|
|
_humanityHit = 0;
|
|
if (!_punishment) then {
|
|
//i'm "not guilty" - kill me && be punished
|
|
_myKills = ((player getVariable ["humanKills",0]) / 30) * 1000;
|
|
_humanityHit = -(2000 - _myKills);
|
|
_kills = _source getVariable ["humanKills",0];
|
|
_source setVariable ["humanKills",(_kills + 1),true];
|
|
PVDZ_send = [_source,"Humanity",[_source,_humanityHit,300]];
|
|
publicVariableServer "PVDZ_send";
|
|
} else {
|
|
//i'm "guilty" - kill me as bandit
|
|
_killsV = _source getVariable ["banditKills",0];
|
|
_source setVariable ["banditKills",(_killsV + 1),true];
|
|
};
|
|
// START Musty Achievement
|
|
_killer = _source; // who did the killing
|
|
_killedachievementID = -1;
|
|
if (_killer distance _body > 200) then {
|
|
_killedachievementID = 15; // steady aim
|
|
achievement_SteadyAim = true;
|
|
};
|
|
if (_killer distance _body > 500) then {
|
|
_killedachievementID = 16; // marksman
|
|
achievement_Marksman = true;
|
|
};
|
|
if (_killer distance _body > 1000) then {
|
|
_killedachievementID = 17; // sniper
|
|
achievement_Sniper = true;
|
|
};
|
|
if (_killedachievementID > -1) then {
|
|
if (dayz_playerAchievements select _killedachievementID < 1) then {
|
|
_killerID = _killer getVariable["characterID",0]; // get his characterID
|
|
dayz_playerAchievements set [_killedachievementID,1];
|
|
achievement = [_killedachievementID, _killer, _killerID]; // publish event to server
|
|
publicVariableServer "achievement";
|
|
};
|
|
};
|
|
// END Musty Achievement
|
|
};
|
|
_body setVariable ["deathType",_method,true];
|
|
};
|
|
|
|
terminate dayz_musicH;
|
|
terminate dayz_slowCheck;
|
|
//terminate dayz_animalCheck;
|
|
terminate dayz_monitor1;
|
|
//terminate dayz_medicalH;
|
|
//terminate dayz_gui;
|
|
|
|
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;
|
|
uiSleep 1;
|
|
|
|
dayz_originalPlayer enableSimulation true;
|
|
|
|
addSwitchableUnit dayz_originalPlayer;
|
|
setPlayable dayz_originalPlayer;
|
|
selectPlayer dayz_originalPlayer;
|
|
|
|
//_myGroup = group _body;
|
|
//[_body] joinSilent dayz_firstGroup;
|
|
//deleteGroup _myGroup;
|
|
|
|
3 cutRsc ["default", "PLAIN",3];
|
|
4 cutRsc ["default", "PLAIN",3];
|
|
|
|
_body setVariable["combattimeout", 0, true];
|
|
|
|
//["dayzFlies",player] call broadcastRpcCallAll;
|
|
uiSleep 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;
|
|
|
|
uiSleep 2;
|
|
|
|
for "_x" from 5 to 1 step -1 do {
|
|
titleText [format[localize "str_return_lobby", _x], "PLAIN DOWN", 1];
|
|
uiSleep 1;
|
|
};
|
|
|
|
PVDZ_Server_Simulation = [_body, false];
|
|
publicVariableServer "PVDZ_Server_Simulation";
|
|
|
|
endMission "END1";
|