6 void sv_notice_join_think(
entity this)
10 for (
int i = 0; i < argc; ++i)
11 sv_notice_to(
this,
argv(i), autocvar_sv_join_notices_time,
false);
14 void sv_notice_join(
entity _to)
17 if (autocvar_sv_join_notices ==
"")
return;
18 defer(_to, 1, sv_notice_join_think);
21 void sv_notice_to(
entity _to,
string _notice,
float _howlong,
float _modal)
24 WriteHeader(
MSG_ONE, TE_CSQC_SVNOTICE);
30 void sv_notice_toall(
string _notice,
float _howlong,
float _modal)
48 _notice.alpha = ReadLong() +
time;
49 _notice.skin = ReadByte();
61 LL_EACH(cl_notices, it.alpha >
time, { flag = true; break; });
77 v1 =
'1 1 0' * (M1 + M2);
82 vector v3 = v1 +
'10 10 0';
83 #define OUT(s, z) MACRO_BEGIN \ 84 drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); \ 89 float time_width = 48;
90 OUT(_(
"^1Server notices:"), 32);
92 if(it.alpha - cur_time > 0.1)
95 string s = sprintf(
"^3%d", ceil(cur_time - time));
96 drawcolorcodedstring(v3 + eX * 0.5 * (time_width - stringwidth(s, true,
'1 1 0' * 16)), s,
'1 1 0' * 16, 1, DRAWFLAG_NORMAL);
97 v3.x = v1.x + 10 + time_width;
#define LL_EACH(list, cond, body)
#define FOREACH_CLIENT(cond, body)
#define NET_HANDLE(id, param)
#define IS_REAL_CLIENT(v)
entity LL_PUSH(LinkedList this, entity e)
Push to tail.
const float DRAWFLAG_NORMAL
vector(float skel, float bonenum) _skel_get_boneabs_hidden
#define tokenizebyseparator
#define new_pure(class)
purely logical entities (.origin doesn't work)
#define REGISTER_NET_TEMP(id)