diff --git a/SQF/dayz_code/actions/dayz_spaceInterrupt.sqf b/SQF/dayz_code/actions/dayz_spaceInterrupt.sqf index f64a78d69..9402b48e4 100644 --- a/SQF/dayz_code/actions/dayz_spaceInterrupt.sqf +++ b/SQF/dayz_code/actions/dayz_spaceInterrupt.sqf @@ -7,6 +7,42 @@ if (_dikCode in[0x58,0x57,0x44,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x0B _handled = true; }; +if ((_dikCode == 0x3E or _dikCode == 0x0F or _dikCode == 0xD3) and (diag_tickTime - dayz_lastCheckBit > 10)) then { + dayz_lastCheckBit = diag_tickTime; + call dayz_forceSave; +}; + +// surrender +if (_dikCode in actionKeys "Surrender") then { + + // Toggle on/off + if (DZE_Surrender) then { + DZE_Surrender = false; + + [objNull, player, rSwitchMove,""] call RE; + player playActionNow ""; + + } else { + DZE_Surrender = true; + + // remove weaponns and ammo + if (primaryWeapon player != "") then { + player action ["dropWeapon",player, (primaryWeapon player)]; + }; + if (secondaryWeapon player != "") then { + player action ["dropWeapon",player, (secondaryWeapon player)]; + }; + {player action ["dropMagazine", player, _x]} forEach magazines player; + + // surrender animation + player playMove "AmovPercMstpSsurWnonDnon"; + }; + + r_interrupt = true +}; + + + if (_dikCode in actionKeys "MoveForward") exitWith {r_interrupt = true}; if (_dikCode in actionKeys "MoveLeft") exitWith {r_interrupt = true}; if (_dikCode in actionKeys "MoveRight") exitWith {r_interrupt = true}; @@ -119,13 +155,4 @@ if (_dikCode == 0x01) then { DZE_cancelBuilding = true; }; -if ((_dikCode == 0x3E or _dikCode == 0x0F or _dikCode == 0xD3) and (diag_tickTime - dayz_lastCheckBit > 10)) then { - dayz_lastCheckBit = diag_tickTime; - call dayz_forceSave; -}; -/* -if (_dikCode in actionKeys "IngamePause") then { - _idOnPause = [] spawn dayz_onPause; -}; -*/ -_handled +_handled \ No newline at end of file diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 027bbb626..68cc8b396 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -668,4 +668,6 @@ if(!isDedicated) then { DZE_trees = ["t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_ficusb2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d"]; DZE_TEMP_treedmg = 1; + + DZE_Surrender = false; };