+#ifdef SVQC\r
+\r
+void sv_notice_to(entity _to, string _notice, float _howlong, float _modal)\r
+{\r
+ msg_entity = _to;
+ WriteByte(MSG_ONE, SVC_TEMPENTITY);
+ WriteByte(MSG_ONE, TE_CSQC_SVNOTICE);
+ WriteString(MSG_ONE, _notice);\r
+ WriteLong(MSG_ONE, _howlong);\r
+ WriteByte(MSG_ONE, _modal);\r
+}\r
+\r
+void sv_notice_toall(string _notice, float _howlong, float _modal)\r
+{\r
+ entity _head;\r
+ FOR_EACH_REALCLIENT(_head)\r
+ sv_notice_to(_head, _notice, _howlong, _modal);\r
+ \r
+}\r
+\r
+#endif // SVQC\r
+\r
+#ifdef CSQC\r
+void SUB_Remove()
+{ remove(self); }
+\r
+void cl_notice_read()\r
+{\r
+ entity _notice;\r
+ float _done;\r
+ float _modal;\r
+ _notice = spawn();\r
+ _notice.classname = "sv_notice";\r
+ _notice.netname = strzone(ReadString());\r
+ _notice.alpha = ReadLong() + time;\r
+ _notice.skin = ReadByte();\r
+}\r
+\r
+float cl_notice_run()\r
+{\r
+ entity _notes;\r
+ string _notice;\r
+ float c, m = FALSE;\r
+ \r
+ _notes = findchain(classname, "sv_notice");\r
+ if(!_notes)\r
+ return FALSE;\r
+ #define M1 30\r
+ #define M2 10\r
+ \r
+ vector v1, v2, v3;\r
+ v1 = '1 1 0' * M1;\r
+ v2_x = vid_conwidth - (2 * M1);\r
+ v2_y = vid_conheight - (2 * M1);\r
+ \r
+ drawfill(v1, v2, '0 0 0', 0.5, DRAWFLAG_NORMAL);\r
+ v1 = '1 1 0' * (M1 + M2);\r
+ v2_x = vid_conwidth - (2 * (M1 + M2));\r
+ v2_y = vid_conheight - (2 * (M1 + M2));\r
+ drawfill(v1, v2, '0.5 0.5 0.5', 0.5, DRAWFLAG_NORMAL);\r
+ v3 = v1 + '10 10 0';\r
+ \r
+ #define OUT(s,z) drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); v3_y += z + 4\r
+ \r
+ OUT("^1Server notices:", 32);\r
+ \r
+ //drawcolorcodedstring(v1 + '5 5 0', "^1Server notices:", '32 32 0', 1, DRAWFLAG_NORMAL);\r
+ while(_notes)\r
+ {\r
+ \r
+ _notice = sprintf("^7%s (^3%d sec left)", _notes.netname , rint(_notes.alpha - time));\r
+ OUT(_notice, 16);\r
+\r
+ if(_notes.skin) \r
+ m = TRUE;\r
+ \r
+ if(_notes.alpha <= time)\r
+ {\r
+ _notes.think = SUB_Remove;\r
+ _notes.nextthink = time;\r
+ }\r
+ \r
+ _notes = _notes.chain; \r
+ }\r
+ \r
+ #undef OUT\r
+ #undef M1\r
+ #undef M2\r
+ \r
+ return m;\r
+}\r
+\r
+#endif // CSQC\r