mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #279 from KoffeinFlummi/fixesInteractionConditions
Fixed various interaction conditions
This commit is contained in:
commit
0d8bd0bc80
@ -179,4 +179,11 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player;
|
|||||||
["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler);
|
["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler);
|
||||||
|
|
||||||
["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition);
|
["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition);
|
||||||
["isNotInside", {_this select 0 == _this select 1 || {vehicle (_this select 0) == _this select 0}}] call FUNC(addCanInteractWithCondition);
|
["isNotInside", {
|
||||||
|
// Players can always interact with himself if not boarded
|
||||||
|
vehicle (_this select 0) == (_this select 0) ||
|
||||||
|
// Players can always interact with his vehicle
|
||||||
|
{vehicle (_this select 0) == (_this select 1)} ||
|
||||||
|
// Players can always interact with passengers of the same vehicle
|
||||||
|
{!((_this select 0) isEqualTo (_this select 1)) && {vehicle (_this select 0) == vehicle (_this select 1)}}
|
||||||
|
}] call FUNC(addCanInteractWithCondition);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
["ACE3", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget",
|
["ACE3", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget",
|
||||||
{
|
{
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if !((!GVAR(enabled) && FUNC(canUseFCS)) || FUNC(canUseRangefinder)) exitWith {false};
|
if !((!GVAR(enabled) && FUNC(canUseFCS)) || FUNC(canUseRangefinder)) exitWith {false};
|
||||||
|
|
||||||
@ -20,7 +20,7 @@
|
|||||||
GVAR(isDownStateKey1) = false;
|
GVAR(isDownStateKey1) = false;
|
||||||
|
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if !(GVAR(enabled) && FUNC(canUseFCS)) exitWith {false};
|
if !(GVAR(enabled) && FUNC(canUseFCS)) exitWith {false};
|
||||||
|
|
||||||
@ -33,7 +33,7 @@
|
|||||||
["ACE3", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp",
|
["ACE3", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp",
|
||||||
{
|
{
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false};
|
if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false};
|
||||||
|
|
||||||
@ -47,7 +47,7 @@
|
|||||||
["ACE3", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown",
|
["ACE3", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown",
|
||||||
{
|
{
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false};
|
if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false};
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ _recurseFnc = {
|
|||||||
if (_condition == "") then {_condition = "true"};
|
if (_condition == "") then {_condition = "true"};
|
||||||
|
|
||||||
// Add canInteract (including exceptions) and canInteractWith to condition
|
// Add canInteract (including exceptions) and canInteractWith to condition
|
||||||
_condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, objNull, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")];
|
_condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, _target, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")];
|
||||||
|
|
||||||
_insertChildren = compile (getText (_entryCfg >> "insertChildren"));
|
_insertChildren = compile (getText (_entryCfg >> "insertChildren"));
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ _actions = [
|
|||||||
// Dummy statement so it's not collapsed when there's no available actions
|
// Dummy statement so it's not collapsed when there's no available actions
|
||||||
true
|
true
|
||||||
},
|
},
|
||||||
{[ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)},
|
{[ACE_player, _target, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)},
|
||||||
{},
|
{},
|
||||||
[],
|
[],
|
||||||
"Spine3",
|
"Spine3",
|
||||||
|
@ -15,6 +15,10 @@
|
|||||||
// Exit if there's no menu opened
|
// Exit if there's no menu opened
|
||||||
if (GVAR(openedMenuType) < 0) exitWith {true};
|
if (GVAR(openedMenuType) < 0) exitWith {true};
|
||||||
|
|
||||||
|
if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then {
|
||||||
|
closeDialog 0;
|
||||||
|
};
|
||||||
|
|
||||||
if(GVAR(actionSelected)) then {
|
if(GVAR(actionSelected)) then {
|
||||||
this = GVAR(selectedTarget);
|
this = GVAR(selectedTarget);
|
||||||
|
|
||||||
@ -40,10 +44,6 @@ GVAR(keyDown) = false;
|
|||||||
GVAR(keyDownSelfAction) = false;
|
GVAR(keyDownSelfAction) = false;
|
||||||
GVAR(openedMenuType) = -1;
|
GVAR(openedMenuType) = -1;
|
||||||
|
|
||||||
if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then {
|
|
||||||
closeDialog 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
GVAR(expanded) = false;
|
GVAR(expanded) = false;
|
||||||
GVAR(lastPath) = [];
|
GVAR(lastPath) = [];
|
||||||
GVAR(menuDepthPath) = [];
|
GVAR(menuDepthPath) = [];
|
||||||
|
Loading…
Reference in New Issue
Block a user