View Single Post
bug in bot naming
Old
  (#1)
Krush
Member
 
Status: Offline
Posts: 23
Join Date: Jul 2004
Default bug in bot naming - 06-07-2004

Don't know if anyone else has brought this up but the current way names are being handled does not work if a bot remains on server during and after a map change.

inside
Code:
void BotCreate (int bot_skill, int bot_team, int bot_class, const char *bot_name)
the else part where they are supplying the name
Code:
   // a name has been given
   else
   {
      // If Detailnames are on, attach Clan Tag
      if (g_bDetailNames)
      {
         if (iPersonality == 0)
            sprintf (c_name, "[POD]%s (%d)", bot_name, skill);
         else if (iPersonality == 1)
            sprintf (c_name, "[P*D]%s (%d)", bot_name, skill);
         else
            sprintf (c_name, "[P0D]%s (%d)", bot_name, skill);
      }
      else
         strncpy (c_name, bot_name, 32);
   }
has a bug cause in the case i describe the name already has the tag and skill on it

so for example say the name that we start with is "Bot"
first time through it makes it "[POD]Bot (54)"
but when the map change occurs you end up with "[POD][POD]Bot (54) (54)"
and the next map change "[POD][POD][POD]Bot (54) (54) (54)"

you get my point. this goes on until the name is so big the game crashes on server change.

a quick fix is to remove bots before the change. but a easier thing is to change that code up there to this:
Code:
   else
   {
      // If Detailnames are on, attach Clan Tag
      if (g_bDetailNames)
      {
         if (iPersonality == 0)
            sprintf (c_name, "%s", bot_name);
         else if (iPersonality == 1)
            sprintf (c_name, "%s", bot_name);
         else
            sprintf (c_name, "%s", bot_name);
      }
      else
         strncpy (c_name, bot_name, 32);
   }
if anyone has a better idea let me know
  
Reply With Quote