mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
rewrite assigned item fix
This commit is contained in:
parent
5ff1d9863d
commit
dc49f2c71e
@ -1,19 +1,62 @@
|
||||
// by commy2
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (isNil "ACE_itemFix") then {
|
||||
ACE_isMapEnabled = call {_config = missionConfigFile >> "showMap"; !isNumber _config || {getNumber _config == 1}};
|
||||
ACE_isCompassEnabled = call {_config = missionConfigFile >> "showCompass"; !isNumber _config || {getNumber _config == 1}};
|
||||
ACE_isWatchEnabled = call {_config = missionConfigFile >> "showWatch"; !isNumber _config || {getNumber _config == 1}};
|
||||
ACE_isRadioEnabled = call {_config = missionConfigFile >> "showRadio"; !isNumber _config || {getNumber _config == 1}};
|
||||
ACE_isGPSEnabled = call {_config = missionConfigFile >> "showGPS"; !isNumber _config || {getNumber _config == 1}};
|
||||
|
||||
ACE_itemFix = ["ACE_itemFix", "onEachFrame", {
|
||||
_items = assignedItems ACE_player;
|
||||
showMap (ACE_isMapEnabled && {"ItemMap" in _items});
|
||||
showCompass (ACE_isCompassEnabled && {"ItemCompass" in _items});
|
||||
showWatch (ACE_isWatchEnabled && {"ItemWatch" in _items});
|
||||
//showRadio (ACE_isRadioEnabled && {"ItemRadio" in _items});
|
||||
showGPS (ACE_isGPSEnabled && {"ItemGPS" in _items || {cameraOn == getConnectedUAV ACE_player}}); //If player is activly controling a UAV, showGPS controls showing the map (m key)
|
||||
}] call BIS_fnc_addStackedEventHandler;
|
||||
GVAR(AssignedItems) = [];
|
||||
GVAR(AssignedItemsInfo) = [];
|
||||
|
||||
["playerInventoryChanged", {
|
||||
private ["_unit", "_assignedItems", "_shownItems"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_assignedItems = _this select 1 select 17;
|
||||
|
||||
_shownItems = [
|
||||
ACE_isMapEnabled,
|
||||
ACE_isCompassEnabled,
|
||||
ACE_isWatchEnabled,
|
||||
ACE_isRadioEnabled,
|
||||
ACE_isGPSEnabled
|
||||
];
|
||||
|
||||
{
|
||||
if !(_x in GVAR(AssignedItems)) then {
|
||||
GVAR(AssignedItems) pushBack _x;
|
||||
GVAR(AssignedItemsInfo) pushBack toLower getText (configFile >> "CfgWeapons" >> _x >> "ACE_hideItemType")
|
||||
};
|
||||
|
||||
private "_hideItemType";
|
||||
_hideItemType = GVAR(AssignedItemsInfo) select (GVAR(AssignedItems) find _x);
|
||||
|
||||
switch (_hideItemType) do {
|
||||
case ("map"): {
|
||||
_shownItems set [0, false];
|
||||
};
|
||||
case ("compass"): {
|
||||
_shownItems set [1, false];
|
||||
};
|
||||
case ("watch"): {
|
||||
_shownItems set [2, false];
|
||||
};
|
||||
case ("radio"): {
|
||||
_shownItems set [3, false];
|
||||
};
|
||||
case ("GPS"): {
|
||||
_shownItems set [4, false];
|
||||
};
|
||||
};
|
||||
} forEach _assignedItems;
|
||||
|
||||
//systemChat str _shownItems;
|
||||
|
||||
showMap (_shownItems select 0);
|
||||
showCompass (_shownItems select 1);
|
||||
showWatch (_shownItems select 2);
|
||||
showRadio (_shownItems select 3);
|
||||
showGPS (_shownItems select 4 || {cameraOn == getConnectedUAV _unit}); //If player is activly controling a UAV, showGPS controls showing the map (m key)
|
||||
}] call FUNC(addEventHandler);
|
||||
|
@ -1,6 +1,8 @@
|
||||
class CfgWeapons {
|
||||
class ItemWatch;
|
||||
class ACE_Altimeter: ItemWatch {
|
||||
ACE_hideItemType = "Watch";
|
||||
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
descriptionShort = "$STR_ACE_Parachute_AltimeterDescription";
|
||||
displayName = "$STR_ACE_Parachute_AltimeterDisplayName";
|
||||
|
Loading…
Reference in New Issue
Block a user