void CServer::SetClientName(int ClientID, const char *pName) { if(ClientID < 0 || ClientID >= MAX_CLIENTS || m_aClients[ClientID].m_State < CClient::STATE_READY) return; if(!pName) return; char aCleanName[MAX_NAME_LENGTH]; str_copy(aCleanName, pName, sizeof(aCleanName)); // clear name for(char *p = aCleanName; *p; ++p) { if(*p < 32) *p = ' '; } if(TrySetClientName(ClientID, aCleanName)) { // auto rename for(int i = 1;; i++) { char aNameTry[MAX_NAME_LENGTH]; str_format(aNameTry, sizeof(aCleanName), "(%d)%s", i, aCleanName); if(TrySetClientName(ClientID, aNameTry) == 0) break; } } }
void CServer::SetClientName(int ClientID, const char *pName) { if(ClientID < 0 || ClientID >= MAX_CLIENTS || m_aClients[ClientID].m_State < CClient::STATE_READY) return; if(!pName) return; char aNameTry[MAX_NAME_LENGTH]; str_copy(aNameTry, pName, MAX_NAME_LENGTH); if(TrySetClientName(ClientID, aNameTry)) { // auto rename for(int i = 1;; i++) { str_format(aNameTry, MAX_NAME_LENGTH, "(%d)%s", i, pName); if(TrySetClientName(ClientID, aNameTry) == 0) break; } } }