cvar_t cl_name = {CVAR_SAVE, "_cl_name", "player"};
void Host_Name_f (void)
{
+ int i, j;
char newName[sizeof(host_client->name)];
if (Cmd_Argc () == 1)
else
strlcpy (newName, Cmd_Args(), sizeof (newName));
+ for (i = 0, j = 0;newName[i];i++)
+ if (newName[i] != '\r' && newName[i] != '\n')
+ newName[j++] = newName[i];
+ newName[j] = 0;
+
if (cmd_source == src_command)
{
- if (strcmp(cl_name.string, newName) == 0)
- return;
Cvar_Set ("_cl_name", newName);
if (cls.state == ca_connected)
Cmd_ForwardToServer ();
return;
}
+ if (sv.time < host_client->nametime)
+ {
+ SV_ClientPrintf("You can't change name more than once every 5 seconds!\n");
+ return;
+ }
+
+ host_client->nametime = sv.time + 5;
+
if (strcmp(host_client->name, newName) && host_client->name[0] && strcmp(host_client->name, "unconnected"))
SV_BroadcastPrintf("%s changed name to %s\n", host_client->name, newName);
strcpy(host_client->name, newName);
return;
}
+ host_client->nametime = 0;
+
// LordHavoc: moved this above the QC calls at FrikaC's request
// send all current names, colors, and frag counts
SZ_Clear (&host_client->message);