diff --git a/A3-Antistasi/CREATE/AAFroadPatrol.sqf b/A3-Antistasi/CREATE/AAFroadPatrol.sqf index eb477eaa94..d78209d262 100644 --- a/A3-Antistasi/CREATE/AAFroadPatrol.sqf +++ b/A3-Antistasi/CREATE/AAFroadPatrol.sqf @@ -6,14 +6,27 @@ _grupos = []; _base = ""; _roads = []; -//_tipos = ["I_MRAP_03_F","I_MRAP_03_hmg_F","I_MRAP_03_gmg_F","I_Heli_light_03_unarmed_F","I_Boat_Armed_01_minigun_F"]; -_tipos = vehNATOLight + [vehNATOPatrolHeli,vehNATOBoat]; - -_arrayAeropuertos = (puertos + aeropuertos + puestos) select {(getMarkerPos _x distance getMarkerPos respawnBuenos < 3000) and ((spawner getVariable _x != 0)) and (lados getVariable [_x,sideUnknown] != buenos)}; - -if (count _arrayAeropuertos == 0) exitWith {}; +_arrayAeropuertos = (puertos + aeropuertos + puestos) select {((spawner getVariable _x != 0)) and (lados getVariable [_x,sideUnknown] != buenos)}; +_arrayAeropuertos1 = []; +if !(isMultiplayer) then + { + { + _aeropuerto = _x; + _pos = getMarkerPos _aeropuerto; + if (allUnits findIf {(_x getVariable ["GREENFORSpawn",false]) and (_x distance2d _pos < distanceForLandAttack)} != -1) then {_arrayAeropuertos1 pushBack _aeropuerto}; + } forEach _arrayAeropuertos; + } +else + { + { + _aeropuerto = _x; + _pos = getMarkerPos _aeropuerto; + if (playableUnits findIf {(side (group _x) == buenos) and (_x distance2d _pos < distanceForLandAttack)} != -1) then {_arrayAeropuertos1 pushBack _aeropuerto}; + } forEach _arrayAeropuertos; + }; +if (_arrayAeropuertos1 isEqualTo []) exitWith {}; -_base = selectRandom _arrayAeropuertos; +_base = selectRandom _arrayAeropuertos1; _tipoCoche = ""; _lado = malos; _tipoPatrol = "LAND"; @@ -70,7 +83,7 @@ else else { _arrayDestinos = marcadores select {lados getVariable [_x,sideUnknown] == _lado}; - _arraydestinos = [_arrayDestinos] call patrolDestinos; + _arraydestinos = [_arrayDestinos,_posBase] call patrolDestinos; _distancia = 50; }; }; @@ -97,17 +110,6 @@ if (_tipoPatrol != "AIR") then { _posbase = position ([_posbase] call findNearestGoodRoad); }; - /* - _tam = 10; - while {true} do - { - _roads = _posbase nearRoads _tam; - if (count _roads > 0) exitWith {}; - _tam = _tam + 10; - }; - _road = _roads select 0; - _posbase = position _road; - */ }; }; @@ -158,7 +160,7 @@ while {alive _veh} do _veh setFuel 1; waitUntil {sleep 60; (_veh distance _posdestino < _distancia) or ({[_x] call canFight} count _soldados == 0) or (!canMove _veh)}; - if (({[_x] call canFight} count _soldados == 0) or (!canMove _veh)) exitWith {}; + if !(_veh distance _posdestino < _distancia) exitWith {}; if (_tipoPatrol == "AIR") then { _arrayDestinos = marcadores select {lados getVariable [_x,sideUnknown] == _lado}; @@ -172,20 +174,17 @@ while {alive _veh} do else { _arrayDestinos = marcadores select {lados getVariable [_x,sideUnknown] == _lado}; - _arraydestinos = [_arraydestinos] call patrolDestinos; + _arraydestinos = [_arraydestinos,position _veh] call patrolDestinos; }; }; }; +_enemigos = if (_lado == malos) then {"OPFORSpawn"} else {"BLUFORSpawn"}; -AAFpatrols = AAFpatrols - 1; - -_enemigos = "OPFORSpawn"; - -if (_lado == malos) then {_enemigos = "BLUFORSpawn"}; {_unit = _x; waitUntil {sleep 1;!([distanciaSPWN,1,_unit,"GREENFORSpawn"] call distanceUnits) and !([distanciaSPWN,1,_unit,_enemigos] call distanceUnits)};deleteVehicle _unit} forEach _soldados; {_veh = _x; if (!([distanciaSPWN,1,_veh,"GREENFORSpawn"] call distanceUnits) and !([distanciaSPWN,1,_veh,_enemigos] call distanceUnits)) then {deleteVehicle _veh}} forEach _vehiculos; -{deleteGroup _x} forEach _grupos; \ No newline at end of file +{deleteGroup _x} forEach _grupos; +AAFpatrols = AAFpatrols - 1; \ No newline at end of file diff --git a/A3-Antistasi/REINF/dismissPlayerGroup.sqf b/A3-Antistasi/REINF/dismissPlayerGroup.sqf index 5df1e7ccbd..4541579bdc 100644 --- a/A3-Antistasi/REINF/dismissPlayerGroup.sqf +++ b/A3-Antistasi/REINF/dismissPlayerGroup.sqf @@ -8,6 +8,7 @@ _units = _this select 0; _units = _units - [player]; _units = _units select {!(isPlayer _x)}; if (_units isEqualTo []) exitWith {}; +if (_units findIf {[_x] call canFight} != -1) exitWith {hint "You cannot disband supressed, undercover or unconscious units"}; player globalChat "Get out of my sight you useless scum!"; _nuevoGrp = createGroup buenos; diff --git a/A3-Antistasi/Templates/A3-AA-BLUFORTemplate.Altis/mission.sqm b/A3-Antistasi/Templates/A3-AA-BLUFORTemplate.Altis/mission.sqm index 28f50222a6..2c95ce1354 100644 --- a/A3-Antistasi/Templates/A3-AA-BLUFORTemplate.Altis/mission.sqm +++ b/A3-Antistasi/Templates/A3-AA-BLUFORTemplate.Altis/mission.sqm @@ -5,7 +5,7 @@ class EditorData angleGridStep=0.2617994; scaleGridStep=1; autoGroupingDist=10; - toggles=1666; + toggles=1538; class ItemIDProvider { nextID=1638; @@ -20,10 +20,10 @@ class EditorData }; class Camera { - pos[]={3617.5967,30.477724,10246.399}; - dir[]={-0.21806161,-0.41482627,0.88339162}; - up[]={-0.099414624,0.90989721,0.40274021}; - aside[]={0.97086322,7.1013346e-008,0.23965408}; + pos[]={8420.4658,154.61513,25053.641}; + dir[]={0.07429193,-0.59449989,0.80066264}; + up[]={0.054926567,0.80409461,0.59195727}; + aside[]={0.99572641,6.8401278e-008,-0.092391409}; }; }; binarizationWanted=0; @@ -3340,7 +3340,7 @@ class Mission position[]={8780.8975,35.592316,12043.754}; name="road_1"; type="hd_arrow"; - angle=223.50801; + angle=223.508; id=1441; }; class Item244 @@ -3695,7 +3695,7 @@ class Mission position[]={26493.066,20.179955,21324.83}; name="road_40"; type="hd_arrow"; - angle=113.11621; + angle=113.1162; id=1483; }; class Item283 @@ -6916,10 +6916,10 @@ class Mission dataType="Object"; class PositionInfo { - position[]={8430.2979,115.69852,25110.719}; + position[]={8430.2979,111.02235,25110.719}; }; side="East"; - flags=3; + flags=7; class Attributes { init="grupoPlayersCSAT = group this;this setVariable [""pvp"",true]"; @@ -6927,7 +6927,6 @@ class Mission }; id=1573; type="O_T_Recon_TL_F"; - atlOffset=4.6761627; class CustomAttributes { class Attribute0 @@ -6976,10 +6975,10 @@ class Mission dataType="Object"; class PositionInfo { - position[]={8425.4854,113.86494,25106.207}; + position[]={8425.4854,110.56212,25106.207}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -6987,17 +6986,16 @@ class Mission }; id=1574; type="O_T_Recon_Medic_F"; - atlOffset=3.3028183; }; class Item2 { dataType="Object"; class PositionInfo { - position[]={8434.96,117.18531,25106.357}; + position[]={8434.96,109.85142,25106.357}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7005,17 +7003,16 @@ class Mission }; id=1575; type="O_T_Recon_M_F"; - atlOffset=7.3338928; }; class Item3 { dataType="Object"; class PositionInfo { - position[]={8421.1982,112.66537,25101.018}; + position[]={8421.1982,110.12844,25101.018}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7023,17 +7020,16 @@ class Mission }; id=1576; type="O_T_Recon_LAT_F"; - atlOffset=2.5369263; }; class Item4 { dataType="Object"; class PositionInfo { - position[]={8438.5693,118.64498,25101.168}; + position[]={8438.5693,108.72075,25101.168}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7041,17 +7037,16 @@ class Mission }; id=1577; type="O_T_Recon_F"; - atlOffset=9.9242325; }; class Item5 { dataType="Object"; class PositionInfo { - position[]={8416.7627,111.48867,25096.656}; + position[]={8416.7627,109.83904,25096.656}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7059,17 +7054,16 @@ class Mission }; id=1578; type="O_T_Recon_Exp_F"; - atlOffset=1.6496277; }; class Item6 { dataType="Object"; class PositionInfo { - position[]={8441.2764,120.19041,25097.332}; + position[]={8441.2764,108.02316,25097.332}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7077,17 +7071,16 @@ class Mission }; id=1579; type="O_T_Recon_JTAC_F"; - atlOffset=12.167252; }; class Item7 { dataType="Object"; class PositionInfo { - position[]={8444.0596,121.97874,25094.1}; + position[]={8444.0596,107.40377,25094.1}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7095,30 +7088,29 @@ class Mission }; id=1580; type="O_T_Soldier_UAV_F"; - atlOffset=14.574966; }; }; class Attributes { }; id=1572; - atlOffset=4.6761627; }; class Item326 { dataType="Object"; class PositionInfo { - position[]={8422.2021,117.4845,25112.369}; + position[]={8422.2021,115.51098,25112.369}; + angles[]={6.2711902,0,0.04796192}; }; side="Empty"; + flags=4; class Attributes { init="if !(isMultiplayer) then {deleteVehicle this}"; }; id=1581; type="Flag_Viper_F"; - atlOffset=1.9735184; }; class Item327 { @@ -8946,7 +8938,7 @@ class Mission isPlayable=1; id=1636; type="HeadlessClient_F"; - atlOffset=3.0517578e-005; + atlOffset=3.9100647e-005; }; class Item355 { @@ -8960,7 +8952,7 @@ class Mission isPlayable=1; id=1637; type="HeadlessClient_F"; - atlOffset=2.6702881e-005; + atlOffset=3.528595e-005; }; }; class Connections diff --git a/A3-Antistasi/Templates/A3-AATemplate.Altis/mission.sqm b/A3-Antistasi/Templates/A3-AATemplate.Altis/mission.sqm index f083a13797..bb284a7a1c 100644 --- a/A3-Antistasi/Templates/A3-AATemplate.Altis/mission.sqm +++ b/A3-Antistasi/Templates/A3-AATemplate.Altis/mission.sqm @@ -5,7 +5,7 @@ class EditorData angleGridStep=0.2617994; scaleGridStep=1; autoGroupingDist=10; - toggles=1666; + toggles=1538; class ItemIDProvider { nextID=1541; @@ -20,10 +20,10 @@ class EditorData }; class Camera { - pos[]={3643.2856,36.805004,10256.871}; - dir[]={-0.56678516,-0.49717277,0.65694821}; - up[]={-0.32477248,0.86765063,0.37643731}; - aside[]={0.75715554,3.7165591e-008,0.65323991}; + pos[]={3609.3936,29.259756,10248.38}; + dir[]={0.082914516,-0.51718152,0.85185391}; + up[]={0.050102774,0.85587496,0.51474941}; + aside[]={0.99529862,-2.5591362e-008,-0.096877024}; }; }; binarizationWanted=0; @@ -6457,7 +6457,6 @@ class Mission }; id=1425; type="I_G_officer_F"; - atlOffset=-9.5367432e-007; class CustomAttributes { class Attribute0 @@ -6506,7 +6505,6 @@ class Mission { }; id=1424; - atlOffset=-9.5367432e-007; }; class Item280 { @@ -6898,7 +6896,6 @@ class Mission }; id=1437; type="I_G_officer_F"; - atlOffset=9.5367432e-007; class CustomAttributes { class Attribute0 @@ -6947,7 +6944,6 @@ class Mission { }; id=1436; - atlOffset=9.5367432e-007; }; class Item286 { @@ -7037,7 +7033,7 @@ class Mission position[]={8780.8975,35.592316,12043.754}; name="road_1"; type="hd_arrow"; - angle=223.50815; + angle=223.50813; id=1441; }; class Item289 @@ -7275,7 +7271,7 @@ class Mission position[]={21706.1,22.576994,17678.889}; name="road_27"; type="hd_arrow"; - angle=213.26997; + angle=213.26996; id=1470; }; class Item315 @@ -7383,7 +7379,7 @@ class Mission position[]={26280.432,40.25845,21788.68}; name="road_39"; type="hd_arrow"; - angle=52.545025; + angle=52.545021; id=1482; }; class Item327 @@ -7392,7 +7388,7 @@ class Mission position[]={26493.066,20.179955,21324.83}; name="road_40"; type="hd_arrow"; - angle=113.11629; + angle=113.11628; id=1483; }; class Item328 @@ -7435,10 +7431,10 @@ class Mission dataType="Object"; class PositionInfo { - position[]={8430.0654,115.71256,25112.033}; + position[]={8430.0654,111.13419,25112.033}; }; side="East"; - flags=3; + flags=7; class Attributes { init="grupoPlayersCSAT = group this;this setVariable [""pvp"",true]"; @@ -7446,7 +7442,6 @@ class Mission }; id=1488; type="O_T_Recon_TL_F"; - atlOffset=4.5783768; class CustomAttributes { class Attribute0 @@ -7495,10 +7490,10 @@ class Mission dataType="Object"; class PositionInfo { - position[]={8425.2529,113.87898,25107.521}; + position[]={8425.2529,110.82542,25107.521}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7506,17 +7501,16 @@ class Mission }; id=1489; type="O_T_Recon_Medic_F"; - atlOffset=3.0535583; }; class Item2 { dataType="Object"; class PositionInfo { - position[]={8434.7275,117.19935,25107.672}; + position[]={8434.7275,110.06153,25107.672}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7524,17 +7518,16 @@ class Mission }; id=1490; type="O_T_Recon_M_F"; - atlOffset=7.1378174; }; class Item3 { dataType="Object"; class PositionInfo { - position[]={8420.9658,112.67941,25102.332}; + position[]={8420.9658,110.31319,25102.332}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7542,17 +7535,16 @@ class Mission }; id=1491; type="O_T_Recon_LAT_F"; - atlOffset=2.3662262; }; class Item4 { dataType="Object"; class PositionInfo { - position[]={8438.3369,118.65902,25102.482}; + position[]={8438.3369,108.82306,25102.482}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7560,17 +7552,16 @@ class Mission }; id=1492; type="O_T_Recon_F"; - atlOffset=9.8359604; }; class Item5 { dataType="Object"; class PositionInfo { - position[]={8416.5303,111.50271,25097.971}; + position[]={8416.5303,110.09702,25097.971}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7578,17 +7569,16 @@ class Mission }; id=1493; type="O_T_Recon_Exp_F"; - atlOffset=1.4056854; }; class Item6 { dataType="Object"; class PositionInfo { - position[]={8441.0439,120.20445,25098.646}; + position[]={8441.0439,108.11848,25098.646}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7596,17 +7586,16 @@ class Mission }; id=1494; type="O_T_Recon_JTAC_F"; - atlOffset=12.085976; }; class Item7 { dataType="Object"; class PositionInfo { - position[]={8443.8271,121.99277,25095.414}; + position[]={8443.8271,107.42693,25095.414}; }; side="East"; - flags=1; + flags=5; class Attributes { init="this setVariable [""pvp"",true]"; @@ -7614,30 +7603,29 @@ class Mission }; id=1495; type="O_T_Soldier_UAV_F"; - atlOffset=14.565834; }; }; class Attributes { }; id=1487; - atlOffset=4.5783768; }; class Item332 { dataType="Object"; class PositionInfo { - position[]={8421.9697,117.49854,25113.684}; + position[]={8421.9697,115.51557,25113.684}; + angles[]={6.2711902,0,0.04796192}; }; side="Empty"; + flags=4; class Attributes { init="if !(isMultiplayer) then {deleteVehicle this}"; }; id=1496; type="Flag_Viper_F"; - atlOffset=1.9829712; }; class Item333 { @@ -7651,11 +7639,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3622.709,15.760334,10295.571}; + position[]={3622.709,15.089675,10295.571}; angles[]={6.2445378,0,6.2578578}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="AT Launcher"; @@ -7663,7 +7651,6 @@ class Mission }; id=1498; type="I_G_Soldier_LAT_F"; - atlOffset=0.67065907; class CustomAttributes { class Attribute0 @@ -7712,7 +7699,6 @@ class Mission { }; id=1497; - atlOffset=0.67065907; }; class Item334 { @@ -7726,11 +7712,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3625.6389,15.664162,10295.223}; + position[]={3625.6389,14.993293,10295.223}; angles[]={6.2551947,0,6.247201}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Paramedic"; @@ -7738,7 +7724,6 @@ class Mission }; id=1500; type="I_G_medic_F"; - atlOffset=0.67086887; class CustomAttributes { class Attribute0 @@ -7787,7 +7772,6 @@ class Mission { }; id=1499; - atlOffset=0.67086887; }; class Item335 { @@ -7801,11 +7785,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3628.5381,15.63302,10295.401}; - angles[]={6.2551947,0,0.0093286335}; + position[]={3628.5381,14.893919,10295.401}; + angles[]={6.2551947,0,6.247201}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Engineer"; @@ -7813,7 +7797,6 @@ class Mission }; id=1502; type="I_G_engineer_F"; - atlOffset=0.73910141; class CustomAttributes { class Attribute0 @@ -7862,7 +7845,6 @@ class Mission { }; id=1501; - atlOffset=0.73910141; }; class Item336 { @@ -7876,11 +7858,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3631.5259,15.66706,10295.621}; + position[]={3631.5259,14.861694,10295.621}; angles[]={6.2551947,0,0.0093286335}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Grenadier"; @@ -7888,7 +7870,6 @@ class Mission }; id=1504; type="I_G_Soldier_GL_F"; - atlOffset=0.80536556; class CustomAttributes { class Attribute0 @@ -7937,7 +7918,6 @@ class Mission { }; id=1503; - atlOffset=0.80536556; }; class Item337 { @@ -7951,11 +7931,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3617.1741,16.09885,10295.275}; + position[]={3617.1741,15.693403,10295.275}; angles[]={6.2365522,0,6.1769204}; }; side="Independent"; - flags=2; + flags=6; class Attributes { skill=1; @@ -7964,7 +7944,6 @@ class Mission }; id=1506; type="I_G_officer_F"; - atlOffset=0.40544796; class CustomAttributes { class Attribute0 @@ -8013,7 +7992,6 @@ class Mission { }; id=1505; - atlOffset=0.40544796; }; class Item338 { @@ -8027,11 +8005,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3619.9329,15.82599,10295.451}; - angles[]={6.2445378,0,6.2578578}; + position[]={3619.9329,15.384641,10295.451}; + angles[]={6.2445378,0,6.1690178}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Machinegunner"; @@ -8039,7 +8017,6 @@ class Mission }; id=1508; type="I_G_Soldier_AR_F"; - atlOffset=0.44134903; class CustomAttributes { class Attribute0 @@ -8088,7 +8065,6 @@ class Mission { }; id=1507; - atlOffset=0.44134903; }; class Item339 { @@ -8102,11 +8078,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3622.5605,16.78841,10298.836}; - angles[]={6.2445378,0,6.2578578}; + position[]={3622.5605,15.217278,10298.836}; + angles[]={6.2458687,0,6.247201}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="AT Launcher"; @@ -8114,7 +8090,6 @@ class Mission }; id=1510; type="I_G_Soldier_LAT_F"; - atlOffset=1.5711336; class CustomAttributes { class Attribute0 @@ -8163,7 +8138,6 @@ class Mission { }; id=1509; - atlOffset=1.5711336; }; class Item340 { @@ -8177,11 +8151,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3625.4905,16.692238,10298.487}; - angles[]={6.2551947,0,6.247201}; + position[]={3625.4905,15.098813,10298.487}; + angles[]={6.2458687,0,6.247201}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Paramedic"; @@ -8189,7 +8163,6 @@ class Mission }; id=1512; type="I_G_medic_F"; - atlOffset=1.5934258; class CustomAttributes { class Attribute0 @@ -8238,7 +8211,6 @@ class Mission { }; id=1511; - atlOffset=1.5934258; }; class Item341 { @@ -8252,11 +8224,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3628.3896,16.661098,10298.666}; - angles[]={6.2551947,0,0.0093286335}; + position[]={3628.3896,15.001105,10298.666}; + angles[]={6.2458687,0,6.247201}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Engineer"; @@ -8264,7 +8236,6 @@ class Mission }; id=1514; type="I_G_engineer_F"; - atlOffset=1.6599941; class CustomAttributes { class Attribute0 @@ -8313,7 +8284,6 @@ class Mission { }; id=1513; - atlOffset=1.6599941; }; class Item342 { @@ -8327,11 +8297,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3631.3774,16.695137,10298.886}; - angles[]={6.2551947,0,0.0093286335}; + position[]={3631.3774,15.023723,10298.886}; + angles[]={6.2192731,0,0.02666023}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Grenadier"; @@ -8339,7 +8309,6 @@ class Mission }; id=1516; type="I_G_Soldier_GL_F"; - atlOffset=1.6714153; class CustomAttributes { class Attribute0 @@ -8388,7 +8357,6 @@ class Mission { }; id=1515; - atlOffset=1.6714153; }; class Item343 { @@ -8402,11 +8370,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3617.0256,17.126926,10298.54}; - angles[]={6.2365522,0,6.1769204}; + position[]={3617.0256,15.850656,10298.54}; + angles[]={6.2312322,0,6.1690178}; }; side="Independent"; - flags=2; + flags=6; class Attributes { skill=1; @@ -8415,7 +8383,6 @@ class Mission }; id=1518; type="I_G_officer_F"; - atlOffset=1.2762718; class CustomAttributes { class Attribute0 @@ -8464,7 +8431,6 @@ class Mission { }; id=1517; - atlOffset=1.2762718; }; class Item344 { @@ -8478,11 +8444,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3619.7844,16.854065,10298.716}; - angles[]={6.2445378,0,6.2578578}; + position[]={3619.7844,15.543464,10298.716}; + angles[]={6.2312322,0,6.1690178}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Machinegunner"; @@ -8490,7 +8456,6 @@ class Mission }; id=1520; type="I_G_Soldier_AR_F"; - atlOffset=1.3106022; class CustomAttributes { class Attribute0 @@ -8539,7 +8504,6 @@ class Mission { }; id=1519; - atlOffset=1.3106022; }; class Item345 { @@ -8553,11 +8517,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3621.3738,17.01717,10301.581}; - angles[]={6.2445378,0,6.2578578}; + position[]={3621.3738,15.467607,10301.581}; + angles[]={6.2458706,0,6.1545658}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="AT Launcher"; @@ -8565,7 +8529,6 @@ class Mission }; id=1522; type="I_G_Soldier_LAT_F"; - atlOffset=1.5495634; class CustomAttributes { class Attribute0 @@ -8614,7 +8577,6 @@ class Mission { }; id=1521; - atlOffset=1.5495634; }; class Item346 { @@ -8628,11 +8590,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3624.3037,16.920998,10301.232}; - angles[]={6.2551947,0,6.247201}; + position[]={3624.3037,15.524534,10301.232}; + angles[]={5.957521,0,0.24143139}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Paramedic"; @@ -8640,7 +8602,6 @@ class Mission }; id=1524; type="I_G_medic_F"; - atlOffset=1.3964643; class CustomAttributes { class Attribute0 @@ -8689,7 +8650,6 @@ class Mission { }; id=1523; - atlOffset=1.3964643; }; class Item347 { @@ -8703,11 +8663,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3627.2029,16.889858,10301.411}; - angles[]={6.2551947,0,0.0093286335}; + position[]={3627.2029,15.174692,10301.411}; + angles[]={6.2192731,0,6.2738566}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Engineer"; @@ -8715,7 +8675,6 @@ class Mission }; id=1526; type="I_G_engineer_F"; - atlOffset=1.715167; class CustomAttributes { class Attribute0 @@ -8764,7 +8723,6 @@ class Mission { }; id=1525; - atlOffset=1.715167; }; class Item348 { @@ -8778,11 +8736,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3630.1907,16.923897,10301.631}; - angles[]={6.2551947,0,0.0093286335}; + position[]={3630.1907,15.167741,10301.631}; + angles[]={6.2192731,0,0.02666023}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Grenadier"; @@ -8790,7 +8748,6 @@ class Mission }; id=1528; type="I_G_Soldier_GL_F"; - atlOffset=1.7561569; class CustomAttributes { class Attribute0 @@ -8839,7 +8796,6 @@ class Mission { }; id=1527; - atlOffset=1.7561569; }; class Item349 { @@ -8853,11 +8809,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3615.8389,17.355686,10301.285}; - angles[]={6.2365522,0,6.1769204}; + position[]={3615.8389,16.323023,10301.285}; + angles[]={5.8855929,0,5.4282241}; }; side="Independent"; - flags=2; + flags=6; class Attributes { skill=1; @@ -8866,7 +8822,6 @@ class Mission }; id=1530; type="I_G_officer_F"; - atlOffset=1.0326633; class CustomAttributes { class Attribute0 @@ -8915,7 +8870,6 @@ class Mission { }; id=1529; - atlOffset=1.0326633; }; class Item350 { @@ -8929,11 +8883,11 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3618.5977,17.082825,10301.461}; - angles[]={6.2445378,0,6.2578578}; + position[]={3618.5977,15.822173,10301.461}; + angles[]={6.2458706,0,6.1545658}; }; side="Independent"; - flags=2; + flags=6; class Attributes { description="Machinegunner"; @@ -8941,7 +8895,6 @@ class Mission }; id=1532; type="I_G_Soldier_AR_F"; - atlOffset=1.2606525; class CustomAttributes { class Attribute0 @@ -8990,7 +8943,6 @@ class Mission { }; id=1531; - atlOffset=1.2606525; }; class Item351 { @@ -9018,7 +8970,7 @@ class Mission isPlayable=1; id=1537; type="HeadlessClient_F"; - atlOffset=1.6212463e-005; + atlOffset=1.5258789e-005; }; class Item353 { diff --git a/A3-Antistasi/ataqueAAF.sqf b/A3-Antistasi/ataqueAAF.sqf index ad532c4c49..2b5bdd12a0 100644 --- a/A3-Antistasi/ataqueAAF.sqf +++ b/A3-Antistasi/ataqueAAF.sqf @@ -8,9 +8,11 @@ _natoIsFull = false; _csatIsFull = false; _aeropuertos = aeropuertos select {([_x,false] call airportCanAttack) and (lados getVariable [_x,sideUnknown] != buenos)}; _objetivos = marcadores - controles - puestosFIA - ["Synd_HQ","NATO_carrier","CSAT_carrier"] - destroyedCities; +//_objetivosSDK = _objetivos select {lados getVariable [_x,sideUnknown] == buenos}; if (tierWar < 2) then { _aeropuertos = _aeropuertos select {(lados getVariable [_x,sideUnknown] == malos)}; + //_objetivos = _objetivosSDK; _objetivos = _objetivos select {lados getVariable [_x,sideUnknown] == buenos}; } else @@ -21,6 +23,13 @@ else if (([vehCSATPlane] call vehAvailable) and ([vehCSATMRLS] call vehAvailable) and ([vehCSATTank] call vehAvailable)) then {_csatIsFull = true}; }; if (tierWar < 3) then {_objetivos = _objetivos - ciudades}; +_objetivosProv = _objetivos - aeropuertos; +{ +_posObj = getMarkerPos _x; +_ladoObj = lados getVariable [_x,sideUnknown]; +if (((marcadores - controles - ciudades) select {lados getVariable [_x,sideUnknown] != _ladoObj}) findIf {getMarkerPos _x distance2D _posObj < 2000} == -1) then {_objetivos = _objetivos - [_x]}; +} forEach _objetivosProv; + if (_objetivos isEqualTo []) exitWith {}; _objetivosFinal = []; _basesFinal = []; diff --git a/A3-Antistasi/buildHQ.sqf b/A3-Antistasi/buildHQ.sqf index f5d3a7cd2d..3e5055f3f1 100644 --- a/A3-Antistasi/buildHQ.sqf +++ b/A3-Antistasi/buildHQ.sqf @@ -1,4 +1,4 @@ -private ["_pos","_rnd"]; +private ["_pos","_rnd","_posFuego"]; _movido = false; if (petros != (leader group petros)) then { @@ -34,7 +34,7 @@ else [respawnBuenos,1] remoteExec ["setMarkerAlphaLocal",buenos,true]; [respawnBuenos,1] remoteExec ["setMarkerAlphaLocal",civilian,true]; _posFuego = [getPos petros, 3, getDir petros] call BIS_Fnc_relPos; -fuego setPos _pos; +fuego setPos _posFuego; _rnd = getdir Petros; if (isMultiplayer) then {sleep 5}; _pos = [_posFuego, 3, _rnd] call BIS_Fnc_relPos; @@ -45,7 +45,7 @@ mapa setPos _pos; mapa setDir ([fuego, mapa] call BIS_fnc_dirTo); _rnd = _rnd + 45; _pos = [_posFuego, 3, _rnd] call BIS_Fnc_relPos; -_pos = _pos findEmptyPosition [0,100,(typeOf bandera)]; +_pos = _pos findEmptyPosition [0,50,(typeOf bandera)]; if (_pos isEqualTo []) then {_pos = getPos petros}; bandera setPos _pos; _rnd = _rnd + 45; diff --git a/A3-Antistasi/changelog.txt b/A3-Antistasi/changelog.txt index e5329d6f63..e10e4e80c7 100644 --- a/A3-Antistasi/changelog.txt +++ b/A3-Antistasi/changelog.txt @@ -1069,4 +1069,16 @@ cambiar a inArea el undercover y revisar a qu - Airstrike plane will be of proper side in Altis Greenfor version. - Improved stability when players add garrisons on spawned zones. - Small workaround for buliding HQ in MP issues. -- Re enabled supply box spawn in high war level. \ No newline at end of file +- Fixed heavy bug on enhaced AI which made them maneuvre much less. +- Re enabled supply box spawn in high war level. +- When a headless clint disconnects, an alarm will appear constantly instead of finishing the mission. + +1.2.4 29/07/2018 + +- HR of AI squadmates is properly refunded when saving. +- Enemy small vehicle patrols wont have only rebel HQ as reference but the whole frontier in SP and player presence in MP to simulate the whole island is being patrolled. +- Better priorisation of targets for major attacks, less random, more sense. +- Removed debug message when AI captures an airbase. +- Hopefully solved all the remaining HQ assets issues. +- Fixed bug when AI tries to hide in a building. +- Reduced a lot the max distance between departure and targets for both land and air attacks (10Kmts and 3 Kmts). \ No newline at end of file diff --git a/A3-Antistasi/initVar.sqf b/A3-Antistasi/initVar.sqf index cb0606cfec..625a38aa83 100644 --- a/A3-Antistasi/initVar.sqf +++ b/A3-Antistasi/initVar.sqf @@ -5,7 +5,7 @@ //Not commented lines cannot be changed. //Don't touch them. -antistasiVersion = "v 1.2.3"; +antistasiVersion = "v 1.2.4"; servidoresOficiales = ["A3-Antistasi Official EU 1","A3-Antistasi Official EU 2"]; @@ -273,8 +273,8 @@ smallCAmrk = []; smallCApos = []; bigAttackInProgress = false; chopForest = false; -distanceForAirAttack = 20000; -distanceForLandAttack = 5000; +distanceForAirAttack = 10000; +distanceForLandAttack = 3000; if (worldName == "Tanoa") then { diff --git a/A3-Antistasi/markerChange.sqf b/A3-Antistasi/markerChange.sqf index 4d62642e2d..1d22bcdfc5 100644 --- a/A3-Antistasi/markerChange.sqf +++ b/A3-Antistasi/markerChange.sqf @@ -226,7 +226,7 @@ if ((_winner != buenos) and (_looser != buenos)) then if (_marcador in aeropuertos) then { _cercanos = (puertos + puestos) select {((getMarkerPos _x) distance _posicion < distanciaSPWN) and (lados getVariable [_x,sideUnknown] != buenos)}; - _cercanos append ((fabricas + recursos) select {(lados getVariable [_x,sideUnknown] != buenos) and (lados getVariable [_x,sideUnknown] != _winner) and ([aeropuertos,_x] call BIS_fnc_nearestPosition == _marcador)}); hint format ["%1",_cercanos]; + _cercanos append ((fabricas + recursos) select {(lados getVariable [_x,sideUnknown] != buenos) and (lados getVariable [_x,sideUnknown] != _winner) and ([aeropuertos,_x] call BIS_fnc_nearestPosition == _marcador)}); if (_looser == malos) then {_cercanos = _cercanos select {lados getVariable [_x,sideUnknown] == malos}; _winner = "OPFORSpawn"} else {_cercanos = _cercanos select {lados getVariable [_x,sideUnknown] == muyMalos}; _winner = "BLUFORSpawn"}; {[_winner,_x] spawn markerChange; sleep 5} forEach _cercanos; }; diff --git a/A3-Antistasi/patrolDestinos.sqf b/A3-Antistasi/patrolDestinos.sqf index b95e00b386..7a5573c28c 100644 --- a/A3-Antistasi/patrolDestinos.sqf +++ b/A3-Antistasi/patrolDestinos.sqf @@ -1,15 +1,23 @@ -private ["_marcadores","_array","_pos","_marcador"]; +private ["_marcadores","_array","_pos","_marcador","_destinos","_posicion"]; _marcadores = _this select 0; - -_array = _marcadores - controles; - -_posHQ = getMarkerPos respawnBuenos; - -for "_i" from 0 to (count _marcadores) - 1 do +_posicion = _this select 1; +_array = (_marcadores - controles) select {getMarkerPos _x distance2D _posicion < distanceForLandAttack}; +_destinos = []; +if !(isMultiplayer) then + { + { + _destino = _x; + _pos = getMarkerPos _destino; + if (marcadores findIf {(lados getVariable [_x,sideUnknown] == buenos) and (getMarkerPos _x distance2d _pos < 2000)} != -1) then {_destinos pushBack _destino}; + } forEach _array; + } +else + { { - _marcador = _marcadores select _i; - _pos = getMarkerPos _marcador; - if (_posHQ distance _pos > 3000) then {_array = _array - [_marcador]}; + _destino = _x; + _pos = getMarkerPos _destino; + if (playableUnits findIf {(side (group _x) == buenos) and (_x distance2d _pos < 2000)} != -1) then {_destinos pushBack _destino}; + } forEach _array; }; -_array \ No newline at end of file +_destinos \ No newline at end of file diff --git a/A3-Antistasi/statSave/saveLoop.sqf b/A3-Antistasi/statSave/saveLoop.sqf index a30b15fe2c..8934965437 100644 --- a/A3-Antistasi/statSave/saveLoop.sqf +++ b/A3-Antistasi/statSave/saveLoop.sqf @@ -77,7 +77,7 @@ if (!isDedicated) then //["firstLoad",false] call fn_SaveStat; private ["_hrfondo","_resfondo","_veh","_tipoVeh","_armas","_municion","_items","_mochis","_contenedores","_arrayEst","_posVeh","_dierVeh","_prestigeOPFOR","_prestigeBLUFOR","_ciudad","_datos","_marcadores","_garrison","_arrayMrkMF","_arrayPuestosFIA","_pospuesto","_tipoMina","_posMina","_detectada","_tipos","_exists","_amigo"]; -_hrfondo = (server getVariable "hr") + ({(alive _x) and (not isPlayer _x) and (_x getVariable ["GREENFORSpawn",false]) and (group _x in (hcAllGroups theBoss))} count allUnits); +_hrfondo = (server getVariable "hr") + ({(alive _x) and (not isPlayer _x) and (_x getVariable ["GREENFORSpawn",false]) and ((group _x in (hcAllGroups theBoss) or (isPlayer (leader _x))))} count allUnits); _resfondo = server getVariable "resourcesFIA"; /* _armas = [];