From d3c2728fcdf32660fbc629615e8207701b03962c Mon Sep 17 00:00:00 2001 From: terencehill Date: Wed, 31 Jul 2019 11:31:41 +0200 Subject: [PATCH] Delay MOTD removal a little bit in the hope it fixes the bug where occasionally for some reason MOTD never goes away --- qcsrc/server/client.qc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/qcsrc/server/client.qc b/qcsrc/server/client.qc index 39ea13604..3afa06d12 100644 --- a/qcsrc/server/client.qc +++ b/qcsrc/server/client.qc @@ -2044,12 +2044,21 @@ void PrintWelcomeMessage(entity this) { if(PHYS_INPUT_BUTTON_INFO(this)) // BUTTON_INFO hides initial MOTD CS(this).motd_actived_time = -2; // wait until BUTTON_INFO gets released - else if(CS(this).motd_actived_time == -2 || IS_PLAYER(this) || IS_SPEC(this)) + else if (CS(this).motd_actived_time == -2) { // instantly hide MOTD CS(this).motd_actived_time = 0; Kill_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CPID_MOTD); } + else if (IS_PLAYER(this) || IS_SPEC(this)) + { + // FIXME occasionally for some reason MOTD never goes away + // delay MOTD removal a little bit in the hope it fixes this bug + if (CS(this).motd_actived_time == -1) // MOTD marked to fade away as soon as client becomes player or spectator + CS(this).motd_actived_time = -(5 + floor(random() * 10)); // add small delay + else //if (CS(this).motd_actived_time < -2) + CS(this).motd_actived_time++; + } } } -- 2.39.2