hlmod.hu
https://hlmod.hu/

[KÉRÉSRE] Admin logs edit
https://hlmod.hu/viewtopic.php?f=10&t=2566
Oldal: 1 / 1

Szerző:  kiki [2011.10.21. 14:51 ]
Hozzászólás témája:  [KÉRÉSRE] Admin logs edit

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
}

Szerző:  ZiT3K [2014.02.21. 15:11 ]
Hozzászólás témája:  Re: [KÉRÉSRE] Admin logs edit

Hali! Konvertálásnál 3 hiba. Javítsd ki légyszíves elég hasznos plugin lenne. Előre is kösz!
Ezt alakítottad át: viewtopic.php?f=100&t=12328


Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Warning: Loose indentation on line 99
Warning: Loose indentation on line 115
Warning: Loose indentation on line 121
Header size: 596 bytes
Code size: 8312 bytes
Data size: 7268 bytes
Stack/heap size: 16384 bytes; estimated max. usage=910 cells (3640 bytes)
Total requirements: 32560 bytes

3 Warnings.
Done.

Szerző:  kiki [2014.02.21. 15:15 ]
Hozzászólás témája:  Re: [KÉRÉSRE] Admin logs edit

Szia, ha megoldható írd le hogy hol látsz hibát.

Szerző:  ZiT3K [2014.02.21. 15:20 ]
Hozzászólás témája:  Re: [KÉRÉSRE] Admin logs edit

3 Warnings, amit ír most akkor az nem számít hibának? Csak mert többinél, amit konvertáltam nem írt hibát. Vagy ha nincs hiba akkor miért írja? Vagy csak a működést nem befolyásoló hiba?

Szerző:  kiki [2014.02.21. 15:25 ]
Hozzászólás témája:  Re: [KÉRÉSRE] Admin logs edit

Nem hiba, a hiba az error, ez meg warning, szal figyelmeztetés, működési hibája nem lesz, csak valahol nem jól van használva a tabulátor, vagy a szóköz. Ha nagyon idegesít, akkor a Pawn Studioba, meg az Amxmodx studioba is egy gombnyomással javítja a sorokat. Persze ez akkor jön jól, ha több száz ilyen sor van.

Szerző:  ZiT3K [2014.02.21. 15:30 ]
Hozzászólás témája:  Re: [KÉRÉSRE] Admin logs edit

Értem, kösz szépen a felvilágosítást.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/