From 96fd18302189a8764164051711516c6ab0030c68 Mon Sep 17 00:00:00 2001 From: div0 Date: Fri, 1 Aug 2008 10:14:49 +0000 Subject: [PATCH] work around broken ClientConnect/ClientDisconnect git-svn-id: svn://svn.icculus.org/nexuiz/trunk@3995 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index b23c361d4..1738f01b4 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -984,6 +984,12 @@ void ClientConnect (void) local string s; float wep; + if(self.flags & FL_CLIENT) + { + print("Warning: ClientConnect, but already connected!\n"); + return; + } + if(Ban_IsClientBanned(self)) { s = strcat("^1NOTE:^7 banned client ", self.netaddress, " just tried to enter\n"); @@ -995,6 +1001,7 @@ void ClientConnect (void) DecodeLevelParms(); self.classname = "player_joining"; + self.flags = self.flags | FL_CLIENT; self.version_nagtime = time + 10 + random() * 10; @@ -1166,6 +1173,12 @@ void ClientDisconnect (void) { float save; + if not(self.flags & FL_CLIENT) + { + print("Warning: ClientDisconnect without ClientConnect\n"); + return; + } + bot_clientdisconnect(); if(entcs_start) @@ -1223,10 +1236,7 @@ void ClientDisconnect (void) } */ - if(self.flags & FL_CLIENT) - PlayerScore_Detach(self); - else - print("Warning: ClientDisconnect without ClientConnect\n"); + PlayerScore_Detach(self); if(self.netname_previous) strunzone(self.netname_previous); -- 2.39.2