mirror of
https://github.com/IT07/a3_vemf_reloaded.git
synced 2024-08-30 16:52:11 +00:00
Fixed stalling of this mission type
This commit is contained in:
parent
2d7cbc8b7e
commit
e94919c4a5
@ -5,12 +5,13 @@
|
|||||||
A simple mission for VEMFr that sends a chopper to a player's territory and paradrops all units inside
|
A simple mission for VEMFr that sends a chopper to a player's territory and paradrops all units inside
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
VEMFrMissionCount = VEMFrMissionCount + 1;
|
||||||
_missionName = param [0, "", [""]];
|
_missionName = param [0, "", [""]];
|
||||||
if isNil"VEMFrAttackCount" then { VEMFrAttackCount = 0 };
|
if isNil"VEMFrAttackCount" then { VEMFrAttackCount = 0 };
|
||||||
if (VEMFrAttackCount < ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSetting select 0)) then
|
VEMFrAttackCount = VEMFrAttackCount + 1;
|
||||||
|
if (VEMFrAttackCount <= ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSetting select 0)) then
|
||||||
{
|
{
|
||||||
scopeName "outer";
|
scopeName "outer";
|
||||||
VEMFrAttackCount = VEMFrAttackCount + 1;
|
|
||||||
if (_missionName in ("missionList" call VEMFr_fnc_getSetting)) then
|
if (_missionName in ("missionList" call VEMFr_fnc_getSetting)) then
|
||||||
{
|
{
|
||||||
_aiSetup = ([[_missionName],["aiSetup"]] call VEMFr_fnc_getSetting) select 0;
|
_aiSetup = ([[_missionName],["aiSetup"]] call VEMFr_fnc_getSetting) select 0;
|
||||||
@ -38,6 +39,7 @@ if (VEMFrAttackCount < ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSettin
|
|||||||
_nearestPlayer = selectRandom (nearestObjects [_flagPos, ["Exile_Unit_Player"], 150]);
|
_nearestPlayer = selectRandom (nearestObjects [_flagPos, ["Exile_Unit_Player"], 150]);
|
||||||
if not isNil"_nearestPlayer" then
|
if not isNil"_nearestPlayer" then
|
||||||
{
|
{
|
||||||
|
_flagName = _flagToAttack getVariable ["exileterritoryname", "ERROR: UNKNOWN NAME"];
|
||||||
_paraGroups = [_flagPos, _aiSetup select 0, _aiSetup select 1, ([[_missionName],["aiMode"]] call VEMFr_fnc_getSetting select 0), _missionName, 1000 + (random 1000), 150] call VEMFr_fnc_spawnVEMFrAI;
|
_paraGroups = [_flagPos, _aiSetup select 0, _aiSetup select 1, ([[_missionName],["aiMode"]] call VEMFr_fnc_getSetting select 0), _missionName, 1000 + (random 1000), 150] call VEMFr_fnc_spawnVEMFrAI;
|
||||||
if (count _paraGroups isEqualTo (_aiSetup select 0)) then
|
if (count _paraGroups isEqualTo (_aiSetup select 0)) then
|
||||||
{
|
{
|
||||||
@ -54,33 +56,29 @@ if (VEMFrAttackCount < ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSettin
|
|||||||
_units = [];
|
_units = [];
|
||||||
{
|
{
|
||||||
_wp = _x addWaypoint [_flagPos, 50, 1];
|
_wp = _x addWaypoint [_flagPos, 50, 1];
|
||||||
_wp setWaypointType "SAD";
|
_wp setWaypointBehaviour "COMBAT";
|
||||||
_wp setWaypointSpeed "FULL";
|
|
||||||
_wp setWaypointCombatMode "RED";
|
_wp setWaypointCombatMode "RED";
|
||||||
_wp setWaypointBehaviour "AWARE";
|
_wp setWaypointCompletionRadius 10;
|
||||||
|
_wp setWaypointFormation "DIAMOND";
|
||||||
|
_wp setWaypointSpeed "FULL";
|
||||||
|
_wp setWaypointType "SAD";
|
||||||
_x setCurrentWaypoint _wp;
|
_x setCurrentWaypoint _wp;
|
||||||
_wayPoints pushback _wp;
|
_wayPoints pushback _wp;
|
||||||
{
|
{
|
||||||
if (backpack _x isEqualTo "") then
|
|
||||||
{
|
|
||||||
removeBackpack _x;
|
|
||||||
};
|
|
||||||
_x addBackPack "B_Parachute";
|
|
||||||
_units pushback _x;
|
_units pushback _x;
|
||||||
} forEach (units _x);
|
} forEach (units _x);
|
||||||
[_x] spawn VEMFr_fnc_signAI;
|
_signed = [_x] call VEMFr_fnc_signAI;
|
||||||
} forEach _paraGroups;
|
} forEach _paraGroups;
|
||||||
_nameOfTarget = name _nearestPlayer;
|
|
||||||
_players = nearestObjects [_flagPos, ["Exile_Unit_Player"], 275];
|
_players = nearestObjects [_flagPos, ["Exile_Unit_Player"], 275];
|
||||||
[[format["A paradrop team is on the way to %1's location!", _nameOfTarget],"BaseAttack", _players]] spawn VEMFr_fnc_broadCast;
|
[[format["A para team is on the way to %1 @ %2's location!", _flagName, name _nearestPlayer],"BaseAttack", _players]] spawn VEMFr_fnc_broadCast;
|
||||||
["BaseAttack", 1, format["A paradrop team is on the way to %1's location!", name _nearestPlayer]] spawn VEMFr_fnc_log;
|
["BaseAttack", 1, format["A para team is on the way to %1 @ %2's location!", _flagName, name _nearestPlayer]] spawn VEMFr_fnc_log;
|
||||||
|
|
||||||
while {true} do
|
while {true} do
|
||||||
{
|
{
|
||||||
scopeName "loop";
|
scopeName "loop";
|
||||||
_deadCount = 0;
|
_deadCount = 0;
|
||||||
{
|
{
|
||||||
if not(alive _x) then
|
if (damage _x isEqualTo 1) then
|
||||||
{
|
{
|
||||||
_deadCount = _deadCount + 1;
|
_deadCount = _deadCount + 1;
|
||||||
};
|
};
|
||||||
@ -94,7 +92,7 @@ if (VEMFrAttackCount < ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSettin
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
_players = nearestObjects [_flagPos, ["Exile_Unit_Player"], 275];
|
_players = nearestObjects [_flagPos, ["Exile_Unit_Player"], 275];
|
||||||
[[format["Attack on %1's location has been stopped", _nameOfTarget],"SUCCESS", _players]] spawn VEMFr_fnc_broadCast;
|
[[format["Attack on %1 has been defeated", _flagname],"SUCCESS", _players]] spawn VEMFr_fnc_broadCast;
|
||||||
breakOut "outer";
|
breakOut "outer";
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
@ -139,6 +137,6 @@ if (VEMFrAttackCount < ([[_missionName],["maxAttacks"]] call VEMFr_fnc_getSettin
|
|||||||
["BaseAttack", 0, format["Failed to start mission. Given _missionName (%1) is not in active missionList", _missionName]] spawn VEMFr_fnc_log;
|
["BaseAttack", 0, format["Failed to start mission. Given _missionName (%1) is not in active missionList", _missionName]] spawn VEMFr_fnc_log;
|
||||||
breakOut "outer";
|
breakOut "outer";
|
||||||
};
|
};
|
||||||
VEMFrAttackCount = VEMFrAttackCount - 1;
|
|
||||||
};
|
};
|
||||||
|
VEMFrAttackCount = VEMFrAttackCount - 1;
|
||||||
VEMFrMissionCount = VEMFrMissionCount - 1;
|
VEMFrMissionCount = VEMFrMissionCount - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user