Advertisement
Guest User

select.sqf

a guest
Aug 10th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 25.96 KB | None | 0 0
  1. //_null = [getMarkerPos current_task, random 359, call (compile (preprocessFileLineNumbers _taskobjective))] call BIS_fnc_ObjectsMapper;
  2. task_selector = {
  3. if(running_task == 0) then {
  4.  
  5. _bigmarkers = ["bigmarker1","bigmarker2","bigmarker3","bigmarker4","bigmarker5","bigmarker6","bigmarker7","bigmarker8","bigmarker9","bigmarker10","bigmarker11","bigmarker12","bigmarker13","bigmarker14","bigmarker15"];
  6.  
  7. _smallmarkers = ["smallmarker1","smallmarker2","smallmarker3","smallmarker4","smallmarker5","smallmarker6","smallmarker7","smallmarker8","smallmarker9","smallmarker10","smallmarker10","smallmarker12","smallmarker13","smallmarker14","smallmarker15"];
  8.  
  9. _emptymarkers = ["emptymarker1","emptymarker2","emptymarker3","emptymarker4","emptymarker5","emptymarker6","emptymarker7","emptymarker8","emptymarker9","emptymarker10","emptymarker11","emptymarker12","emptymarker13","emptymarker14","emptymarker15","emptymarker16","emptymarker17"];
  10.  
  11. _bigtasks = ["Destroy","Eliminate"];
  12.  
  13. _smalltasks = ["Capture","Exterminate","Neutralize"];
  14.  
  15. _emptytasks = ["Attack","Clear out"];
  16.  
  17. publicVariable "current_task";
  18.  
  19. _bigcomp = ["generator1","russian1","radar1","radar2"];
  20.  
  21. _artilerry = ["artilerry1","artilerry2"];
  22.  
  23. _natofobs = ["fob1","fob2","fob3","fob4","fob5"];
  24.  
  25. _smallcomp = ["insurgent1","insurgent2"];
  26.  
  27. _attackchoppers = ["rhs_mi28n_s13_vvs","RHS_Mi8MTV3_UPK23_vvs","RHS_Ka52_UPK23_vvs","RHS_Su25SM_vvs"];
  28.  
  29. _selectedchopper = _attackchoppers call BIS_fnc_selectRandom;
  30.  
  31. _allarrays = _bigmarkers + _smallmarkers + _emptymarkers;
  32. _allarrays call BIS_fnc_arrayShuffle;
  33.  
  34. current_task = _allarrays call BIS_fnc_selectRandom;
  35.  
  36. _switchhelp = "normal";
  37. if (current_task in _bigmarkers) then {_switchhelp = "big"};
  38. if (current_task in _smallmarkers) then {_switchhelp = "small"};
  39. if (current_task in _emptymarkers) then {_switchhelp = "empty"};
  40.  
  41. current_tasknumber = tasknumber call BIS_fnc_selectRandom;
  42. /*if(current_task == "bigmarker6" || current_task == "smallmarker10") then
  43. {  
  44.     _blockade = ["blockade1"] call LARs_fnc_spawnComp;
  45.  
  46.     if(current_task == "bigmarker6") then {_null = []execVM "eos\blockade_rus.sqf"; } else{_null = []execVM "eos\blockade_ins.sqf";};
  47. };*/
  48.  
  49. switch (_switchhelp) do
  50. {
  51.     case "big" :
  52.     {
  53.         running_task = 1;
  54.         _taskdescription = _bigtasks call BIS_fnc_selectRandom;
  55.         _taskobjective = _bigcomp call BIS_fnc_selectRandom;
  56.         switch (_taskdescription) do
  57.         {
  58.             case "Eliminate" :
  59.             {
  60.                 //_pretaskmarker = "no";
  61.                 //if(current_task == "bigmarker6" || current_task == "smallmarker10") then {_pretaskmarker = "yes";};
  62.  
  63.                 _check = ["yes","no"];
  64.                 _checke = _check call BIS_fnc_selectRandom;
  65.                 if(_checke == "yes") then
  66.                 {
  67.                     [west,[current_tasknumber],["The invaders brought a nuclear warhead to Altis and are threatening, to launch it. Our task is to secure and recover it.","Secure nuclear Warhead",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  68.                     [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  69.                     [current_tasknumber]call BIS_fnc_taskSetCurrent;
  70.  
  71.                     _guardgroup = createGroup east;
  72.                     _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  73.  
  74.                     _marker = createMarker ["Marker1",  (getpos _guard)];
  75.                     _marker setMarkerShape "RECTANGLE";
  76.                     _marker setMarkerSize [300,300];
  77.                     _marker setMarkerAlpha 0;
  78.  
  79.                     current_task = _marker;
  80.                     _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  81.                     _null = []execVM "eos\russian.sqf";
  82.  
  83.                     _thetarget = createVehicle ["rhs_9k79_B", getPos _guard, [], 20, "NONE"];
  84.  
  85.                     _thetarget setVehicleAmmo 0;
  86.                     _thetarget setFuel 0;
  87.                     waitUntil { sleep 10; !(alive _thetarget) || _thetarget distance (getPos dropoffpoint) < 15};
  88.  
  89.                     if(!alive _thetarget) then
  90.                     {
  91.                         [current_tasknumber, "FAILED",true] spawn BIS_fnc_taskSetState;
  92.                         sleep 300;
  93.                         deleteGroup _guardgroup;
  94.                         running_task = 0;
  95.                         [ _comp ] call LARs_fnc_deleteComp;
  96.                         {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  97.                         tasknumber = tasknumber - [current_tasknumber];
  98.                         deleteMarker _marker;
  99.                         //[_blockade] call LARs_fnc_deleteComp;
  100.                     }
  101.                     else
  102.                     {
  103.                         [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  104.                         sleep 300;
  105.                         deleteGroup _guardgroup;
  106.                         running_task = 0;
  107.                         [ _comp ] call LARs_fnc_deleteComp;
  108.                         {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  109.                         tasknumber = tasknumber - [current_tasknumber];
  110.                         deleteMarker _marker;
  111.                         //[_blockade] call LARs_fnc_deleteComp;
  112.                     };
  113.                 }
  114.                 else
  115.                 {
  116.                     [west,[current_tasknumber],["We have intel on an OPFOR base located in the marked area. You need to eliminate them","Eliminate",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  117.                     [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  118.                     [current_tasknumber]call BIS_fnc_taskSetCurrent;
  119.  
  120.                     _guardgroup = createGroup east;
  121.                     _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  122.  
  123.                     _marker = createMarker ["Marker1",  (getpos _guard)];
  124.                     _marker setMarkerShape "RECTANGLE";
  125.                     _marker setMarkerSize [300,300];
  126.                     _marker setMarkerAlpha 0;
  127.  
  128.                     current_task = _marker;
  129.                     _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  130.                     _null = []execVM "eos\russian.sqf";
  131.                    
  132.                     sleep 10;
  133.                     _trg = createTrigger ["EmptyDetector", getPos _guard,true];
  134.                     _trg setTriggerArea [600, 600, 0, false];
  135.                     _trg setTriggerActivation ["EAST", "NOT PRESENT", false];
  136.                     _trg setTriggerStatements ["this", "", ""];
  137.                     waitUntil {sleep 10;triggerActivated _trg};
  138.                    
  139.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  140.  
  141.                     sleep 300;
  142.  
  143.                     running_task = 0;
  144.                     deleteGroup _guardgroup;
  145.                     [ _comp ] call LARs_fnc_deleteComp;
  146.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  147.                     tasknumber = tasknumber - [current_tasknumber];
  148.                     deleteVehicle _trg;
  149.                     deleteMarker _marker;
  150.                     //[_blockade] call LARs_fnc_deleteComp;
  151.                 };
  152.                 //if(_pretaskmarker == "yes")then{[ _blockade ] call LARs_fnc_deleteComp;};
  153.             };
  154.             case "Destroy" :
  155.             {
  156.                 //_pretaskmarker = "no";
  157.                 //if(current_task == "bigmarker6" || current_task == "smallmarker10") then {_pretaskmarker = "yes";};
  158.                
  159.  
  160.                 if(_taskobjective == "russian1") then
  161.                 {
  162.                     [west,[current_tasknumber],["Our spies found out that the enemy has an imported Cheetos machine !! Search and Destroy","Destroy",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  163.                     [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  164.                     [current_tasknumber]call BIS_fnc_taskSetCurrent;
  165.  
  166.                     _guardgroup = createGroup east;
  167.                     _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  168.  
  169.                     _marker = createMarker ["Marker1",  (getpos _guard)];
  170.                     _marker setMarkerShape "RECTANGLE";
  171.                     _marker setMarkerSize [300,300];
  172.                     _marker setMarkerAlpha 0;
  173.  
  174.                     current_task = _marker;
  175.                     _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  176.                     _null = []execVM "eos\russian.sqf";
  177.  
  178.                     _thetarget = createVehicle ["rhs_t80ue1", getPos _guard, [], 20, "NONE"];
  179.  
  180.                     waitUntil { sleep 10; !(alive _thetarget) || (damage _thetarget > 0.8)};
  181.  
  182.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  183.                     sleep 300;
  184.                     deleteGroup _guardgroup;
  185.                     running_task = 0;
  186.                     [ _comp ] call LARs_fnc_deleteComp;
  187.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  188.                     tasknumber = tasknumber - [current_tasknumber];
  189.                     deleteMarker _marker;
  190.                     //[_blockade] call LARs_fnc_deleteComp;
  191.                 }
  192.                 else
  193.                  {
  194.                     _double = ["yes","no"];
  195.                     _doublee = _double call BIS_fnc_selectRandom;
  196.                     if(_doublee == "yes") then
  197.                     {
  198.                         [west,[current_tasknumber],["OPFOR set up a base and will hold it under any circumstances. Clear out the area and destroy important equipment.","Annihilate and Destroy",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  199.                         [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  200.                         [current_tasknumber]call BIS_fnc_taskSetCurrent;
  201.  
  202.                         _guardgroup = createGroup east;
  203.                         _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  204.  
  205.                         _marker = createMarker ["Marker1",  (getpos _guard)];
  206.                         _marker setMarkerShape "RECTANGLE";
  207.                         _marker setMarkerSize [300,300];
  208.                         _marker setMarkerAlpha 0;
  209.  
  210.                         current_task = _marker;
  211.                         _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  212.                         _null = []execVM "eos\russian.sqf";
  213.                        
  214.  
  215.                         _destroytargets = nearestObjects [getMarkerPos current_task, ["Land_Device_assembled_F","rhs_2P3_2","rhs_p37","Land_TTowerBig_2_F"], 30];
  216.                         _thetarget = _destroytargets call BIS_fnc_selectRandom;
  217.  
  218.                         sleep 10;
  219.                         _trg = createTrigger ["EmptyDetector", getPos _guard,true];
  220.                         _trg setTriggerArea [600, 600, 0, false];
  221.                         _trg setTriggerActivation ["EAST", "NOT PRESENT", false];
  222.                         _trg setTriggerStatements ["this", "", ""];
  223.                         waitUntil { sleep 10; (!(alive _thetarget) || (damage _thetarget > 0.8)) && (triggerActivated _trg)};
  224.  
  225.                         [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  226.                         sleep 300;
  227.                         deleteGroup _guardgroup;
  228.                         running_task = 0;
  229.                         [ _comp ] call LARs_fnc_deleteComp;
  230.                         {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  231.                         tasknumber = tasknumber - [current_tasknumber];
  232.                         deleteMarker _marker;
  233.                         deleteVehicle _trg;
  234.                         //[_blockade] call LARs_fnc_deleteComp;
  235.                         // _thetarget spawn { sleep 600; deleteVehicle _this }; --> Will delete in 10 mins
  236.                     }
  237.                     else
  238.                     {
  239.                         [west,[current_tasknumber],["We have reports, that OPFOR is transporting new, to us unknown, technology, which could change the war in thier favor. Destroy it under any circumstances!","Destroy Technology",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  240.                         [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  241.                         [current_tasknumber]call BIS_fnc_taskSetCurrent;
  242.  
  243.                         _guardgroup = createGroup east;
  244.                         _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  245.  
  246.                         _marker = createMarker ["Marker1",  (getpos _guard)];
  247.                         _marker setMarkerShape "RECTANGLE";
  248.                         _marker setMarkerSize [300,300];
  249.                         _marker setMarkerAlpha 0;
  250.  
  251.                         current_task = _marker;
  252.                         _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  253.                         _null = []execVM "eos\russian.sqf";
  254.                        
  255.  
  256.                         _destroytargets = nearestObjects [getMarkerPos current_task, ["Land_Device_assembled_F","rhs_2P3_2","rhs_p37","Land_TTowerBig_2_F"], 30];
  257.                         _thetarget = _destroytargets call BIS_fnc_selectRandom;
  258.  
  259.                         waitUntil { sleep 10; !(alive _thetarget) || (damage _thetarget > 0.8)};
  260.  
  261.                         [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  262.                         sleep 300;
  263.                         deleteGroup _guardgroup;
  264.                         running_task = 0;
  265.                         [ _comp ] call LARs_fnc_deleteComp;
  266.                         {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  267.                         tasknumber = tasknumber - [current_tasknumber];
  268.                         deleteMarker _marker;
  269.                         //[_blockade] call LARs_fnc_deleteComp;
  270.                     };
  271.                 };
  272.                 //[_blockade] call LARs_fnc_deleteComp;
  273.             };
  274.         };
  275.     };
  276.     case "small" :
  277.     {  
  278.         running_task = 1;
  279.         _taskdescription = _smalltasks call BIS_fnc_selectRandom;
  280.         _taskobjective = _smallcomp call BIS_fnc_selectRandom;
  281.         switch (_taskdescription) do
  282.         {
  283.             case "Capture" :
  284.             {
  285.                 //_pretaskmarker = "no";
  286.                 //if(current_task == "bigmarker6" || current_task == "smallmarker10") then {_pretaskmarker = "yes";};
  287.                
  288.  
  289.                 [west,[current_tasknumber],["A high ranking officer has arrived at an Insurgent camp near the marked area. You have to Capture him","Capture the HRO",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  290.                 [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  291.                 [current_tasknumber]call BIS_fnc_taskSetCurrent;
  292.                 _capturegroup = createGroup east;
  293.  
  294.                 _target1 = _capturegroup createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  295.  
  296.                 _marker = createMarker ["Marker1",  (getpos _target1)];
  297.                 _marker setMarkerShape "RECTANGLE";
  298.                 _marker setMarkerSize [300,300];
  299.                 _marker setMarkerAlpha 0;
  300.  
  301.                 current_task = _marker;
  302.                 _comp = [_taskobjective,getPos _target1, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  303.                 _null = []execVM "eos\insurgent.sqf";
  304.                
  305.  
  306.                 removeAllWeapons _target1;
  307.                 _target1 disableAI "AUTOCOMBAT";
  308.                 waitUntil
  309.                 {
  310.                     sleep 10;
  311.                     _target1 distance (getPos dropoffpoint) < 10 || !alive _target1
  312.                 };
  313.  
  314.                 if(alive _target1) then
  315.                 {
  316.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  317.                     sleep 300;
  318.                     running_task = 0;
  319.                     deleteVehicle _target1;
  320.                     [ _comp ] call LARs_fnc_deleteComp;
  321.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  322.                     tasknumber = tasknumber - [current_tasknumber];
  323.                     deleteMarker _marker;
  324.                     //[_blockade] call LARs_fnc_deleteComp;
  325.                 }
  326.                 else
  327.                 {
  328.                     [current_tasknumber, "FAILED",true] spawn BIS_fnc_taskSetState;
  329.                     sleep 300;
  330.                     deleteGroup _capturegroup;
  331.                     running_task = 0;
  332.                     deleteVehicle _target1;
  333.                     [ _comp ] call LARs_fnc_deleteComp;
  334.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  335.                     tasknumber = tasknumber - [current_tasknumber];
  336.                     deleteMarker _marker;
  337.                     //[_blockade] call LARs_fnc_deleteComp;
  338.                 };
  339.                 //[_blockade] call LARs_fnc_deleteComp;
  340.             };
  341.             case "Exterminate" :
  342.             {
  343.                 //_pretaskmarker = "no";
  344.                 //if(current_task == "bigmarker6" || current_task == "smallmarker10") then {_pretaskmarker = "yes";};
  345.                
  346.  
  347.                 if(_taskobjective == "insurgent1") then
  348.                 {
  349.                     [west,[current_tasknumber],["Insurgents terrorising the total population. We can not tolerate this.","Defend the defensless",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  350.                     [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  351.                     [current_tasknumber]call BIS_fnc_taskSetCurrent;
  352.  
  353.                     _guardgroup3 = createGroup east;
  354.                     _guard3 = _guardgroup3 createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  355.  
  356.                     _marker = createMarker ["Marker1",  (getpos _guard3)];
  357.                     _marker setMarkerShape "RECTANGLE";
  358.                     _marker setMarkerSize [400,400];
  359.                     _marker setMarkerAlpha 0;
  360.  
  361.                     current_task = _marker;
  362.                     _comp = [_taskobjective,getPos _guard3, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  363.                     _null = []execVM "eos\insurgent.sqf";
  364.  
  365.                    
  366.                    
  367.                     sleep 10;
  368.                     _trg = createTrigger ["EmptyDetector", getPos _guard3,true];
  369.                     _trg setTriggerArea [600, 600, 0, false];
  370.                     _trg setTriggerActivation ["GUER", "NOT PRESENT", false];
  371.                     _trg setTriggerStatements ["this", "", ""];
  372.  
  373.                     waitUntil {sleep 10;triggerActivated _trg};
  374.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  375.                     sleep 300;
  376.                     running_task = 0;
  377.                     deleteGroup _guardgroup3;
  378.                     [ _comp ] call LARs_fnc_deleteComp;
  379.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos _marker, ["all"], 120];
  380.                     tasknumber = tasknumber - [current_tasknumber];
  381.                     deleteVehicle _trg;
  382.                     deleteMarker _marker;
  383.                     //[_blockade] call LARs_fnc_deleteComp;
  384.                 }else
  385.                 {
  386.                     [west,[current_tasknumber],["Insurgents terrorising the total population. We can not tolerate this.","Defend the defensless",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  387.                     [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  388.                     [current_tasknumber]call BIS_fnc_taskSetCurrent;
  389.  
  390.                     _guardgroup = createGroup east;
  391.                     _guard = _guardgroup createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  392.  
  393.                     _marker = createMarker ["Marker1",  (getpos _guard)];
  394.                     _marker setMarkerShape "RECTANGLE";
  395.                     _marker setMarkerSize [300,300];
  396.                     _marker setMarkerAlpha 0;
  397.  
  398.                     current_task = _marker;
  399.                     _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  400.                     _null = []execVM "eos\insurgent.sqf";
  401.                    
  402.                    
  403.                     sleep 10;
  404.                     _trg = createTrigger ["EmptyDetector", getPos _guard,true];
  405.                     _trg setTriggerArea [600, 600, 0, false];
  406.                     _trg setTriggerActivation ["GUER", "NOT PRESENT", false];
  407.                     _trg setTriggerStatements ["this", "", ""];
  408.  
  409.                     waitUntil {sleep 10;triggerActivated _trg};
  410.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  411.                     sleep 300;
  412.                     running_task = 0;
  413.                     deleteGroup _guardgroup;
  414.                     [ _comp ] call LARs_fnc_deleteComp;
  415.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  416.                     tasknumber = tasknumber - [current_tasknumber];
  417.                     deleteVehicle _trg;
  418.                     deleteMarker _marker;
  419.                     //[_blockade] call LARs_fnc_deleteComp;
  420.                 };
  421.                 //[_blockade] call LARs_fnc_deleteComp;
  422.             };
  423.             case "Neutralize" :
  424.             {
  425.                 //_pretaskmarker = "no";
  426.                 //if(current_task == "bigmarker6" || current_task == "smallmarker10") then {_pretaskmarker = "yes";};
  427.                
  428.                 _taskobjective = "factory1";
  429.  
  430.                 [west,[current_tasknumber],["Insurgents set up an IED Factory. To protect our own and the lifes of the innocent population, we need to take it out. If possible, capture the Leader, that is controlling the manufacturing process","Locate and Destroy IED Factory",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  431.                 [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  432.                 [current_tasknumber]call BIS_fnc_taskSetCurrent;
  433.  
  434.                 _capturegroup = createGroup resistance;
  435.                 _guardgroup = createGroup resistance;
  436.                 _guard = _guardgroup createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  437.  
  438.                 _marker = createMarker ["Marker1",  (getpos _guard)];
  439.                 _marker setMarkerShape "RECTANGLE";
  440.                 _marker setMarkerSize [300,300];
  441.                 _marker setMarkerAlpha 0;
  442.  
  443.                 current_task = _marker;
  444.                 _comp = [_taskobjective,getPos _guard, [0,0,0], random 360, true, true ] call LARs_fnc_spawnComp;
  445.                
  446.                 sleep 10;
  447.                 _null = []execVM "eos\factory.sqf";
  448.                 sleep 5;
  449.                 _pos = random 5;
  450.                 _leader = _capturegroup createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  451.                 removeAllWeapons _leader;
  452.  
  453.                 _house = nearestObjects [getMarkerPos current_task, ["Land_i_Shed_Ind_F"], 30];
  454.                 _thehouse = _house call BIS_fnc_selectRandom;
  455.  
  456.                 _leader setpos (_thehouse buildingpos _pos);
  457.  
  458.                 waitUntil
  459.                 {
  460.                     sleep 10;
  461.                     !alive _thehouse
  462.                 };
  463.                 waitUntil {
  464.                   sleep 10;        
  465.                   (_leader distance (getPos dropoffpoint) < 10) || !alive _leader
  466.                 };
  467.  
  468.                 if(alive _leader) then
  469.                 {
  470.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  471.                     sleep 300;
  472.                     deleteGroup _capturegroup;
  473.                     deleteGroup _guardgroup;
  474.                     running_task = 0;
  475.                     deleteVehicle _leader;
  476.                     [ _comp ] call LARs_fnc_deleteComp;
  477.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  478.                     tasknumber = tasknumber - [current_tasknumber];
  479.                     deleteMarker _marker;
  480.                     //[_blockade] call LARs_fnc_deleteComp;
  481.                 }
  482.                 else
  483.                 {
  484.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  485.                     "The IED factory is destroyed, but the leader is dead." remoteExec ["hint"];
  486.                     sleep 300;
  487.                     deleteGroup _capturegroup;
  488.                     deleteGroup _guardgroup;
  489.                     running_task = 0;
  490.                     deleteVehicle _leader;
  491.                     [ _comp ] call LARs_fnc_deleteComp;
  492.                     {deleteVehicle _x} forEach nearestObjects [getMarkerPos current_task, ["all"], 120];
  493.                     tasknumber = tasknumber - [current_tasknumber];
  494.                     deleteMarker _marker;
  495.                     //[_blockade] call LARs_fnc_deleteComp;
  496.                 };
  497.                 //[_blockade] call LARs_fnc_deleteComp;
  498.             };
  499.         };
  500.     };
  501.     case "empty" :
  502.     {
  503.        
  504.         running_task = 1;
  505.         _taskdescription = _emptytasks call BIS_fnc_selectRandom;
  506.         switch (_taskdescription) do
  507.         {
  508.             case "Attack" :
  509.             {  
  510.                
  511.                 [_selectedchopper,current_task] execVM "functions\spawnchopper.sqf";
  512.                 [west,[current_tasknumber],["The area has been overrun by OPFOR. Re-capture it.","Re-capture",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  513.                 [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  514.                 [current_tasknumber]call BIS_fnc_taskSetCurrent;
  515.  
  516.                 _guardgroup = createGroup east;
  517.                 _guard = _guardgroup createUnit ["rhs_msv_emr_officer_armored", getMarkerPos current_task, [], 20, "NONE"];
  518.  
  519.                 _marker = createMarker ["Marker1",  (getpos _guard)];
  520.                 _marker setMarkerShape "RECTANGLE";
  521.                 _marker setMarkerSize [500,500];
  522.                 _marker setMarkerAlpha 0;
  523.  
  524.                 current_task = _marker;
  525.                 _null = []execVM "eos\empty.sqf";
  526.  
  527.                 sleep 10;
  528.                 _trg = createTrigger ["EmptyDetector", getPos _guard,true];
  529.                 _trg setTriggerArea [600, 600, 0, false];
  530.                 _trg setTriggerActivation ["EAST", "NOT PRESENT", false];
  531.                 _trg setTriggerStatements ["this", "", ""];
  532.  
  533.                 waitUntil {
  534.                 sleep 10;
  535.                 triggerActivated _trg
  536.                 };
  537.                 [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  538.                 sleep 300;
  539.                 running_task = 0;
  540.                 deleteGroup _guardgroup;
  541.                 tasknumber = tasknumber - [current_tasknumber];
  542.                 deleteVehicle _trg;
  543.                 deleteMarker _marker;
  544.             };
  545.             case "Clear out" :
  546.             {
  547.                 [west,[current_tasknumber],["There is a riot going on. Clear out the area and capture the leader. We also have intel of two captured journalists, which need to be rescued.","Clear out and rescue",current_task],[0,0,0],true,2,true,"Destroy",true] call BIS_fnc_taskCreate;
  548.                 [current_tasknumber,current_task]call BIS_fnc_taskSetDestination;
  549.                 [current_tasknumber]call BIS_fnc_taskSetCurrent;
  550.  
  551.                 _guardgroup = createGroup resistance;
  552.                 _guard = _guardgroup createUnit ["LOP_AFR_Infantry_SL", getMarkerPos current_task, [], 20, "NONE"];
  553.                 removeAllWeapons _guard;
  554.                 _guard disableAI "AUTOCOMBAT";
  555.  
  556.                 _marker = createMarker ["Marker1",  (getpos _guard)];
  557.                 _marker setMarkerShape "RECTANGLE";
  558.                 _marker setMarkerSize [500,500];
  559.                 _marker setMarkerAlpha 0;
  560.  
  561.                 current_task = _marker;
  562.            
  563.                 sleep 3;
  564.                
  565.  
  566.                 _houses = nearestObjects [position _guard, ["house"], 200];
  567.                 _house1 = _houses call BIS_fnc_selectRandom;
  568.  
  569.                 //_houses2 = nearestObjects [position _guard, ["house"], 200];
  570.                 //_house2 = _houses2 call BIS_fnc_selectRandom;
  571.                 //_house3 = _houses call BIS_fnc_selectRandom;
  572.  
  573.                 _rescuegroup = createGroup civilian;
  574.                 _journal1 = _rescuegroup createUnit ["C_journalist_F", position _guard, [], 20, "NONE"];
  575.                 _journal2 = _rescuegroup createUnit ["C_journalist_F", position _guard, [], 20, "NONE"];
  576.                 //_journal3 = _rescuegroup createUnit ["C_journalist_F", getPos _guard, [], 20, "NONE"];
  577.                 //_journal4 = _rescuegroup createUnit ["C_journalist_F", getPos _guard, [], 20, "NONE"];
  578.  
  579.                
  580.                 //_house4 = _houses call BIS_fnc_selectRandom;
  581.  
  582.                 _journal1 setPosATL (_house1 buildingpos 1);
  583.                 _journal2 setPosATL (position _journal1);
  584.                 //_journal3 setpos (_house3 buildingpos _pos);
  585.                 //_journal4 setpos (_house4 buildingpos _pos);
  586.  
  587.                 [_journal1, true] call ACE_captives_fnc_setSurrendered;
  588.                 [_journal2, true] call ACE_captives_fnc_setSurrendered;
  589.                 //[_journal3, true] call ACE_captives_fnc_setSurrendered;
  590.                 //[_journal4, true] call ACE_captives_fnc_setSurrendered;
  591.  
  592.                 _null = []execVM "eos\empty_ins.sqf";
  593.                 sleep 5;
  594.                 _trg = createTrigger ["EmptyDetector", getPos _guard,true];
  595.                 _trg setTriggerArea [600, 600, 0, false];
  596.                 _trg setTriggerActivation ["GUER", "NOT PRESENT", false];
  597.                 _trg setTriggerStatements ["this", "", ""];
  598.                 waitUntil
  599.                 {
  600.                     sleep 10;
  601.                     triggerActivated _trg
  602.                 };
  603.                 waitUntil {
  604.                   sleep 2;
  605.                   _journal1 distance (getPos dropoffpoint) < 10 || !alive _journal1
  606.                 };
  607.                 waitUntil {
  608.                   sleep 2;
  609.                   _journal2 distance (getPos dropoffpoint) < 10 || !alive _journal2
  610.                 };
  611.                 /*waitUntil {
  612.                   sleep 2;
  613.                   _journal3 distance (getPos dropoffpoint) < 10 || !alive _journal3
  614.                 };*/
  615.  
  616.                 /*waitUntil {
  617.                 sleep 2;
  618.                 (_journal4 distance (getPos dropoffpoint) < 10)
  619.                 };*/
  620.  
  621.                 waitUntil {
  622.                   sleep 2;
  623.                   _guard distance (getPos dropoffpoint) < 10 || !alive _guard
  624.                 };
  625.  
  626.                 if(!alive _guard) then { "The task is completed but the leader is dead." remoteExec ["hint"];};
  627.                 if(alive _guard && alive _journal1 && alive _journal2)
  628.                 then
  629.                 {
  630.                     [current_tasknumber, "SUCCEEDED",true] spawn BIS_fnc_taskSetState;
  631.                     sleep 300;
  632.                     running_task = 0;
  633.                     deleteGroup _guardgroup;
  634.                     deleteGroup _rescuegroup;
  635.                     deleteVehicle _guard;
  636.                     deleteVehicle _journal1;
  637.                     deleteVehicle _journal2;
  638.                     //deleteVehicle _journal3;
  639.                     //deleteVehicle _journal4;
  640.                     tasknumber = tasknumber - [current_tasknumber];
  641.                     deleteVehicle _trg;
  642.                     deleteMarker _marker;
  643.                 }
  644.                 else
  645.                 {
  646.                     [current_tasknumber, "FAILED",true] spawn BIS_fnc_taskSetState;
  647.                     sleep 300;
  648.                     running_task = 0;
  649.                     deleteGroup _guardgroup;
  650.                     deleteGroup _rescuegroup;
  651.                     deleteVehicle _guard;
  652.                     deleteVehicle _journal1;
  653.                     deleteVehicle _journal2;
  654.                     //deleteVehicle _journal3;
  655.                     //deleteVehicle _journal4;
  656.                     tasknumber = tasknumber - [current_tasknumber];
  657.                     deleteVehicle _trg;
  658.                     deleteMarker _marker;
  659.                 };
  660.             };
  661.         };
  662.     };
  663. };
  664. } else {"You have to wait before you order a new task!" remoteExec ["hint"];};
  665.  
  666. };
  667. publicVariable "task_selector";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement