Files

59 lines
1.4 KiB
Plaintext

private ["_unit","_weapon","_param","_HandAction","_Actiondelay","_Sound","_Sound_Location","_hasOptic","_acc","_reloadDelay"];
_unit = _this select 0;
_weapon = _this select 1;
_HandAction = _this select 2;
_Actiondelay = _this select 3;
_Sound = _this select 4;
_Sound_Location = _this select 5;
_hasOptic = (_this select 6 == 1);
_acc = _unit weaponAccessories _weapon;
_reloadDelay = _this select 7;
if (_acc select 2 != "") then
{
_hasOptic = true;
};
if (!local _unit && _hasOptic) exitwith {};
if (_unit ammo _weapon !=0) then
{
if (!isDedicated && _hasOptic && player == _unit) then
{
if (cameraview == "GUNNER") then
{
true call bg_fnc_block_reloadaction;
};
while {cameraview == "GUNNER"} do
{
_unit setWeaponReloadingTime [_unit,_weapon,1];
sleep 0.001;
};
sleep _Actiondelay;
[_unit,_Sound,_Sound_Location] spawn bg_fnc_playweaponsound;
bg_wep_playsound = [_unit,_Sound,_Sound_Location];
publicVariable "bg_wep_playsound";
_unit playAction _HandAction;
true call bg_fnc_block_reloadaction;
sleep _reloadDelay;
false call bg_fnc_block_reloadaction;
}
else
{
sleep _Actiondelay;
[_unit,_Sound,_Sound_Location] spawn bg_fnc_playweaponsound;
if (local _unit) then
{
_unit playAction _HandAction;
if (_unit == player) then
{
true call bg_fnc_block_reloadaction;
sleep _reloadDelay;
false call bg_fnc_block_reloadaction;
};
};
};
};