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 {
|
||||
displayName = $STR_ACE_Explosives_Place;
|
||||
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"};
|
||||
showDisabled = 1;
|
||||
icon = PATHTOF(UI\Place_Explosive_ca.paa);
|
||||
|
@ -19,6 +19,7 @@ ADDON = false;
|
||||
|
||||
PREP(addCellphoneIED);
|
||||
PREP(addClacker);
|
||||
PREP(addExplosiveActions);
|
||||
PREP(addToSpeedDial);
|
||||
PREP(canDefuse);
|
||||
PREP(canDetonate);
|
||||
@ -39,7 +40,6 @@ PREP(getSpeedDialExplosive);
|
||||
PREP(onLanded);
|
||||
|
||||
PREP(openDetonateUI);
|
||||
PREP(openPlaceUI);
|
||||
PREP(openTransmitterUI);
|
||||
PREP(openTimerSetUI);
|
||||
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