From: Samual Date: Thu, 17 Nov 2011 22:13:23 +0000 (-0500) Subject: Give getfilternumber the functionality to also get edict numbers from player X-Git-Tag: xonotic-v0.6.0~188^2~28^2~207 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=886e5f495ea6712931d1c44852188c312dac5fcf;p=xonotic%2Fxonotic-data.pk3dir.git Give getfilternumber the functionality to also get edict numbers from player names.. This way you can supply the name of a player you want to select instead of just being able to supply the entity number. --- diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 105b7e776..38bb3914d 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -2106,18 +2106,4 @@ float lowestbit(float f) f &~= f * 256; f &~= f * 65536; return f; -} - -// used by gamecommand/clientcommand system -float GetFilteredNumber(string input) -{ - float output; - - if(substring(input, 0, 1) == "#") - output = stof(substring(input, 1, -1)); - else - output = stof(input); - - //print(strcat("input: ", input, ", output: ", ftos(output), ",\n")); - return output; } \ No newline at end of file diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 2fe562774..4e43f17fd 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -3135,3 +3135,29 @@ float isPushable(entity e) return TRUE; return FALSE; } + +// used by gamecommand/clientcommand/votecommand/bancommand system +float GetFilteredNumber(string input) +{ + entity tmp_player, selection; + float output, matches; + + // check and see if we can get a number from input like "#3" or "3" + if(substring(input, 0, 1) == "#") + output = stof(substring(input, 1, -1)); + else + output = stof(input); + + // if we can't, check and see if we can match the input to the netname of any player in the game + if not(output) + { + FOR_EACH_CLIENT(tmp_player) + if (strdecolorize(tmp_player.netname) == strdecolorize(input)) + selection = tmp_player; + + if (selection) { output = num_for_edict(selection); } + } + + print(strcat("input: ", input, ", output: ", ftos(output), ",\n")); + return output; +} \ No newline at end of file