Skip to content

Commit

Permalink
New Function to Show BIS Style Curator Messages (#4844)
Browse files Browse the repository at this point in the history
* Add showMessage fnc that shows BIS curator messages

* Add documentation

* Make function simpler

* Modify to fir new syntax

* Handle non-string args
  • Loading branch information
654wak654 authored and thojkooi committed Mar 13, 2017
1 parent 2554aba commit d3af5f0
Show file tree
Hide file tree
Showing 17 changed files with 72 additions and 47 deletions.
1 change: 1 addition & 0 deletions addons/zeus/XEH_PREP.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ PREP(moduleSurrender);
PREP(moduleTeleportPlayers);
PREP(moduleUnconscious);
PREP(moduleZeusSettings);
PREP(showMessage);
PREP(ui_attributeCargo);
//PREP(ui_attributePosition);
PREP(ui_attributeRadius);
Expand Down
10 changes: 5 additions & 5 deletions addons/zeus/functions/fnc_moduleAddOrRemoveFRIES.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ params ["_logic", "_units", "_activated"];
if !(_activated && {local _logic}) exitWith {};

if !(["ace_fastroping"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
(GETMVAR(BIS_fnc_curatorObjectPlaced_mouseOver,[""])) params ["_mouseOverType", "_mouseOverUnit"];

if (_mouseOverType != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
if !(alive _mouseOverUnit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
private _config = configFile >> "CfgVehicles" >> typeOf _mouseOverUnit;
private _displayName = getText (_config >> "displayName");
if !(isNumber (_config >> QEGVAR(fastroping,enabled))) then {
[[LSTRING(NotFastRopeCompatible), _displayName]] call EFUNC(common,displayTextStructured);
[LSTRING(NotFastRopeCompatible), _displayName] call FUNC(showMessage);
} else {
private _fries = GETVAR(_mouseOverUnit,EGVAR(fastroping,FRIES),objNull);
if (isNull _fries) then {
[QGVAR(equipFries), [_mouseOverUnit]] call CBA_fnc_serverEvent;
} else {
if ([_mouseOverUnit] call EFUNC(fastroping,canCutRopes)) then {
[[LSTRING(CantRemoveFRIES), _displayName]] call EFUNC(common,displayTextStructured);
[LSTRING(CantRemoveFRIES), _displayName] call FUNC(showMessage);
} else {
[_mouseOverUnit] call EFUNC(fastroping,cutRopes);
deleteVehicle _fries;
Expand Down
8 changes: 4 additions & 4 deletions addons/zeus/functions/fnc_moduleAddSpareTrack.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@ params ["_logic", "_units", "_activated"];
if !(_activated && local _logic) exitWith {};

if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
(GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""])) params ["_mouseOverType", "_mouseOverUnit"];

if (_mouseOverType != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
if !(alive _mouseOverUnit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (getNumber (configFile >> "CfgVehicles" >> "ACE_Track" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then {
[LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyEnoughCargoSpace)] call FUNC(showMessage);
} else {
["ace_addCargo", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent;
};
Expand Down
8 changes: 4 additions & 4 deletions addons/zeus/functions/fnc_moduleAddSpareWheel.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@ params ["_logic", "_units", "_activated"];
if !(_activated && local _logic) exitWith {};

if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
(GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""])) params ["_mouseOverType", "_mouseOverUnit"];

if (_mouseOverType != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
if !(alive _mouseOverUnit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (getNumber (configFile >> "CfgVehicles" >> "ACE_Wheel" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then {
[LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyEnoughCargoSpace)] call FUNC(showMessage);
} else {
["ace_addCargo", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent;
};
Expand Down
8 changes: 4 additions & 4 deletions addons/zeus/functions/fnc_moduleCaptive.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ private ["_mouseOver", "_unit", "_captive"];
if !(_activated && local _logic) exitWith {};

if (isNil QEFUNC(captives,setHandcuffed)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = effectivecommander (_mouseOver select 1);

if !(_unit isKindOf "CAManBase") then {
[LSTRING(OnlyInfantry)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyInfantry)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
_captive = GETVAR(_unit,EGVAR(captives,isHandcuffed),false);
// Event initalized by ACE_Captives
Expand Down
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_moduleSearchNearby.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ scopeName "Main";
private _fnc_errorAndClose = {
params ["_msg"];
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
[_msg] call FUNC(showMessage);
breakOut "Main";
};

Expand Down
10 changes: 5 additions & 5 deletions addons/zeus/functions/fnc_moduleSetMedic.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ private ["_mouseOver", "_unit", "_medicN"];
if !(_activated && local _logic) exitWith {};

if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = effectivecommander (_mouseOver select 1);

if !(_unit isKindOf "CAManBase") then {
[LSTRING(OnlyInfantry)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyInfantry)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (GETVAR(_unit,EGVAR(captives,isHandcuffed),false)) then {
[LSTRING(OnlyNonCaptive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyNonCaptive)] call FUNC(showMessage);
} else {
_medicN = GETVAR(_unit,EGVAR(medical,medicClass),0);
if (_medicN < 1) then {
Expand Down
10 changes: 5 additions & 5 deletions addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ private ["_mouseOver", "_unit"];
if !(_activated && local _logic) exitWith {};

if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = (_mouseOver select 1);

if (_unit isKindOf "Man" || {!(_unit isKindOf "Building")}) then {
[LSTRING(OnlyStructures)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyStructures)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (GETVAR(_unit,EGVAR(captives,isHandcuffed),false)) then {
[LSTRING(OnlyNonCaptive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyNonCaptive)] call FUNC(showMessage);
} else {
if (!(GETVAR(_unit,EGVAR(medical,isMedicalFacility),false))) then {
_unit setVariable [QEGVAR(medical,isMedicalFacility), true, true];
Expand Down
10 changes: 5 additions & 5 deletions addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ private ["_mouseOver", "_unit", "_medicN"];
if !(_activated && local _logic) exitWith {};

if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = (_mouseOver select 1);

if (_unit isKindOf "Man" || {_unit isKindOf "Building"}) then {
[LSTRING(OnlyVehicles)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyVehicles)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (GETVAR(_unit,EGVAR(captives,isHandcuffed),false)) then {
[LSTRING(OnlyNonCaptive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyNonCaptive)] call FUNC(showMessage);
} else {
_medicN = GETVAR(_unit,EGVAR(medical,medicClass),0);
if (_medicN < 1) then {
Expand Down
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_moduleSimulation.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ if !(local _logic) exitWith {};

private _object = attachedTo _logic;
if (isNull _object) then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
[QEGVAR(common,enableSimulationGlobal), [_object, !(simulationEnabled _object)]] call CBA_fnc_serverEvent;
};
Expand Down
10 changes: 5 additions & 5 deletions addons/zeus/functions/fnc_moduleSurrender.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ private ["_mouseOver", "_unit", "_surrendering"];
if !(_activated && local _logic) exitWith {};

if (isNil QEFUNC(captives,setSurrendered)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = effectivecommander (_mouseOver select 1);

if !(_unit isKindOf "CAManBase") then {
[LSTRING(OnlyInfantry)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyInfantry)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
if (GETVAR(_unit,EGVAR(captives,isHandcuffed),false)) then {
[LSTRING(OnlyNonCaptive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyNonCaptive)] call FUNC(showMessage);
} else {
_surrendering = GETVAR(_unit,EGVAR(captives,isSurrendering),false);
// Event initalized by ACE_Captives
Expand Down
8 changes: 4 additions & 4 deletions addons/zeus/functions/fnc_moduleUnconscious.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ private ["_mouseOver", "_unit", "_conscious"];
if !(_activated && local _logic) exitWith {};

if (isNil QEFUNC(medical,setUnconscious)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
[LSTRING(RequiresAddon)] call FUNC(showMessage);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);

if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
[LSTRING(NothingSelected)] call FUNC(showMessage);
} else {
_unit = effectivecommander (_mouseOver select 1);

if !(_unit isKindOf "CAManBase") then {
[LSTRING(OnlyInfantry)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyInfantry)] call FUNC(showMessage);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
[LSTRING(OnlyAlive)] call FUNC(showMessage);
} else {
_conscious = GETVAR(_unit,ACE_isUnconscious,false);
// Function handles locality for me
Expand Down
24 changes: 24 additions & 0 deletions addons/zeus/functions/fnc_showMessage.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Author: 654wak654
* Shows a zeus message through the BIS function, handles localization.
* If multiple args are given, they get formatted.
*
* Arguments:
* 0: The message <STRING>
* N: Anything <ANY><OPTIONAL>
*
* Return Value:
* Nothing
*
* Example:
* ["something"] call ace_zeus_fnc_showMessage
* ["something %1 in %2", "strange", getPos neighborhood] call ace_zeus_fnc_showMessage
*
* Public: Yes
*/
#include "script_component.hpp"

if (!(_this isEqualTypeParams [""])) exitWith {ERROR_1("First arg must be string [%1]",_this);};

private _message = _this apply {if ((_x isEqualType "") && {isLocalized _x}) then {localize _x} else {_x}};
[objNull, format _message] call BIS_fnc_showCuratorFeedbackMessage;
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_ui_defendArea.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
[_msg] call FUNC(showMessage);
breakOut "Main";
};

Expand Down
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_ui_groupSide.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
[_msg] call FUNC(showMessage);
breakOut "Main";
};

Expand Down
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_ui_patrolArea.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
[_msg] call FUNC(showMessage);
breakOut "Main";
};

Expand Down
2 changes: 1 addition & 1 deletion addons/zeus/functions/fnc_ui_searchArea.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
[_msg] call FUNC(showMessage);
breakOut "Main";
};

Expand Down

0 comments on commit d3af5f0

Please sign in to comment.