about summary refs log tree commit diff
path: root/src/game/server
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-18 20:31:13 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-18 20:31:13 +0000
commit9425cbef579fcce696468c3b4118e64f9d6232d3 (patch)
tree22845b0b960494b021ef31f1f84270ecc9627594 /src/game/server
parent4986238fc82ac5d25914ff5bdc15fff82a2455e2 (diff)
downloadzcatch-9425cbef579fcce696468c3b4118e64f9d6232d3.tar.gz
zcatch-9425cbef579fcce696468c3b4118e64f9d6232d3.zip
fixed auto rename if two players sets the same name
Diffstat (limited to 'src/game/server')
-rw-r--r--src/game/server/gs_server.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp
index 049268c6..9e17361f 100644
--- a/src/game/server/gs_server.cpp
+++ b/src/game/server/gs_server.cpp
@@ -2109,17 +2109,20 @@ void mods_message(int msgtype, int client_id)
 			p++;
 		}*/
 
-		//
-		if(msgtype == NETMSGTYPE_CL_CHANGEINFO && strcmp(msg->name, server_clientname(client_id)) != 0)
+		// copy old name
+		char oldname[MAX_NAME_LENGTH];
+		str_copy(oldname, server_clientname(client_id), MAX_NAME_LENGTH);
+		
+		server_setclientname(client_id, msg->name);
+		if(msgtype == NETMSGTYPE_CL_CHANGEINFO && strcmp(oldname, server_clientname(client_id)) != 0)
 		{
 			char chattext[256];
-			str_format(chattext, sizeof(chattext), "*** %s changed name to %s", server_clientname(client_id), msg->name);
+			str_format(chattext, sizeof(chattext), "*** %s changed name to %s", oldname, server_clientname(client_id));
 			send_chat(-1, -1, chattext);
 		}
-
-		//send_set_name(client_id, players[client_id].name, name);
+		
+		// set skin
 		str_copy(players[client_id].skin_name, msg->skin, sizeof(players[client_id].skin_name));
-		server_setclientname(client_id, msg->name);
 		
 		gameobj->on_player_info_change(&players[client_id]);