Advertisement
Halvhjearne

box2.sqf

Jan 22nd, 2014
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.93 KB | None | 0 0
  1. /*
  2. Script by HALV
  3. */
  4. //Building Stuff content 2 of each tool/weapon 5 of each magazine item
  5. _toolcontent1 = [
  6. 'ItemToolbox'
  7. ];
  8. _magcontent1 = [
  9. 'ItemAntibiotic'
  10. ];
  11. //Building Stuff content 5 of each tool/weapon 25 of each magazine item
  12. _toolcontent2 = [
  13. 'ItemHatchet_DZE','ItemEtool','ItemToolbox','ItemCrowbar'
  14. ];
  15. _magcontent2 = [
  16. 'PartGeneric','HandRoadFlare','ItemWire','PartWoodPile','ItemTankTrap','ItemSandbag','ItemTrashToiletpaper','ItemTrashRazor',
  17. 'ItemCorrugated','PartWoodPlywood','PartWoodLumber','ItemCanvas','ItemPole','ItemTentDomed','ItemTentDomed2','30m_plot_kit',
  18. 'ItemTentOld','ItemVault','ItemGenerator','ItemBurlap','ItemLightBulb'
  19. ];
  20. //Repair Stuff content 2 of each tool/weapon 5 of each magazine item
  21. _toolcontent3 = [
  22. 'ItemKnife','ItemHatchet_DZE','ItemMatchbox_DZE','ItemEtool','ItemToolbox','ItemCrowbar'
  23. ];
  24. _magcontent3 = [
  25. 'PartVRotor','PartGlass','PartFueltank','PartWheel','PartEngine','PartGeneric','ItemJerrycan','HandRoadFlare','HandChemGreen',
  26. 'HandChemBlue','HandChemRed'
  27. ];
  28.  
  29. //add extra keykits to allitembox
  30. _addkeykit = true;
  31. //backpack in allitembox
  32. _backpack = "DZ_Backpack_EP1";
  33.  
  34. hint "Select Boxtype:";
  35. BoxSelected=false;
  36. ContentSelected=false;
  37. defaultweaps=false;
  38. DelaySelected=false;
  39. Boxtype =
  40. [
  41.     ["",true],
  42.     ["Select Boxtype:", [-1], "", -5, [["expression", ""]], "1", "0"],
  43.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  44.     ["MedBox0", [2], "", -5, [["expression", "SelectetBox=1;BoxSelected=true;"]], "1", "1"],
  45.     ["FoodBox0", [3], "", -5, [["expression", "SelectetBox=2;BoxSelected=true;"]], "1", "1"],
  46.     ["BAF_BasicWeapons", [4], "", -5, [["expression", "SelectetBox=3;BoxSelected=true;"]], "1", "1"],
  47.     ["USSpecialWeaponsBox", [5], "", -5, [["expression", "SelectetBox=4;BoxSelected=true;"]], "1", "1"],
  48.     ["USSpecialWeapons_EP1", [6], "", -5, [["expression", "SelectetBox=5;BoxSelected=true;"]], "1", "1"],
  49.     ["USVehicleBox", [7], "", -5, [["expression", "SelectetBox=6;BoxSelected=true;"]], "1", "1"],
  50.     ["RUSpecialWeaponsBox", [8], "", -5, [["expression", "SelectetBox=7;BoxSelected=true;"]], "1", "1"],
  51.     ["RUVehicleBox", [9], "", -5, [["expression", "SelectetBox=8;BoxSelected=true;"]], "1", "1"],
  52.     ["Random", [10], "", -5, [["expression", "SelectetBox=9;BoxSelected=true;"]], "1", "1"],
  53.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  54.     ["Exit", [-1], "", -5, [["expression", "BoxSelected=false;"]], "1", "1"]
  55. ];
  56. contentmenu =
  57. [
  58.     ["",true],
  59.     ["Select Content:", [-1], "", -5, [["expression", ""]], "1", "0"],
  60.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  61.     ["MedBox0+", [2], "", -5, [["expression", "SelectetContent=1;ContentSelected=true;"]], "1", "1"],
  62.     ["Building Stuff", [3], "", -5, [["expression", "SelectetContent=2;ContentSelected=true;"]], "1", "1"],
  63.     ["Repair Stuff", [4], "", -5, [["expression", "SelectetContent=3;ContentSelected=true;"]], "1", "1"],
  64.     ["""Small"" AllInABox (For All Eyes)", [5], "", -5, [["expression", "SelectetContent=5;ContentSelected=true;Admin_Box_Selected=true;"]], "1", "1"],
  65.     ["Large AllInABox (Only You See Cont.)", [6], "", -5, [["expression", "SelectetContent=6;ContentSelected=true;Admin_Box_Selected=true;"]], "1", "1"],
  66.     ["NoContent", [7], "", -5, [["expression", "SelectetContent=4;ContentSelected=true;"]], "1", "1"],
  67.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  68.     ["Exit", [-1], "", -5, [["expression", "ContentSelected=false;"]], "1", "1"]
  69. ];
  70. nodefault =
  71. [
  72.     ["",true],
  73.     ["Delete default stuff?", [-1], "", -5, [["expression", ""]], "1", "0"],
  74.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  75.     ["Leave Default Stuff", [2], "", -5, [["expression", "nodefaultweaps=1;defaultweaps=true;"]], "1", "1"],
  76.     ["Delete Default Stuff", [3], "", -5, [["expression", "nodefaultweaps=2;defaultweaps=true;"]], "1", "1"],
  77.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  78.     ["Exit", [-1], "", -5, [["expression", "defaultweaps=false;"]], "1", "1"]
  79. ];
  80. delaymenu =
  81. [
  82.     ["",true],
  83.     ["Select delete delay:", [-1], "", -5, [["expression", ""]], "1", "0"],
  84.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  85.     ["5 min", [2], "", -5, [["expression", "Select_Delay=true;SelectDelay=300;DelaySelected=true;"]], "1", "1"],
  86.     ["10 min", [3], "", -5, [["expression", "Select_Delay=true;SelectDelay=600;DelaySelected=true;"]], "1", "1"],
  87.     ["15 min", [4], "", -5, [["expression", "Select_Delay=true;SelectDelay=900;DelaySelected=true;"]], "1", "1"],
  88.     ["20 min", [5], "", -5, [["expression", "Select_Delay=true;SelectDelay=1200;DelaySelected=true;"]], "1", "1"],
  89.     ["25 min", [6], "", -5, [["expression", "Select_Delay=true;SelectDelay=1500;DelaySelected=true;"]], "1", "1"],
  90.     ["30 min", [7], "", -5, [["expression", "Select_Delay=true;SelectDelay=1800;DelaySelected=true;"]], "1", "1"],
  91.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  92.     ["Never Delete", [11], "", -5, [["expression", "Select_Delay=false;DelaySelected=true;"]], "1", "1"],
  93.     ["", [-1], "", -5, [["expression", ""]], "1", "0"],
  94.     ["Exit", [-1], "", -3, [["expression", ""]], "1", "1"]
  95. ];
  96. showCommandingMenu '#USER:Boxtype';
  97. waituntil{CommandingMenu != "#User:Boxtype"};
  98. if !(BoxSelected) exitwith {titleText ["Nothing selected","PLAIN DOWN"];titlefadeout 3;};
  99. BoxSelected=false;
  100. hint "Select Content:";
  101.  
  102. showCommandingMenu '#USER:contentmenu';
  103. waituntil{CommandingMenu != "#User:contentmenu"};
  104. if !(ContentSelected) exitwith {titleText ["Nothing selected","PLAIN DOWN"];titlefadeout 3;};
  105. ContentSelected=false;
  106. hint "Delete default stuff?";
  107.  
  108. showCommandingMenu '#USER:nodefault';
  109. waituntil{CommandingMenu != "#User:nodefault"};
  110. if !(defaultweaps) exitwith {titleText ["Nothing selected","PLAIN DOWN"];titlefadeout 3;};
  111. defaultweaps=false;
  112. hint "Select Delete Delay ...";
  113.  
  114. showCommandingMenu '#USER:delaymenu';
  115. waituntil{CommandingMenu != "#User:delaymenu"};
  116. if !(DelaySelected) exitwith {titleText ["Nothing selected","PLAIN DOWN"];titlefadeout 3;};
  117. DelaySelected=false;
  118.  
  119. if (Admin_Box_Selected) then {
  120.     Admin_Box_Selected=false;
  121.     if (isNil "GET_wepslist") then {
  122.         GET_wepslist = [];
  123.         _cfgweps = configFile >> "cfgWeapons";
  124.         diag_log format["%1",_cfgweps];
  125.         for "_i" from 0 to (count _cfgweps)-1 do {
  126.             _weapon = _cfgweps select _i;
  127.             if (isClass _weapon) then {
  128.                 _wpn_type = configName(_weapon);
  129.                 _plx = toArray _wpn_type;
  130.                 _plx resize 7;
  131.                 _plx;
  132.                 _plx = toString _plx;
  133.                 if (_plx != "ItemKey") then {
  134.                     if (((getNumber (_weapon >> "scope") == 0) or (getNumber (_weapon >> "scope") == 2)) && (getText (_weapon >> "picture") != "") && !(_wpn_type == "MineE") && !(_wpn_type == "ItemCore") && !(_wpn_type == "MeleeBaseBallBat")) then {
  135.                         GET_wepslist = GET_wepslist + [_wpn_type];
  136.                     };
  137.                 };
  138.             };
  139.         };
  140.         sleep 2;
  141.     };
  142.     if (isNil "GET_maglist") then {
  143.         GET_maglist = [];
  144.         _cfgweps = configFile >> "cfgmagazines";
  145.         for "_i" from 0 to (count _cfgweps)-1 do {
  146.             _weapon = _cfgweps select _i;
  147.             if (isClass _weapon) then {
  148.                 _wpn_type = configName(_weapon);
  149.                 if (((getNumber (_weapon >> "scope") == 0) or (getNumber (_weapon >> "scope") == 2)) && (getText (_weapon >> "picture") != "") && !(_wpn_type == "AngelCookies") && !(_wpn_type == "SkinBase") && !(_wpn_type == "ItemBriefcase_Base")) then {
  150.                     GET_maglist = GET_maglist + [_wpn_type];
  151.                 };
  152.             };
  153.         };
  154.         sleep 2;
  155.     };
  156. };
  157. _TheBoX="";
  158. switch (SelectetBox) do {
  159.     case 1:{_TheBoX = "MedBox0"};
  160.     case 2:{_TheBoX = "FoodBox0"};
  161.     case 3:{_TheBoX = "BAF_BasicWeapons"};
  162.     case 4:{_TheBoX = "USSpecialWeaponsBox"};
  163.     case 5:{_TheBoX = "USSpecialWeapons_EP1"};
  164.     case 6:{_TheBoX = "USVehicleBox"};
  165.     case 7:{_TheBoX = "RUSpecialWeaponsBox"};
  166.     case 8:{_TheBoX = "RUVehicleBox"};
  167.     case 9:{_TheBoX = ["USSpecialWeaponsBox","BAF_BasicWeapons","USVehicleBox","RUVehicleBox","RUSpecialWeaponsBox","USSpecialWeapons_EP1","USSpecialWeapons_EP1","FoodBox0","MedBox0"] call BIS_fnc_selectRandom;};
  168. };
  169.  
  170. _pos = getPos player;
  171. _dir = getDir player;
  172. _spwnpos = [((_pos) select 0)+5*sin(_dir), ((_pos) select 1)+5*cos(_dir), 0];
  173. _spwnveh = createVehicle [_TheBoX,_spwnpos,[],0,"CAN_COLLIDE"];
  174. _spwnveh setVariable ["Sarge",1,true];
  175. _spwnveh setVariable ["permaLoot",true,true];
  176.  
  177. if (nodefaultweaps == 1) then {
  178.     hint "Leaving default Stuff in the box ...";
  179. } else {
  180.     hint "Deleting default Stuff from the box ...";
  181.     clearWeaponCargoGlobal _spwnveh;
  182.     clearMagazineCargoGlobal _spwnveh;
  183.     clearBackpackCargoGlobal _spwnveh;
  184. };
  185. switch (SelectetContent) do {
  186.     case 1: {
  187.         {_spwnveh addWeaponCargoGlobal [_x, 5];} forEach _toolcontent1;
  188.         {_spwnveh addmagazineCargoGlobal [_x, 5];} forEach _magcontent1;
  189.     };
  190.     case 2: {
  191.         {_spwnveh addWeaponCargoGlobal [_x, 5];} forEach _toolcontent2;
  192.         {_spwnveh addmagazineCargoGlobal [_x, 25];} forEach _magcontent2;
  193.     };
  194.     case 3: {
  195.         {_spwnveh addWeaponCargoGlobal [_x, 2];} forEach _toolcontent3;
  196.         {_spwnveh addmagazineCargoGlobal [_x, 5];} forEach _magcontent3;
  197.     };
  198.     case 4: {hint "No Content selected ..."};
  199.     case 5: {clearWeaponCargoGlobal _spwnveh;clearMagazineCargoGlobal _spwnveh;
  200.         {_spwnveh addWeaponCargoGlobal [_x, 3];} forEach GET_wepslist;
  201.         {_spwnveh addMagazineCargoGlobal [_x, 25];} forEach GET_maglist;
  202.         if(_addkeykit)then{_spwnveh addWeaponCargoGlobal ["ItemKeyKit", 5];};
  203.         _spwnveh addBackpackCargoGlobal [_backpack, 1];
  204.     };
  205.     case 6: {clearWeaponCargoGlobal _spwnveh;clearMagazineCargoGlobal _spwnveh;
  206.         {_spwnveh addWeaponCargo [_x, 5];} forEach GET_wepslist;
  207.         {_spwnveh addMagazineCargo [_x, 50];} forEach GET_maglist;
  208.         if(_addkeykit)then{_spwnveh addWeaponCargoGlobal ["ItemKeyKit", 5];};
  209.         _spwnveh addBackpackCargo [_backpack, 1];
  210.     };
  211. };
  212.  
  213. _WCargo1 = getWeaponCargo _spwnveh;
  214. _MCargo1 = getMagazineCargo _spwnveh;
  215. diag_log format ["BoxSpawn: BoxType: %1 Createt At: %2 Weapons: %3 Magazines: %4",_TheBoX,_spwnpos,_WCargo1,_MCargo1];
  216. sleep 0.1;
  217. if (Select_Delay) then {
  218.     Select_Delay=false;
  219.     hint format["The box will be deleted in \n %1 Minutes.",(round(SelectDelay/60))];
  220.     sleep SelectDelay;
  221.     clearWeaponCargoGlobal _spwnveh;
  222.     clearMagazineCargoGlobal _spwnveh;
  223.     clearBackpackCargoGlobal _spwnveh;
  224.     deletevehicle _spwnveh;
  225.     hint "The box is now deleted ...";
  226. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement