From 268ba2fb55a09729abf16550a65cf4bb83e6c48d Mon Sep 17 00:00:00 2001 From: Dart Date: Fri, 25 Apr 2025 16:55:37 -0500 Subject: [PATCH 1/4] Display message when opening player's medical menu --- addons/medical_gui/XEH_PREP.hpp | 3 +- addons/medical_gui/XEH_postInit.sqf | 2 + .../functions/fnc_showMedicalHint.sqf | 38 +++++++++++++++++++ addons/medical_gui/initSettings.inc.sqf | 27 +++++++++++++ addons/medical_gui/stringtable.xml | 22 +++++++++++ 5 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 addons/medical_gui/functions/fnc_showMedicalHint.sqf diff --git a/addons/medical_gui/XEH_PREP.hpp b/addons/medical_gui/XEH_PREP.hpp index 3d1ace8b4e5..0b646842970 100644 --- a/addons/medical_gui/XEH_PREP.hpp +++ b/addons/medical_gui/XEH_PREP.hpp @@ -16,6 +16,7 @@ PREP(onKeyDown); PREP(onMenuClose); PREP(onMenuOpen); PREP(openMenu); +PREP(showMedicalHint); PREP(toggleTriageSelect); PREP(updateActions); PREP(updateBodyImage); @@ -23,4 +24,4 @@ PREP(updateCategories); PREP(updateInjuryList); PREP(updateLogList); PREP(updateTriageCard); -PREP(updateTriageStatus); +PREP(updateTriageStatus); \ No newline at end of file diff --git a/addons/medical_gui/XEH_postInit.sqf b/addons/medical_gui/XEH_postInit.sqf index 6d18696b0e7..42b1b3953f5 100644 --- a/addons/medical_gui/XEH_postInit.sqf +++ b/addons/medical_gui/XEH_postInit.sqf @@ -42,6 +42,8 @@ GVAR(selfInteractionActions) = []; QGVAR(RscPatientInfo) cutFadeOut 0.3; }] call CBA_fnc_addEventHandler; +["ace_medicalMenuOpened", FUNC(showMedicalHint)] call CBA_fnc_addEventHandler; + [QEGVAR(medical,woundReceived), { params ["_unit", "_allDamages", ""]; if !(GVAR(peekMedicalOnHit) && {_unit == ACE_player}) exitWith {}; diff --git a/addons/medical_gui/functions/fnc_showMedicalHint.sqf b/addons/medical_gui/functions/fnc_showMedicalHint.sqf new file mode 100644 index 00000000000..0695ac6aa3e --- /dev/null +++ b/addons/medical_gui/functions/fnc_showMedicalHint.sqf @@ -0,0 +1,38 @@ +#include "..\script_component.hpp" +/* + * Authors: DartRuffian + * Displays a player's medical message to the unit they are treating. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_gui_fnc_showMedicalHint + * + * Public: No + */ + +params ["_medic", "_patient"]; +TRACE_2("fnc_showMedicalHint",_medic,_patient); + +if (!GVAR(medicalHintEnabled) || GVAR(medicalHintMessage) == "" || GVAR(pendingReopen) || + _medic == _patient || !(_patient call EFUNC(common,isPlayer)) +) exitWith {}; + +private _message = format [GVAR(medicalHintMessage), [_medic, false, true] call EFUNC(common,getName)]; +_message = format ["%1", _message]; +private _image = ""; + +if (GVAR(medicalHintMedicIcon) != "" && {_medic call EFUNC(medical_treatment,isMedic)}) then { + if (fileExists GVAR(medicalHintMedicIcon)) then { + _image = GVAR(medicalHintMedicIcon); + } else { + WARNING_1("Image '%1' does not exist.",GVAR(medicalHintMedicIcon)); + }; +}; + +[QEGVAR(common,displayTextPicture), [_message, _image], _patient] call CBA_fnc_targetEvent; diff --git a/addons/medical_gui/initSettings.inc.sqf b/addons/medical_gui/initSettings.inc.sqf index dfcbe48925a..5cad4ec1e4e 100644 --- a/addons/medical_gui/initSettings.inc.sqf +++ b/addons/medical_gui/initSettings.inc.sqf @@ -180,3 +180,30 @@ private _categoryColors = [ELSTRING(medical,Interface_Category), format ["| %1 | false, false ] call CBA_fnc_addSetting; + +[ + QGVAR(medicalHintEnabled), + "CHECKBOX", + [LSTRING(medicalHintEnabled_DisplayName), LSTRING(medicalHintEnabled_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + true, + 1 +] call CBA_fnc_addSetting; + +[ + QGVAR(medicalHintMessage), + "EDITBOX", + [LSTRING(medicalHintMessage_DisplayName), LSTRING(medicalHintMessage_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + LLSTRING(medicalHintMessage_defaultMessage), + 0 +] call CBA_fnc_addSetting; + +[ + QGVAR(medicalHintMedicIcon), + "EDITBOX", + [LSTRING(medicalHintMedicIcon_DisplayName), LSTRING(medicalHintMedicIcon_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + "", + 0 +] call CBA_fnc_addSetting; diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml index e774dd8aa12..ae65a88e4e5 100644 --- a/addons/medical_gui/stringtable.xml +++ b/addons/medical_gui/stringtable.xml @@ -1704,5 +1704,27 @@ 重篤な外傷 慢性创伤 + + Medical Menu Message Enabled + + + If enabled, patients will have a customizable message displayed when a player opens their medical menu. + + + + %1 began treating you. + + + Medical Menu Message + + + Custom message to display to patients when opening their medical menu.\n%1 will be your name. + + + Medical Menu Medic Icon + + + Image path to display in the medical hint if the player is a medic. + From df87fc4eafa19f811fa7386cc230b33d68074ddf Mon Sep 17 00:00:00 2001 From: Dart <59131299+DartRuffian@users.noreply.github.com> Date: Tue, 29 Apr 2025 12:43:40 +0000 Subject: [PATCH 2/4] Simplify grammar Co-authored-by: Will/KJW <100206101+SpicyBagpipes@users.noreply.github.com> --- addons/medical_gui/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml index ae65a88e4e5..b683195961e 100644 --- a/addons/medical_gui/stringtable.xml +++ b/addons/medical_gui/stringtable.xml @@ -1712,7 +1712,7 @@ - %1 began treating you. + %1 is treating you Medical Menu Message From 89b5929ed889dcb8e398ce20fb71ef04c6c9d143 Mon Sep 17 00:00:00 2001 From: Dart <59131299+DartRuffian@users.noreply.github.com> Date: Thu, 8 May 2025 12:08:02 +0000 Subject: [PATCH 3/4] Update addons/medical_gui/XEH_postInit.sqf Co-authored-by: PabstMirror --- addons/medical_gui/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical_gui/XEH_postInit.sqf b/addons/medical_gui/XEH_postInit.sqf index 42b1b3953f5..12fac7c8592 100644 --- a/addons/medical_gui/XEH_postInit.sqf +++ b/addons/medical_gui/XEH_postInit.sqf @@ -42,7 +42,7 @@ GVAR(selfInteractionActions) = []; QGVAR(RscPatientInfo) cutFadeOut 0.3; }] call CBA_fnc_addEventHandler; -["ace_medicalMenuOpened", FUNC(showMedicalHint)] call CBA_fnc_addEventHandler; +["ace_medicalMenuOpened", LINKFUNC(showMedicalHint)] call CBA_fnc_addEventHandler; [QEGVAR(medical,woundReceived), { params ["_unit", "_allDamages", ""]; From a78e0d22049f20534a051e753ad302a54a670af0 Mon Sep 17 00:00:00 2001 From: Dart Date: Tue, 17 Jun 2025 17:38:02 -0500 Subject: [PATCH 4/4] Fix showing message from checking player corpse --- addons/medical_gui/functions/fnc_showMedicalHint.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical_gui/functions/fnc_showMedicalHint.sqf b/addons/medical_gui/functions/fnc_showMedicalHint.sqf index 0695ac6aa3e..7c6cf14caa6 100644 --- a/addons/medical_gui/functions/fnc_showMedicalHint.sqf +++ b/addons/medical_gui/functions/fnc_showMedicalHint.sqf @@ -35,4 +35,4 @@ if (GVAR(medicalHintMedicIcon) != "" && {_medic call EFUNC(medical_treatment,isM }; }; -[QEGVAR(common,displayTextPicture), [_message, _image], _patient] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextPicture), [_message, _image, [1, 1, 1], _patient], _patient] call CBA_fnc_targetEvent;