PHP Code:
test()
{
    
level endon("boot");
    
setCvar("g_test2","");
    while(
1)
    {
        if(
getcvar("g_test2") != "")
        {    
            
info strTok(getCvar("g_test2")," ");
            if(
info.size != 2)
                continue;
        
            
name1 getnormalname(info[0]);
            
name2 getnormalname(info[1]);

            
player_to_kick undefined;
            
player_warn undefined;
            
players getentarray("player","classname");
            for(
i=0;i<players.size;i++)
            {
                
name getnormalname(players[i].name);
                if(
name == name1 || isSubStr(namename1))
                    
player_to_kick players[i];

            }
            if(!
isDefined(player_to_kick))
                continue;
        
            
player_to_kick iprintlnbold("You are kicked\nREASON: "+name2);
            
setcvar("g_test2""");
        }
    
wait 1;
    }

PHP Code:
getnormalname(name)
{
   while(
issubstr(name,"^1")||issubstr(name,"^2")||issubstr(name,"^3")||issubstr(name,"^4")||issubstr(name,"^5")||issubstr(name,"^6")||issubstr(name,"^7")||issubstr(name,"^8")||issubstr(name,"^9")||issubstr(name,"^0"))
   {
      for(
i=0;i<name.size-1;i++)
      {
         if(
name[i]=="^")
         {
            if(
name[i+1]=="1"||name[i+1]=="2"||name[i+1]=="3"||name[i+1]=="4"||name[i+1]=="5"||name[i+1]=="6"||name[i+1]=="7"||name[i+1]=="8"||name[i+1]=="9"||name[i+1]=="0")
            {
               
tmp="";
               for(
j=0;j<name.size;j++)
               {
                  if(
j!=i&&j!=i+1)
                  {
                     
tmp+=name[j];
                  }
               }
               
name=tmp;
               break;
            }
         }
      }
   
wait 0.05;
   }
   return 
tolower(name);

credits to Inzo for getnormalname

This script is working when I write a part of an existing name. For example I play with "Ni3ls" and I write "/rcon g_test2 ni3 gay" I can see the message in my screen with the reason: gay. However, when I write "/rcon g_test2 nie gay", a non existing player, the server crashes and say I got potential infinite loop in the
PHP Code:
    setCvar("g_test2","");
    while(
1)
    { 
and sometimes in the
PHP Code:
            players getentarray("player","classname");
            for(
i=0;i<players.size;i++)
            { 
How to fix this damned thing?