Na most elvileg az amx_loginhoz is jó! Sma:
 Kód: #include <amxmodx> #include <amxmisc> #include <cstrike>
  #define ACCESS ADMIN_KICK   
  //==================================================================== //      Variables //====================================================================
  // Thanks to Xellath new g_szSpecialChars[ ][ ] = {     "/",     "\",     ":",     "*",     "?",     ">",      "<",     "|",     ";" };
 
 
  new logfile[200],string[500],configsdir[200]
  new cvar_log,cvar_save_direct,cvar_save_name,cvar_zp,cvar_admin,cvar_amxx,cvar_file;
  public plugin_init() {    register_plugin("AdminLogs", "1.2", "pirvu") //==================================================================== //      Cvars //====================================================================
     cvar_log = register_cvar("log_steam","3")    cvar_save_direct = register_cvar("log_direct","0")    cvar_save_name=register_cvar("log_name","1")    cvar_zp=register_cvar("log_zp","1");    cvar_admin= register_cvar("log_admin","1");    cvar_amxx=register_cvar("log_amxx","1");    cvar_file= register_cvar("log_usefile", "1");     }
  //==================================================================== //     Hook player command //====================================================================
  public client_command(id) {    if (get_user_flags(id) & ACCESS)     {
         //==================================================================== //   Read arguments //====================================================================
        new bigarg[64], arg[7][65];       read_args(bigarg,charsmax( bigarg ) );       new iStringSize = charsmax( arg);       parse(bigarg,        arg[0], iStringSize ,        arg[1], iStringSize ,         arg[2], iStringSize ,       arg[3], iStringSize ,       arg[4], iStringSize ,       arg[5], iStringSize ,       arg[6], iStringSize );
        get_configsdir(configsdir,199)     //==================================================================== //      If the command contains amx_ //====================================================================
        if( ( containi(arg[0], "amx_") != -1  && get_pcvar_num(cvar_amxx) ) || ( containi(arg[0], "zp_") != -1  && get_pcvar_num(cvar_zp) ) || ( containi(arg[0], "admin_") != -1  && get_pcvar_num(cvar_admin) ) )       {
 
 
  //==================================================================== //   Get player name , steam , ip //====================================================================              new name[32], ip[32],steam[32];
           get_user_name(id,name,31)
           if (get_pcvar_num(cvar_save_name))           {             for( new i = 0; i < sizeof( g_szSpecialChars ); i++ )                     if( contain( name, g_szSpecialChars[ i ] ) )                           replace_all( name, charsmax( name ), g_szSpecialChars[ i ], "" );                     trim( name); // remove spaces             //thanks to Xellath          }
 
           get_user_ip(id,ip,31,1)          get_user_authid(id,steam,31)
            //==================================================================== //   Get current date & time //====================================================================
           static s_Time[ 16 ], s_Date[ 16 ];
           get_time ( "%m%d", s_Date, charsmax ( s_Date ) );             get_time ( "%H:%M:%S", s_Time, charsmax ( s_Time ) );   
  //==================================================================== //    Make the /adminlogs folder //====================================================================
           add(configsdir, charsmax(configsdir),"/adminlogs");          if(!dir_exists(configsdir))   mkdir(configsdir)          add(configsdir, charsmax(configsdir),"/");
  //==================================================================== //    Make the second folder //====================================================================
           switch (get_pcvar_num(cvar_save_direct))          {              case 1: add(configsdir,charsmax(configsdir),ip);              case 2: add(configsdir,charsmax(configsdir),steam)              default : add(configsdir, charsmax(configsdir),s_Date);          }              if(!dir_exists(configsdir))  mkdir(configsdir)
  //==================================================================== //    Make the log file name //====================================================================                    if (get_pcvar_num(cvar_file))          {                          new iFile = fopen("/addons/amxmodx/configs/amx_login/loginusers.ini","r");             new Buffer[256];             while(!feof(iFile))             {                fgets(iFile,Buffer,255);                                                   if ( containi (Buffer , ip ) !=-1 )                {                   formatex(logfile,199,"%s/%s.log",configsdir,ip)   
                    switch (get_pcvar_num(cvar_log))                   {                      case 1:  formatex(string,499,"[%s] Ip [%s] used command %s %s %s %s %s %s %s",s_Time,ip,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);                      case 2:  formatex(string,499,"[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);                      case 3:  formatex(string,499,"[%s] Ip[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,ip,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6])                      default: formatex(string,499,"[%s] used command %s %s %s %s %s %s %s",s_Time,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);
                    }                       write_file(logfile,string,-1)                   fclose(iFile);                   return PLUGIN_CONTINUE
                 }
                 else if ( containi (Buffer , steam ) !=-1 )                {                   formatex(logfile,199,"%s/%s.log",configsdir,steam)   
                    switch (get_pcvar_num(cvar_log))                   {                      case 1:  formatex(string,499,"[%s] Ip [%s] used command %s %s %s %s %s %s %s",s_Time,ip,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);                      case 2:  formatex(string,499,"[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);                      case 3:  formatex(string,499,"[%s] Ip[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,ip,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6])                      default: formatex(string,499,"[%s] used command %s %s %s %s %s %s %s",s_Time,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);
                    }                       write_file(logfile,string,-1)                   fclose(iFile);                   return PLUGIN_CONTINUE
                 }
              }
 
           }                          if (get_pcvar_num(cvar_save_name))   formatex(logfile,199,"%s/%s.log",configsdir,name)          else formatex(logfile,199,"%s/%s.log",configsdir,s_Date)
  //==================================================================== //   Log the command  //====================================================================              switch (get_pcvar_num(cvar_log))          {             case 1:  formatex(string,499,"[%s] Ip [%s] used command %s %s %s %s %s %s %s",s_Time,ip,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);             case 2:  formatex(string,499,"[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);             case 3:  formatex(string,499,"[%s] Ip[%s] SteamID [%s] used command %s %s %s %s %s %s %s",s_Time,ip,steam,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6])             default: formatex(string,499,"[%s] used command %s %s %s %s %s %s %s",s_Time,arg[0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]);
           }              write_file(logfile,string,-1)
 
        }    }    return PLUGIN_CONTINUE } 
		 |