diff --git a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp
index ec6196b17..2905f327a 100644
--- a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp
+++ b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp
@@ -586,4 +586,35 @@ class RscTitles
};
};
};
-};
+ class RSC_DZ_Messages {
+ idd = 4099999;
+ movingEnable = 0;
+ fadein = 1;
+ fadeout = 5;
+ duration = 6;
+ onLoad = "uinamespace setvariable ['DZ_Messages',_this select 0]";
+ onUnLoad = "uinamespace setvariable ['DZ_Messages',nil]";
+ class Controls {
+ class Message_Text: RscStructuredText
+ {
+ idc = 4099998;
+ text = "";
+ x = 0.3 * safezoneW + safezoneX;
+ y = 0.859137 * safezoneH + safezoneY;
+ w = 0.400445 * safezoneW;
+ h = 0.139148 * safezoneH;
+ colorText[] = {0,0,0,1};
+ colorBackground[] = {0,0,0,0};
+ sizeEx = 14 * GUI_GRID_H;
+ shadow = 0;
+ class Attributes
+ {
+ color = "#FFFFFF";
+ shadow = 0;
+ valign = "top";
+ align = "center";
+ };
+ };
+ };
+ };
+};
\ No newline at end of file
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index 4ca0e9b31..ffc2cc3be 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -543,8 +543,15 @@ if (!isDedicated) then {
};
dayz_rollingMessages = {
- //title and cutText are in the same layer, so both simultaneously on the same line overlaps and is unreadable
- if (typeName _this == "ARRAY") exitWith {cutText [_this select 0,"PLAIN DOWN"];}; //Special or multi-line message
+ disableSerialization;
+ _displayText = {
+ 4099999 cutrsc ["RSC_DZ_Messages","plain"];
+ _display = uinamespace getvariable "DZ_Messages";
+ _textLine = _display displayctrl 4099998;
+ _textLine ctrlsetstructuredtext (parsetext _this);
+ _textLine ctrlcommit 0;
+ };
+ if (typeName _this == "ARRAY") exitWith {(_this select 0) call _displayText}; //Special or multi-line message
if ((diag_ticktime - Message_1_time) < 5) then {
if ((time - Message_2_time) < 5) then {
Message_3 = Message_2;
@@ -563,7 +570,9 @@ if (!isDedicated) then {
Message_1 = _this;
Message_1_time = diag_ticktime;
//"PLAIN DOWN" fits a maximum of 3 lines on screen at once
- cutText [format ["%1\n%2\n%3", Message_1, Message_2, Message_3], "PLAIN DOWN"];
+ //cutText [format ["%1\n%2\n%3", Message_1, Message_2, Message_3], "PLAIN DOWN"];
+ _message = format ["%1
%2
%3", Message_1, Message_2, Message_3];
+ _message call _displayText;
};
dayz_originalPlayer = player;