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