Files
DayZ-Epoch/SQF/dayz_code/compile/player_death.sqf
ebaydayz 959507bfc7 Add autorun hotkey
Tested while autorunning:
- getting knocked out
- breaking legs
- running into water
- getting into and out of vehicles
- climbing a ladder
- dying
- antiTP enabled
- running up steep hills
- as player zombie

Everything works as expected. This does allow you to run up and down
pretty steep hills, but if you try to scale something too steep you will
break your legs as expected.
2016-03-01 22:34:36 -05:00

127 lines
3.7 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 {
// _body addWeapon dayz_onBack;
//};
_infected = 0;
if (r_player_infected && DZE_PlayerZed) then {
_infected = 1;
};
PVDZE_plr_Died = [dayz_characterID,0,_body,_playerID,_infected, dayz_playerName];
publicVariableServer "PVDZE_plr_Died";
_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 ["startcombattimer", 0];
r_player_unconscious = false;
r_player_cardiac = false;
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];
PVDZE_send = [_source,"Humanity",[_source,_humanityHit,300]];
publicVariableServer "PVDZE_send";
} else {
//i'm "guilty" - kill me as bandit
_killsV = _source getVariable ["banditKills",0];
_source setVariable ["banditKills",(_killsV + 1),true];
};
};
_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;
};
PVDZE_Server_Simulation = [_body, false];
publicVariableServer "PVDZE_Server_Simulation";
endMission "END1";