Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2016
1,303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. /**
  2. * ExileClient_util_playerEquipment_add
  3. *
  4. * Exile Mod
  5. * www.exilemod.com
  6. * © 2015 Exile Mod Team
  7. *
  8. * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  9. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
  10. */
  11.  
  12. private["_player","_itemClassName","_bulletCount","_itemInformation","_itemCategory","_itemType","_added","_compatibleWeaponItems"];
  13. _player = _this select 0;
  14. _itemClassName = toLower (_this select 1);
  15. _bulletCount = [_this, 2, -1] call BIS_fnc_param;
  16. _itemInformation = [_itemClassName] call BIS_fnc_itemType;
  17. _itemCategory = _itemInformation select 0;
  18. _itemType = _itemInformation select 1;
  19. _added = false;
  20. if (_itemCategory isEqualTo "Magazine") then
  21. {
  22. {
  23. if !(_x isEqualTo "") then
  24. {
  25. switch (_forEachIndex) do
  26. {
  27. case 0:
  28. {
  29. if ((primaryWeaponMagazine _player) isEqualTo []) then
  30. {
  31. _compatibleWeaponItems = _x call ExileClient_util_gear_getCompatibleWeaponItems;
  32. if (_itemClassName in _compatibleWeaponItems) then
  33. {
  34. if (_bulletCount isEqualTo -1) then
  35. {
  36. _player addPrimaryWeaponItem _itemClassName;
  37. }
  38. else
  39. {
  40. _player addWeaponItem [_x, [_itemClassName, _bulletCount]];
  41. };
  42. _added = true;
  43. };
  44. };
  45. };
  46. case 1:
  47. {
  48. if ((secondaryWeaponMagazine _player) isEqualTo []) then
  49. {
  50. _compatibleWeaponItems = _x call ExileClient_util_gear_getCompatibleWeaponItems;
  51. if (_itemClassName in _compatibleWeaponItems) then
  52. {
  53. if (_bulletCount isEqualTo -1) then
  54. {
  55. _player addSecondaryWeaponItem _itemClassName;
  56. }
  57. else
  58. {
  59. _player addWeaponItem [_x, [_itemClassName, _bulletCount]];
  60. };
  61. _added = true;
  62. };
  63. };
  64. };
  65. case 2:
  66. {
  67. if ((handgunMagazine _player) isEqualTo []) then
  68. {
  69. _compatibleWeaponItems = _x call ExileClient_util_gear_getCompatibleWeaponItems;
  70. if (_itemClassName in _compatibleWeaponItems) then
  71. {
  72. if (_bulletCount isEqualTo -1) then
  73. {
  74. _player addHandgunItem _itemClassName;
  75. }
  76. else
  77. {
  78. _player addWeaponItem [_x, [_itemClassName, _bulletCount]];
  79. };
  80. _added = true;
  81. };
  82. };
  83. };
  84. };
  85. };
  86. if (_added) exitWith {};
  87. }
  88. forEach [primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player];
  89. }
  90. else
  91. {
  92. switch (_itemType) do
  93. {
  94. case "AssaultRifle",
  95. case "Rifle",
  96. case "SniperRifle",
  97. case "SubmachineGun",
  98. case "MachineGun",
  99. case "Launcher",
  100. case "RocketLauncher",
  101. case "MissileLauncher",
  102. case "GrenadeLauncher":
  103. {
  104. _player addWeaponGlobal _itemClassName;
  105. _added = true;
  106. };
  107. case "Handgun":
  108. {
  109. _player addWeaponGlobal _itemClassName;
  110. _added = true;
  111. };
  112. case "LaserDesignator",
  113. case "Throw",
  114. case "Binocular":
  115. {
  116. _player addWeaponGlobal _itemClassName;
  117. _added = true;
  118. };
  119. case "GPS",
  120. case "Map",
  121. case "Radio",
  122. case "UAVTerminal",
  123. case "Watch",
  124. case "Compass",
  125. case "NVGoggles",
  126. case "Glasses":
  127. {
  128. _player linkItem _itemClassName;
  129. _added = true;
  130. };
  131. case "Headgear": { _player addHeadgear _itemClassName; _added = true; };
  132. case "Backpack": { _player addBackpackGlobal _itemClassName; _added = true; };
  133. case "Uniform": { _player forceAddUniform _itemClassName; _added = true; };
  134. case "Vest": { _player addVest _itemClassName; _added = true; };
  135. case "AccessorySights",
  136. case "AccessoryPointer",
  137. case "AccessoryMuzzle",
  138. case "AccessoryBipod":
  139. {
  140. {
  141. if !(_x isEqualTo "") then
  142. {
  143. _compatibleWeaponItems = _x call ExileClient_util_gear_getCompatibleWeaponItems;
  144. if (_itemClassName in _compatibleWeaponItems) exitWith
  145. {
  146. switch (_forEachIndex) do
  147. {
  148. case 0: { _player addPrimaryWeaponItem _itemClassName; _added = true; };
  149. case 1: { _player addSecondaryWeaponItem _itemClassName; _added = true; };
  150. case 2: { _player addHandgunItem _itemClassName; _added = true; };
  151. };
  152. };
  153. };
  154. if (_added) exitWith {};
  155. }
  156. forEach [primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player];
  157. };
  158. };
  159. };
  160. _added
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement