From: terencehill Date: Sat, 15 May 2010 22:47:34 +0000 (+0200) Subject: Bots with the same name are progressively numbered X-Git-Tag: xonotic-v0.1.0preview~597^2 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=4016ae2e098748cfdb992175fcc3a583915f09ce Bots with the same name are progressively numbered In this way: [Bot]devil{X} [Bot]devil(1){X} [Bot]devil(2){X} ... [Bot]devil(666){X} ... It works with bot_usemodelnames too. --- diff --git a/qcsrc/server/bot/bot.qc b/qcsrc/server/bot/bot.qc index b428530457..44ece52bfd 100644 --- a/qcsrc/server/bot/bot.qc +++ b/qcsrc/server/bot/bot.qc @@ -200,6 +200,20 @@ void bot_setnameandstuff() else name = bot_name; + self.cleanname = strzone(name); + + // number bots with identical names + float i; + i = 0; + FOR_EACH_CLIENT(p) + { + if(clienttype(p) == CLIENTTYPE_BOT) + if(p.cleanname == name) + ++i; + } + if (i) + name = strcat(name, "(", ftos(i), ")"); + // pick the model and skin if(substring(bot_model, -4, 1) != ".") bot_model = strcat(bot_model, ".iqm"); @@ -338,12 +352,15 @@ void bot_clientdisconnect() { if (clienttype(self) != CLIENTTYPE_BOT) return; + if(self.cleanname) + strunzone(self.cleanname); if(self.netname_freeme) strunzone(self.netname_freeme); if(self.playermodel_freeme) strunzone(self.playermodel_freeme); if(self.playerskin_freeme) strunzone(self.playerskin_freeme); + self.cleanname = string_null; self.netname_freeme = string_null; self.playermodel_freeme = string_null; self.playerskin_freeme = string_null; diff --git a/qcsrc/server/bot/bot.qh b/qcsrc/server/bot/bot.qh index 75619e19b7..0550431e96 100644 --- a/qcsrc/server/bot/bot.qh +++ b/qcsrc/server/bot/bot.qh @@ -53,6 +53,7 @@ entity bot_list; entity player_list; .entity nextbot; .entity nextplayer; +.string cleanname; .string netname_freeme; .string playermodel_freeme; .string playerskin_freeme;