Advertisement
Guest User

Untitled

a guest
Feb 7th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. private["_itemType","_iPos","_indexLootSpawn","_iArray","_iItem","_iClass","_item","_qty","_max","_tQty","_arrayLootSpawn","_canType","_holderItem"];
  2. // [_itemType,_weights]
  3. _iItem = _this select 0;
  4. _iClass = _this select 1;
  5. _iPos = _this select 2;
  6. _radius = _this select 3;
  7. _holderItem = _iItem;
  8. switch (_iItem) do {
  9. case "BAF_AS50_scoped": { _holderItem = "DMR"};
  10. case "SVD_CAMO": { _holderItem = "M24"};
  11. case "M107_DZ": { _holderItem = "DMR"};
  12. case "AKS_74_U": { _holderItem = "huntingrifle"};
  13. case "DMR": { _holderItem = "M40A3"};
  14. case "Mk_48_DZ": { _holderItem= "M16A4_ACG"};
  15. case "Crossbow": { _holderItem= "Sa61_EP1"};
  16. case "FN_FAL_ANPVS4": { _holderItem = "M4A3_CCO_EP1"};
  17. case "M4A1_Aim": { _holderItem= "AK_107_kobra"};
  18. case "M4A3_CCO_EP1": { _holderItem = "RPK_74"};
  19. case "M16A4_ACG": { _holderItem = "AKS_74_PSO"};
  20. case "M16A2": { _holderItem = "G36C"};
  21. case "M24": { _holderItem = "SVD"};
  22. case "M4A1_HWS_GL": { _holderItem = "BAF_L85A2_RIS_Holo"};
  23. case "M4A1": { _holderItem = "AK_74"};
  24. case "M16A2GL": { _holderItem = "bizon_silenced"};
  25. case "bizon_silenced": { _holderItem = "M16A2GL"};
  26. case "M40A3": { _holderItem = "SVD_CAMO"};
  27. case "10Rnd_127x99_m107": { _holderItem = "5Rnd_86x70_L115A1"};
  28. case "ItemFlashlightRed": { _holderItem = "DZ_Assault_Pack_EP1"};
  29. case "WeaponHolder_MeleeCrowbar": { _holderItem = "DZ_Patrol_Pack_EP1"};
  30. case "ItemWire": { _holderItem = "ItemSandbag"};
  31. case "30Rnd_556x45_G36": { _holderItem = "75Rnd_545x39_RPK"};
  32. case "BoltSteel": { _holderItem = "20Rnd_B_765x17_Ball"};
  33. case "2Rnd_shotgun_74Slug": { _holderItem = "8Rnd_B_Beneli_74Slug"};
  34. case "2Rnd_shotgun_74Pellets": { _holderItem = "8Rnd_B_Beneli_Pellets"};
  35. default {};
  36. };
  37. _iItem = _holderItem;
  38. switch (_iClass) do {
  39. default {
  40. //Item is food, add random quantity of cans along with an item (if exists)
  41. _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
  42. _arrayLootSpawn = [] + getArray (configFile >> "cfgLoot" >> _iClass);
  43. _itemType = _arrayLootSpawn select 0;
  44. _weights = _arrayLootSpawn call fnc_buildWeightedArray;
  45. _qty = 0;
  46. _max = ceil(random 4) + 1;
  47. //diag_log ("LOOTSPAWN: QTY: " + str(_max) + " ARRAY: " + str(_arrayLootSpawn));
  48. while {_qty < _max} do {
  49. private["_tQty","_indexLootSpawn","_canType"];
  50. _tQty = floor(random 3) + 1;
  51. //diag_log ("LOOTSPAWN: ITEM QTY: " + str(_tQty));
  52.  
  53. _indexLootSpawn = _weights call BIS_fnc_selectRandom;
  54. _canType = _itemType select _indexLootSpawn;
  55.  
  56. _holderItem = _canType;
  57. switch (_canType) do {
  58. case "10Rnd_127x99_m107": { _holderItem = "5Rnd_86x70_L115A1"};
  59. case "30Rnd_556x45_G36": { _holderItem = "75Rnd_545x39_RPK"};
  60. case "BoltSteel": { _holderItem = "20Rnd_B_765x17_Ball"};
  61. case "8Rnd_B_Beneli_74Slug": { _holderItem = "8Rnd_B_Saiga12_74Slug"};
  62. case "2Rnd_shotgun_74Slug": { _holderItem = "8Rnd_B_Beneli_74Slug"};
  63. case "30rnd_9x19_MP5SD": { _holderItem = "30Rnd_545x39_AKSD"};
  64. case "2Rnd_shotgun_74Pellets": { _holderItem = "8Rnd_B_Beneli_Pellets"};
  65. default {};
  66. };
  67. _canType = _holderItem;
  68.  
  69. //diag_log ("LOOTSPAWN: ITEM: " + str(_canType));
  70. _item addMagazineCargoGlobal [_canType,_tQty];
  71. _qty = _qty + _tQty;
  72. };
  73. if (_iItem != "") then {
  74. _item addWeaponCargoGlobal [_iItem,1];
  75. };
  76. };
  77. case "weapon": {
  78. //Item is a weapon, add it and a random quantity of magazines
  79. _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
  80. _item addWeaponCargoGlobal [_iItem,1];
  81. _mags = [] + getArray (configFile >> "cfgWeapons" >> _iItem >> "magazines");
  82. if (count _mags > 0) then {
  83. _item addMagazineCargoGlobal [(_mags select 0),(round(random 4))];
  84. };
  85. };
  86. case "magazine": {
  87. //Item is one magazine
  88. _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
  89. _item addMagazineCargoGlobal [_iItem,1];
  90. };
  91. case "object": {
  92. //Item is one magazine
  93. _item = createVehicle [_iItem, _iPos, [], _radius, "CAN_COLLIDE"];
  94. };
  95. };
  96. if (count _iPos > 2) then {
  97. _item setPosATL _ipos;
  98. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement