AlexHillYT

Arma 3 - Random Enemy Spawn

Dec 2nd, 2021 (edited)
455
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 1.66 KB | None | 0 0
  1. _Spawntarget = squadleader;
  2. _Spawndistance = 900;
  3. _Deletedistance = 1000;
  4. _Spawngroups = [
  5.  (configfile >> "CfgGroups" >> "East" >> "OPF_G_F" >> "Infantry" >> "O_G_InfTeam_Light"),
  6.  (configfile >> "CfgGroups" >> "East" >> "OPF_G_F" >> "Infantry" >> "O_G_InfSquad_Assault")
  7. ];
  8.  
  9. _Spawnmaxdelay =120;
  10. _Spawnavgdelay =110;
  11. _Spawnmindelay =90;
  12. _Spawnside = OPFOR;
  13.  
  14. _AISkills = [
  15.  ["aimingShake", 0.2],
  16.  ["aimingSpeed", 0.2],
  17.  ["endurance", 0.5],
  18.  ["spotDistance", 0.5],
  19.  ["spotTime", 0.5],
  20.  ["courage", 1],
  21.  ["reloadSpeed", 0.5],
  22.  ["commanding", 1],
  23.  ["general", 0.5]
  24. ];
  25.  
  26. while {true} do {
  27.  _SpawnPosition = _Spawntarget getRelPos [_Spawndistance, round random 360];
  28.  _NewGroup = [_SpawnPosition, _Spawnside , _Spawngroups select (floor (random (count _Spawngroups)))] call BIS_fnc_spawnGroup;
  29.   _NewGroup setVariable ["spawned",true];
  30.  
  31.  {
  32.   _EditUnit = _x;
  33.   {_EditUnit setSkill _x;} forEach _AISkills;
  34.  } forEach units _NewGroup;
  35.  
  36.  _NewGroup setBehaviour "AWARE";
  37.  _NewGroup setSpeedMode "NORMAL";
  38.  _NewGroup setCombatMode "RED";
  39.  
  40.  _GroupWayPoint = _NewGroup addWaypoint [position _Spawntarget, 0];
  41.  _GroupWayPoint setWaypointType "MOVE";
  42.  
  43. {
  44.   _EditGroup = _x;
  45.   for "_i" from count waypoints _EditGroup - 1 to 0 step -1 do  { deleteWaypoint [_EditGroup, _i];};
  46.   _NewGroupWayPoint = _EditGroup addWaypoint [position _Spawntarget, 0];
  47.   _NewGroupWayPoint setWaypointType "MOVE";
  48.   {
  49.    if (_Spawntarget distance _x>_Deletedistance) then {deleteVehicle _x;};
  50.   } forEach units _EditGroup;
  51.  } foreach (allGroups select {side _x == _Spawnside && (_x getVariable ["spawned",true])});
  52.  
  53.  sleep (random [_Spawnmindelay,_Spawnavgdelay,_Spawnmaxdelay]);
  54. };
Add Comment
Please, Sign In to add comment