mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'removedExpPlaceMenu' into explosiveInteraction
Conflicts: addons/explosives/CfgVehicles.hpp addons/explosives/functions/fnc_openPlaceUI.sqf
This commit is contained in:
commit
613257141b
@ -25,7 +25,8 @@ class CfgVehicles {
|
|||||||
class ACE_Place {
|
class ACE_Place {
|
||||||
displayName = $STR_ACE_Explosives_Place;
|
displayName = $STR_ACE_Explosives_Place;
|
||||||
condition = QUOTE((vehicle _player == _player) and {[_player] call FUNC(hasExplosives)});
|
condition = QUOTE((vehicle _player == _player) and {[_player] call FUNC(hasExplosives)});
|
||||||
statement = QUOTE([_player] call FUNC(openPlaceUI););
|
statement = "";
|
||||||
|
insertChildren = QUOTE([_player] call FUNC(addExplosiveActions););
|
||||||
exceptions[] = {"isNotSwimming"};
|
exceptions[] = {"isNotSwimming"};
|
||||||
showDisabled = 1;
|
showDisabled = 1;
|
||||||
icon = PATHTOF(UI\Place_Explosive_ca.paa);
|
icon = PATHTOF(UI\Place_Explosive_ca.paa);
|
||||||
|
@ -19,6 +19,7 @@ ADDON = false;
|
|||||||
|
|
||||||
PREP(addCellphoneIED);
|
PREP(addCellphoneIED);
|
||||||
PREP(addClacker);
|
PREP(addClacker);
|
||||||
|
PREP(addExplosiveActions);
|
||||||
PREP(addToSpeedDial);
|
PREP(addToSpeedDial);
|
||||||
PREP(canDefuse);
|
PREP(canDefuse);
|
||||||
PREP(canDetonate);
|
PREP(canDetonate);
|
||||||
@ -39,7 +40,6 @@ PREP(getSpeedDialExplosive);
|
|||||||
PREP(onLanded);
|
PREP(onLanded);
|
||||||
|
|
||||||
PREP(openDetonateUI);
|
PREP(openDetonateUI);
|
||||||
PREP(openPlaceUI);
|
|
||||||
PREP(openTransmitterUI);
|
PREP(openTransmitterUI);
|
||||||
PREP(openTimerSetUI);
|
PREP(openTimerSetUI);
|
||||||
PREP(openTriggerSelectionUI);
|
PREP(openTriggerSelectionUI);
|
||||||
|
55
addons/explosives/functions/fnc_addExplosiveActions.sqf
Normal file
55
addons/explosives/functions/fnc_addExplosiveActions.sqf
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Author: Garth 'L-H' de Wet and CAA-Picard
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* Actions
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
private ["_mags", "_item", "_index", "_actions"];
|
||||||
|
|
||||||
|
EXPLODE_1_PVT(_this,_unit);
|
||||||
|
|
||||||
|
_mags = magazines _unit;
|
||||||
|
_list = [];
|
||||||
|
_itemCount = [];
|
||||||
|
{
|
||||||
|
_item = ConfigFile >> "CfgMagazines" >> _x;
|
||||||
|
if (getNumber(_item >> "ACE_Placeable") == 1) then {
|
||||||
|
_index = _list find _item;
|
||||||
|
if (_index != -1) then {
|
||||||
|
_itemCount set [_index, (_itemCount select _index) + 1];
|
||||||
|
} else {
|
||||||
|
_list pushBack _item;
|
||||||
|
_itemCount pushBack 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} forEach _mags;
|
||||||
|
|
||||||
|
_children = [];
|
||||||
|
|
||||||
|
{
|
||||||
|
_action = [
|
||||||
|
[format ["Explosive_%1", _forEachIndex]],
|
||||||
|
format [getText(_x >> "displayName") + " (%1)", _itemCount select _foreachIndex],
|
||||||
|
getText(_x >> "picture"),
|
||||||
|
"",
|
||||||
|
{(_this select 2) call FUNC(openTriggerSelectionUI)},
|
||||||
|
{true},
|
||||||
|
2,
|
||||||
|
[false,false,false,false],
|
||||||
|
{},
|
||||||
|
[configName _x]
|
||||||
|
] call EFUNC(interact_menu,createAction);
|
||||||
|
|
||||||
|
_action pushBack _unit;
|
||||||
|
_children pushBack _action
|
||||||
|
|
||||||
|
} foreach _list;
|
||||||
|
|
||||||
|
_children
|
@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Garth 'L-H' de Wet
|
|
||||||
* Opens the UI for explosive placement selection
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: Unit <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [player] call ACE_Explosives_fnc_openPlaceUI;
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
private ["_unit","_mags", "_item", "_index", "_actions"];
|
|
||||||
_unit = _this select 0;
|
|
||||||
call FUNC(place_Cancel);
|
|
||||||
|
|
||||||
_mags = magazines _unit;
|
|
||||||
_list = [];
|
|
||||||
_itemCount = [];
|
|
||||||
{
|
|
||||||
_item = ConfigFile >> "CfgMagazines" >> _x;
|
|
||||||
if (getNumber(_item >> "ACE_Placeable") == 1) then {
|
|
||||||
_index = _list find _item;
|
|
||||||
if (_index != -1) then {
|
|
||||||
_itemCount set [_index, (_itemCount select _index) + 1];
|
|
||||||
} else {
|
|
||||||
_list pushBack _item;
|
|
||||||
_itemCount pushBack 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
} forEach _mags;
|
|
||||||
_actions = [localize "STR_ACE_Explosives_PlaceMenu", localize "STR_ACE_Explosives_Place"]
|
|
||||||
call EFUNC(interaction,prepareSelectMenu);
|
|
||||||
{
|
|
||||||
_actions = [
|
|
||||||
_actions,
|
|
||||||
format [getText(_x >> "displayName") + " (%1)", _itemCount select _foreachIndex],
|
|
||||||
getText(_x >> "picture"),
|
|
||||||
configName _x
|
|
||||||
] call EFUNC(interaction,AddSelectableItem);
|
|
||||||
} foreach _list;
|
|
||||||
|
|
||||||
[
|
|
||||||
_actions,
|
|
||||||
{
|
|
||||||
[ACE_player, _this] call FUNC(setupExplosive);
|
|
||||||
},
|
|
||||||
{
|
|
||||||
call EFUNC(interaction,hideMenu);
|
|
||||||
}
|
|
||||||
] call EFUNC(interaction,openSelectMenu);
|
|
Loading…
Reference in New Issue
Block a user