Скрипт потери снаряжения (случайного)

Данный скрипт взят из миссии Altis On Fire от MeatballCB .

 

В данному скрипте у игрока убирается часть снаряжения.
Конечно же можно переписать, т.к. он не универсален, например в 20, 21 строке, где снимается определённая оптика.

// Lose Random Items Script v 0.2
// By Meatball
// Coding Insight from Na_Palm, Grumpy Old Man & Das Attorney
private ["_delListU","_delListB","_delListV","_randWpn","_randLost"];

// Убираем оружие у игрока
_randWpn = floor (random 3);

if (_randWpn == 0) then {
  if (primaryweapon player != "") then {
  player unassignItem (primaryweapon player);
  player removeWeapon (primaryweapon player);
  };
  } else {
    if (_randWpn == 1) then {
      if (secondaryweapon player != "") then {
      player unassignItem (secondaryweapon player);
      player removeWeapon (secondaryweapon player);
      };
    player removePrimaryWeaponItem "optic_Arco";
    player removePrimaryWeaponItem "optic_ACO_grn";
    } else {
      if (handgunweapon player != "") then {
        player unassignItem (handgunweapon player);
        player removeWeapon (handgunweapon player);
      };
      player removePrimaryWeaponItem "optic_Arco";
      player removePrimaryWeaponItem "optic_ACO_grn";
    };
  };

// Убираем предметы из формы
_delListU = []; 
for "_i" from 0 to (count uniformitems player - 1) do 
    {_randLost = random 5; 
    if (_randLost >= 3) then { 
        _delListU set [count _delListU, ((uniformitems player) select _i)]; 
    }; 
}; 

{ 
if (isClass(configFile >> "CfgMagazines" >> _x)) then { 
    player removeMagazine _x; 
    } else { 
        if (isClass(configFile >> "CfgWeapons" >> _x))  then { 
            player removeweapon _x; 
        } else { 
            player removeitem _x; 
        }; 
    }; 
}forEach _delListU;  

// Убираем предметы из жилета
_delListV = []; 
for "_i" from 0 to (count vestitems player - 1) do 
    {_randLost = random 5; 
    if (_randLost >= 3) then { 
        _delListV set [count _delListV, ((vestitems player) select _i)]; 
    }; 
}; 

{ 
if (isClass(configFile >> "CfgMagazines" >> _x)) then { 
    player removeMagazine _x; 
    } else { 
        if (isClass(configFile >> "CfgWeapons" >> _x))  then { 
            player removeweapon _x; 
        } else { 
            player removeitem _x; 
        }; 
    }; 
}forEach _delListV;

// Убираем предметы из рюкзака
_delListB = []; 
for "_i" from 0 to (count backpackitems player - 1) do 
    {_randLost = random 5; 
    if (_randLost >= 3) then { 
        _delListB set [count _delListB, ((backpackitems player) select _i)]; 
    }; 
}; 

{ 
if (isClass(configFile >> "CfgMagazines" >> _x)) then { 
    player removeMagazine _x; 
    } else { 
        if (isClass(configFile >> "CfgWeapons" >> _x))  then { 
            player removeweapon _x; 
        } else { 
            player removeitem _x; 
        }; 
    }; 
}forEach _delListB;

Если же что-то непонятно, то можно спросить / уточнить в нашем Discord канале