fn_slingHelmet.sqf 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. _unit = _this select 0;
  2. _side = _this select 1;
  3. _helmetAttached = _unit getVariable ["GEARF_HelmetAttached", false];
  4. if (headgear _unit == "") then {
  5. systemChat "No headgear to sling.";
  6. } else {
  7. _headgear = headgear _unit;
  8. removeHeadgear _unit;
  9. _helmetHolder = "GroundWeaponHolder" createVehicle [0,0,0];
  10. _helmetHolder addItemCargoGlobal [_headgear, 1];
  11. _unit setVariable ["GEARF_HelmetAttachedClass", _headgear];
  12. _unit setVariable ["GEARF_HelmetAttached", true];
  13. _additional = [];
  14. (backpackItems _unit) apply {
  15. _parents = [configFile >> "CfgWeapons" >> _x >> "ItemInfo", true] call BIS_fnc_returnParents;
  16. if("HeadgearItem" in _parents) then {
  17. _additional append [_x];
  18. };
  19. };
  20. _unit unassignitem "SWOP_visordown_antenna";
  21. _unit unassignitem "SWOP_Visor_Down2_RD501";
  22. _unit unassignitem "SWOP_visordown_501_antenna";
  23. _unit unassignitem "SWOP_visor_antenna";
  24. _unit unassignitem "SWOP_visor_w";
  25. _unit unassignitem "RD501_visor_w2";
  26. _unit unassignitem "SWOP_range";
  27. _unit unassignitem "SWOP_rangeARC";
  28. _unit unassignitem "SWOP_Visor_Down_RD501";
  29. _unit unassignitem "SWOP_cosir5f";
  30. _unit unassignitem "SWOP_cosir4f";
  31. _unit unassignitem "SWOP_cosir3f";
  32. _unit unassignitem "SWOP_cosir2f";
  33. _unit unassignitem "SWOP_cosir1f";
  34. _unit unassignitem "SWOP_cosir5";
  35. _unit unassignitem "SWOP_cosir4";
  36. _unit unassignitem "SWOP_cosir3";
  37. _unit unassignitem "SWOP_cosir2";
  38. _unit unassignitem "SWOP_cosir1";
  39. _unit unassignitem "SWOP_cosir5a";
  40. _unit unassignitem "SWOP_cosir4a";
  41. _unit unassignitem "SWOP_cosir3a";
  42. _unit unassignitem "SWOP_cosir2a";
  43. _unit unassignitem "SWOP_cosir1a";
  44. _unit unassignitem "SWOP_cosir4_P1";
  45. _unit unassignitem "SWOP_cosir3_P1";
  46. _unit unassignitem "SWOP_cosir2_P1";
  47. _unit unassignitem "SWOP_cosir1_P1";
  48. _additionalClass = _additional select 0;
  49. _unit addHeadgear _additionalClass;
  50. _unit removeItemFromBackpack _additionalClass;
  51. switch (_side) do {
  52. case "left": {
  53. _helmetHolder attachTo [_unit, [0.52,0.1,1.72],"lfemur"];
  54. [_helmetHolder, [0,5,120]] call GEARF_fnc_rotateObject;
  55. };
  56. case "right": {
  57. _helmetHolder attachTo [_unit, [-0.41,0.25,1.72],"rfemur"];
  58. [_helmetHolder, [0,-5,-120]] call GEARF_fnc_rotateObject;
  59. };
  60. };
  61. };
  62. aaa attachTo [player, [-0.21,0.15,1.72],"lfemur"];