267 sendUI(mtRoomChatLine, @s[1], length(s)) |
267 sendUI(mtRoomChatLine, @s[1], length(s)) |
268 else |
268 else |
269 sendUI(mtLobbyChatLine, @s[1], length(s)); |
269 sendUI(mtLobbyChatLine, @s[1], length(s)); |
270 end; |
270 end; |
271 |
271 |
|
272 var flags: array[TClientFlag] of LongInt; |
|
273 isFlagsLine: boolean; |
272 procedure handler_CLIENT_FLAGS(var p: TCmdParamS); |
274 procedure handler_CLIENT_FLAGS(var p: TCmdParamS); |
273 begin |
275 var f: TClientFlag; |
|
276 begin |
|
277 for f:= Low(TClientFlag) to High(TClientFlag) do |
|
278 flags[f]:= 0; |
|
279 |
|
280 isFlagsLine:= true; |
274 end; |
281 end; |
275 |
282 |
276 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS); |
283 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS); |
277 begin |
284 var isRemoval: boolean; |
|
285 flagValue, i: LongInt; |
|
286 begin |
|
287 if isFlagsLine then |
|
288 begin |
|
289 if s.str[1] = '+' then flagValue:= 1 else flagValue:= -1; |
|
290 for i:= 2 to Length(s.str1) do |
|
291 case s.str[1] of |
|
292 'r': flags[cfReady]:= flagValue; |
|
293 'u': flags[cfRegistered]:= flagValue; |
|
294 'i': flags[cfInRoom]:= flagValue; |
|
295 'c': flags[cfContributor]:= flagValue; |
|
296 'g': flags[cfInGame]:= flagValue; |
|
297 'h': flags[cfRoomAdmin]:= flagValue; |
|
298 'a': flags[cfServerAdmin]:= flagValue; |
|
299 end; |
|
300 |
|
301 isFlagsLine:= false; |
|
302 end else |
|
303 begin |
|
304 |
|
305 end |
278 end; |
306 end; |
279 |
307 |
280 procedure handler_CONNECTED(var p: TCmdParami); |
308 procedure handler_CONNECTED(var p: TCmdParami); |
281 begin |
309 begin |
282 sendUI(mtConnected, nil, 0); |
310 sendUI(mtConnected, nil, 0); |
283 writeln('Server features version ', p.param1); |
311 //writeln('Server features version ', p.param1); |
284 sendNet('PROTO' + #10 + '51'); |
312 sendNet('PROTO' + #10 + '51'); |
285 sendNet('NICK' + #10 + 'qmlfrontend'); |
313 sendNet('NICK' + #10 + 'qmlfrontend'); |
286 end; |
314 end; |
287 |
315 |
288 procedure handler_EM(var p: TCmdParam); |
316 procedure handler_EM(var p: TCmdParam); |