void GetData() { char* string_ar[3]; char* pch; char* buffer; // int bufferint; //if(WinsockActive) //{ // //Weve used it.. WE MUST delete it! // data[255] = ""[255]; //} //recvfrom(UClient, (char *)&data, (int)sizeof(data), 0, (struct sockaddr *)&sockAddr, &server_length); if (recv(UClient, data, (int)sizeof(data), 0) >= 1) { if (isin(Left(data,7),"ChatCol")) { //Seems we have a message to change the color of the next line of chat, lets do that now. pch = strtok (data," "); //Make sure the RGB Data Is Fine. //if(sizeof(pch) == 3) //{ //Get the first, RED! buffer = strtok(NULL, " "); Cht_Red = atoi(buffer); //2nd, BLUE! buffer = strtok(NULL, " "); Cht_Green = atoi(buffer); //3rd, GREEN! buffer = strtok(NULL, " "); Cht_Blue = atoi(buffer); //All Dun! WHOOT! //} } else if (isin(Left(data,7),"Players")) { ChangeColorOfChat(255,0,0); AddDebugMessage("Debug>>>Players connected recieved"); string_ar[0] = strtok(data, " "); string_ar[1] = strtok(NULL, " "); //string_ar[2] = strtok(NULL, " "); PlayersIn = string_ar[1]; //ServerName = string_ar[2]; } else if (isin(Left(data,10),"ListUpdate")) { AddDebugMessage("Debug>>>Player List Updated"); int PlayerID = 1; string_ar[0] = strtok(data, " "); string_ar[1] = strtok(NULL, " "); int UpTo = atoi(PlayersIn.c_str()); while (PlayerID <= UpTo) { PlayerList[PlayerID] = string_ar[1]; ScoreList[PlayerID] = "0"; CashList[PlayerID] = "0"; PingList[PlayerID] = "20"; string_ar[1] = strtok(NULL, " "); PlayerID = PlayerID + 1; } const char *key[100],*value[100]; string Players; key[0] = "Server IP"; value[0] = ServerInfo.c_str(); key[1] = "Players/Max Players"; Players = PlayersIn; Players += "/50"; value[1] = Players.c_str(); key[2] = "Nickname"; value[2] = NickName.c_str(); key[3] = "Server Name"; value[3] = ServerName.c_str(); key[4] = "Mod"; value[4] = "Stunt Andreas (Development Stage)"; //XfireSetCustomGameData(5, key, value); } else if (isin(Left(data,10),"ServerName")) { AddDebugMessage("Debug>>>Server Name Updated"); string_ar[0] = Mid(data,11,strlen(data)); ServerName = string_ar[0]; } else if (isin(Left(data,11),"PlayerPings")) { string_ar[0] = strtok(data, " "); char *player_ar[2]; int UpTo = atoi(PlayersIn.c_str()); for (int i = 1; i <= UpTo; i++) { string_ar[1] = strtok(NULL, " "); player_ar[0] = strtok(string_ar[1], ","); player_ar[1] = strtok(NULL, ","); PingList[atoi(player_ar[0])] = player_ar[1]; } } else if (isin(Left(data,10),"ServerInfo")) { AddDebugMessage("Debug>>>Server IP/Port recieved"); string_ar[0] = strtok(data, " "); string_ar[1] = strtok(NULL, " "); //string_ar[2] = strtok(NULL, " "); ServerInfo = string_ar[1]; } else ChangeColorOfChat(Cht_Red, Cht_Green, Cht_Blue); AddDebugMessage(data); } &data[length+1] = 0; }