mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
no team management on the dead or unconscious units, fix #803
This commit is contained in:
parent
9b8e130b1f
commit
f5d7331847
@ -35,7 +35,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_TeamManagement {
|
||||
displayName = "$STR_ACE_Interaction_TeamManagement";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {GVAR(EnableTeamManagement)});
|
||||
statement = "";
|
||||
showDisabled = 0;
|
||||
priority = 3.2;
|
||||
@ -44,7 +44,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_JoinTeamRed {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamRed";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_red_ca.paa);
|
||||
@ -53,7 +53,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamGreen {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamGreen";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_green_ca.paa);
|
||||
@ -62,7 +62,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamBlue {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamBlue";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_blue_ca.paa);
|
||||
@ -71,7 +71,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_JoinTeamYellow {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamYellow";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
|
||||
statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_yellow_ca.paa);
|
||||
@ -81,7 +81,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_LeaveTeam {
|
||||
displayName = "$STR_ACE_Interaction_LeaveTeam";
|
||||
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'});
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'});
|
||||
statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -92,8 +92,8 @@ class CfgVehicles {
|
||||
|
||||
class ACE_JoinGroup {
|
||||
displayName = "$STR_ACE_Interaction_JoinGroup";
|
||||
condition = QUOTE(side group _player == side group _target && {group _player != group _target});
|
||||
statement = QUOTE([_player] joinSilent group _target;);
|
||||
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinGroup));
|
||||
statement = QUOTE([_player] joinSilent group _target);
|
||||
showDisabled = 0;
|
||||
priority = 2.6;
|
||||
icon = PATHTOF(UI\team\team_management_ca.paa);
|
||||
@ -223,7 +223,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamBlue";
|
||||
condition = QUOTE(true);
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'BLUE')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'BLUE')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.2;
|
||||
icon = PATHTOF(UI\team\team_blue_ca.paa);
|
||||
@ -233,7 +233,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_JoinTeamYellow";
|
||||
condition = QUOTE(true);
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'YELLOW')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'YELLOW')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.1;
|
||||
icon = PATHTOF(UI\team\team_yellow_ca.paa);
|
||||
@ -244,7 +244,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_LeaveTeam";
|
||||
condition = QUOTE(assignedTeam _player != 'MAIN');
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE([ARR_2(_player,'MAIN')] call FUNC(joinTeam));
|
||||
statement = QUOTE([ARR_2(_player,'MAIN')] call DFUNC(joinTeam));
|
||||
showDisabled = 1;
|
||||
priority = 2.5;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -252,9 +252,9 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_BecomeLeader {
|
||||
displayName = "$STR_ACE_Interaction_BecomeLeader";
|
||||
condition = QUOTE(_this call FUNC(canBecomeLeader));
|
||||
condition = QUOTE(_this call DFUNC(canBecomeLeader));
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE(_this call FUNC(doBecomeLeader));
|
||||
statement = QUOTE(_this call DFUNC(doBecomeLeader));
|
||||
showDisabled = 1;
|
||||
priority = 1.0;
|
||||
icon = PATHTOF(UI\team\team_white_ca.paa);
|
||||
@ -405,7 +405,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -423,7 +423,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -443,7 +443,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -461,7 +461,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -479,7 +479,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Push";
|
||||
distance = 6;
|
||||
condition = QUOTE(getMass _target < 1000 && {alive _target});
|
||||
statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call FUNC(push););
|
||||
statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call DFUNC(push););
|
||||
showDisabled = 0;
|
||||
priority = -1;
|
||||
};
|
||||
@ -490,7 +490,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -509,7 +509,7 @@ class CfgVehicles {
|
||||
displayName = "$STR_ACE_Interaction_Passengers";
|
||||
condition = "true";
|
||||
statement = "";
|
||||
insertChildren = QUOTE(_this call FUNC(addPassengersActions));
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,8 @@ PREP(addSelectableItem);
|
||||
PREP(applyButtons);
|
||||
PREP(canBecomeLeader);
|
||||
PREP(canInteractWithCivilian);
|
||||
PREP(canJoinGroup);
|
||||
PREP(canJoinTeam);
|
||||
PREP(canTapShoulder);
|
||||
PREP(doBecomeLeader);
|
||||
PREP(getDoor);
|
||||
|
12
addons/interaction/functions/fnc_canJoinGroup.sqf
Normal file
12
addons/interaction/functions/fnc_canJoinGroup.sqf
Normal file
@ -0,0 +1,12 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_unit", "_target"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_target = _this select 1;
|
||||
|
||||
alive _target
|
||||
&& {!(_target getVariable ["ACE_isUnconscious", false])}
|
||||
&& {side group _unit == side group _target}
|
||||
&& {group _unit != group _target}
|
12
addons/interaction/functions/fnc_canJoinTeam.sqf
Normal file
12
addons/interaction/functions/fnc_canJoinTeam.sqf
Normal file
@ -0,0 +1,12 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_unit", "_target"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_target = _this select 1;
|
||||
|
||||
alive _target
|
||||
&& {!(_target getVariable ["ACE_isUnconscious", false])}
|
||||
&& {!([_target] call EFUNC(common,isPlayer))}
|
||||
&& {_target in units group _unit}
|
Loading…
Reference in New Issue
Block a user