mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-15 04:23:13 +03:00
Add epoch right click actions to Epoch Core
The right click menu made by Mudzereli and updated by Salival is part of epoch now. It gets only loaded if the DZE_CLICK_ACTIONS is not empty.
This commit is contained in:
@@ -1,80 +0,0 @@
|
||||
//private ["_control","_button","_parent","_group","_pos","_item","_conf","_name","_cfgActions","_numActions","_height","_menu","_config","_type","_script","_outputOriented","_compile","_array","_outputClass","_outputType"];
|
||||
disableSerialization;
|
||||
_control = _this select 0;
|
||||
_button = _this select 1;
|
||||
_parent = findDisplay 106;
|
||||
|
||||
if (carryClick) then {carryClick = false;};
|
||||
|
||||
if (_button == 1) then {
|
||||
if (animationState player in ["ainjppnemstpsnonwnondnon_rolltofront","amovppnemstpsnonwnondnon_healed"]) exitWith {
|
||||
//Prevent bypassing unconscious wake up animation with bandage or other right click actions
|
||||
localize "str_player_actionslimit" call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
private ["_conf","_name","_compile","_height","_item"];
|
||||
_group = _parent displayCtrl 6902;
|
||||
|
||||
_pos = ctrlPosition _group;
|
||||
|
||||
_item = gearSlotData _control;
|
||||
if ( //No right click action
|
||||
(!DZE_SelfTransfuse && {_item in ["ItemBloodbag","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]})
|
||||
) exitWith {};
|
||||
|
||||
if (mouseOverCarry) then {
|
||||
_item = DayZ_onBack;
|
||||
carryClick = true;
|
||||
};
|
||||
|
||||
_pos set [0,((_this select 2) + 0.46)];
|
||||
_pos set [1,((_this select 3) + 0.07)];
|
||||
|
||||
_conf = configFile >> "cfgMagazines" >> _item;
|
||||
if (!isClass _conf) then {
|
||||
_conf = configFile >> "cfgWeapons" >> _item;
|
||||
};
|
||||
_name = getText(_conf >> "displayName");
|
||||
|
||||
_cfgActions = _conf >> "ItemActions";
|
||||
_numActions = (count _cfgActions);
|
||||
_height = 0;
|
||||
if (!dayz_groupSystem && {_item == "ItemRadio"}) then {_numActions = 1;}; // Used to bypass the group action when not enabled.
|
||||
|
||||
//Populate Menu
|
||||
for "_i" from 0 to (_numActions - 1) do
|
||||
{
|
||||
_menu = _parent displayCtrl (1600 + _i);
|
||||
_menu ctrlShow true;
|
||||
_config = (_cfgActions select _i);
|
||||
_type = getText (_config >> "text");
|
||||
_script = getText (_config >> "script");
|
||||
_outputOriented = getNumber (_config >> "outputOriented") == 1;
|
||||
_height = _height + (0.025 * safezoneH);
|
||||
_compile = format["_id = '%2' %1;",_script,_item];
|
||||
uiNamespace setVariable ['uiControl', _control];
|
||||
if (_outputOriented) then {
|
||||
/*
|
||||
This flag means that the action is output oriented
|
||||
the output class will then be transferred to the script
|
||||
and the type used for the name
|
||||
*/
|
||||
_array = getArray (_config >> "output");
|
||||
_outputClass = _array select 0;
|
||||
_outputType = _array select 1;
|
||||
_name = getText (configFile >> _outputType >> _outputClass >> "displayName");
|
||||
_compile = format["_id = ['%2',%3] %1;",_script,_item,_array];
|
||||
};
|
||||
|
||||
_menu ctrlSetText format[_type,_name];
|
||||
_menu ctrlSetEventHandler ["ButtonClick",_compile];
|
||||
};
|
||||
_pos set [3,_height];
|
||||
|
||||
//hint format["Obj: %1 \nHeight: %2\nPos: %3",_item,_height,_grpPos];
|
||||
|
||||
_group ctrlShow true;
|
||||
ctrlSetFocus _group;
|
||||
_group ctrlSetPosition _pos;
|
||||
_group ctrlCommit 0;
|
||||
};
|
||||
Reference in New Issue
Block a user