59 lines
1.4 KiB
Plaintext
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;
|
|
};
|
|
};
|
|
};
|
|
|
|
}; |