Advertisement
Guest User

boogy V2

a guest
May 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 3.48 KB | None | 0 0
  1. ["Boogy Man", "Spawn Boogy Man",
  2. {
  3. params["_pos","_unit"];
  4.  private _dialogResult =
  5.  [
  6.   "Side Selector",
  7.   [
  8.    ["Which Team will the Boggy Man be on?", ["BLUFOR","OPFOR","Indi"]]
  9.   ]
  10.  ] call Ares_fnc_showChooseDialog;
  11.  if (_dialogResult isEqualTo []) exitWith{};
  12.  _dialogResult params ["_comboBoxResult"];
  13.  private "_grp";
  14.  _grp = createGroup ([west, east, resistance] select _comboBoxResult);
  15.  _boogy = _grp createUnit ["C_Soldier_VR_F",_pos,[],0,"CAN_COLLIDE"];
  16.  [_grp] joinSilent _boogy;
  17.  {_x addCuratorEditableObjects [[_boogy],true];} forEach allCurators;
  18.  _boogy forceWalk true;
  19.  group _boogy setBehaviour "CARELESS";
  20.  
  21.  _handle =  
  22.  [{
  23. params["_args","_handle"];
  24.  _args params["_boogy"];
  25.  scopeName "handle";
  26.  
  27.  _boogy switchMove "";
  28.  if (!alive _boogy) then {
  29.   [_handle] call CBA_fnc_removePerFrameHandler;
  30.   player groupChat (format ["Boogyman Dead"]);
  31.   breakOut "handle"
  32.  };
  33.  
  34.  
  35.  {[_boogy,true] remoteExec ["hideObject", _x,true];} forEach allPlayers;
  36.  
  37.  
  38.  _manList = (getPos _boogy) nearEntities ["Man", 10000];
  39.  _boogyEnemyList = _manList select {(isPlayer _x)&&(alive _x) && (side _x != side _boogy) && (side _x != civilian) && (side _x != sideAmbientLife) && (side _x != sideEmpty)};
  40.  _targetToMurder = selectRandom _boogyEnemyList;  
  41.  player groupChat (format ["Target :%1",_targetToMurder]);
  42.  
  43.  
  44.  _enemyPosX = (_targetToMurder call CBA_fnc_getPos) select 0;
  45.  _enemyPosY = (_targetToMurder call CBA_fnc_getPos) select 1;
  46.  _enemyPosZ = (_targetToMurder call CBA_fnc_getPos) select 2;
  47.  
  48.  _enemyPosX = _enemyPosX + 25;
  49.  _newPos = [_enemyPosX,_enemyPosY,_enemyPosZ];
  50.  _boogy setPos _newPos;
  51.  
  52.  player groupChat (format ["Target Location: %1, Spawning Location: %2",_enemyPos,_newPos]);
  53.  [_boogy,_newPos] remoteExec ["setPos",_boogy,true];
  54.  _handleTarget =  
  55.  [{
  56.   params["_args","_handleTarget"];
  57.   _args params["_boogy","_targetToMurder"];
  58.   if (alive _targetToMurder) then {
  59.   scopeName "handleTarget";
  60.   [_boogy,false] remoteExecCall ["hideObject", _targetToMurder,true];
  61.   if (!alive _boogy) then {
  62.    [_handleTarget] call CBA_fnc_removePerFrameHandler;
  63.    
  64.    breakOut "handleTarget";
  65.   };
  66.    
  67.   _boogy setDir (_boogy getDir _targetToMurder);  
  68.   _boogy move (getPos _targetToMurder);
  69.    
  70.   if ((_boogy distance _targetToMurder) < 2) then
  71.   {
  72.    if (alive _targetToMurder) then
  73.    {
  74.    [_targetToMurder,_boogy,_customChat,_handleTarget] spawn {
  75.   params["_targetToMurder","_boogy","_customChat","_handleTarget"];
  76.    _customChat = radioChannelCreate [[0.96, 0.34, 0.13,0.1], "Death","Dead",[]];
  77.    _customChat radioChannelAdd [_targetToMurder];  
  78.    
  79.    _targetToMurder switchMove "TestSurrender";
  80.    _targetToMurder customChat [_customChat,"You feel something unholy take over your body... YOU CANT MOVE"];
  81.    _targetToMurder setDir (_targetToMurder getDir _boogy);  
  82.    _boogy switchMove ("HubBriefing_pointAtTable");
  83.     sleep 2;
  84.  
  85.    
  86.    [_targetToMurder,100,"head","unknown"] remoteExec ["ace_medical_fnc_addDamageToUnit",_targetToMurder,true];
  87.    _targetToMurder customChat [_customChat,"You feel the monster snap your neck..."];
  88.    _customChat radioChannelRemove [_targetToMurder];
  89.    deleteVehicle _boogy;  
  90.    [_handleTarget] call CBA_fnc_removePerFrameHandler;
  91.    };
  92.    
  93.    
  94.     };
  95.     };
  96.     };
  97.  },5,[_boogy,_targetToMurder]] call CBA_fnc_addPerFrameHandler;
  98.  
  99. },60,[_boogy]] call CBA_fnc_addPerFrameHandler;
  100.  
  101.  
  102. }] call Ares_fnc_RegisterCustomModule;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement