Raised This Month: $12 Target: $400
 3% 

Solved [HELP] Admin Stats


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-25-2020 , 03:01   [HELP] Admin Stats
Reply With Quote #1

Hello,
I want the list of people with flags to be printed in the Console with the following command and example

console Print:
Code:
amx_stats:

<>---Admin Stats List---<>
<Name/SteamID/IP> <Password> <Flags> <Stats> <Time>
"AlferD" "1234" "asdegfvgh" "No Set Stats" "2020/25/5 | 15:05 PM"
"STEAM_0:0:123456" "" "sduwb" "No Set Stats" "2020/20/2 | 1:20 AM"
"1.1.1.1.1" "" "ihgdfsawq" "No Set Stats" "2020/15/0 | 5:05 AM"
This is my plugin with my changes:
PHP Code:
// Uncomment for SQL version
// #define USING_SQL

#include <amxmodx>
#include <amxmisc>
#if defined USING_SQL
#include <sqlx>
#endif

//new Vector:AdminList;

new AdminCount;

new 
PLUGINNAME[] = "AMX Mod X"

#define ADMIN_LOOKUP    (1<<0)
#define ADMIN_NORMAL    (1<<1)
#define ADMIN_STEAM        (1<<2)
#define ADMIN_IPADDR    (1<<3)
#define ADMIN_NAME        (1<<4)

new g_cmdLoopback[16]
new 
bool:g_CaseSensitiveName[33];

// pcvars
new amx_mode;
new 
amx_password_field;
new 
amx_default_access;

//--------- Har Gone Estefadeh Az In Plugin Qeyre Mojaz Va Kamelan **Haram** Ast,( Magar Ba Ejaze AlferD )

new pStats;

public 
plugin_init()
{
#if defined USING_SQL
    
register_plugin("Admin Base (SQL)"AMXX_VERSION_STR"AMXX Dev Team")
#else
    
register_plugin("Admin Base-EditBy:AlferD"AMXX_VERSION_STR"AMXX Dev Team-EditBy:AlferD")
#endif
    
register_dictionary("admin.txt")
    
register_dictionary("common.txt")
    
amx_mode=register_cvar("amx_mode""1")
    
amx_password_field=register_cvar("amx_password_field""_pw")
    
amx_default_access=register_cvar("amx_default_access""")

    
register_cvar("amx_vote_ratio""0.02")
    
register_cvar("amx_vote_time""10")
    
register_cvar("amx_vote_answers""1")
    
register_cvar("amx_vote_delay""60")
    
register_cvar("amx_last_voting""0")
    
register_cvar("amx_show_activity""2")
    
register_cvar("amx_votekick_ratio""0.40")
    
register_cvar("amx_voteban_ratio""0.40")
    
register_cvar("amx_votemap_ratio""0.40")

    
set_cvar_float("amx_last_voting"0.0)

#if defined USING_SQL
    
register_srvcmd("amx_sqladmins""adminSql")
    
register_cvar("amx_sql_table""admins")
#endif
    
register_cvar("amx_sql_host""127.0.0.1")
    
register_cvar("amx_sql_user""root")
    
register_cvar("amx_sql_pass""")
    
register_cvar("amx_sql_db""amx")
    
register_cvar("amx_sql_type""mysql")

    
register_concmd("amx_reloadadmins""cmdReload"ADMIN_CFG)
    
register_concmd("amx_addadmin""addadminfn"ADMIN_RCON"<playername|auth> <accessflags> [password] [authtype] - add specified player as an admin to users.ini")
    
    
pStats register_cvar("amx_addadmin_stats""No Set Stats")

    
format(g_cmdLoopback15"amxauth%c%c%c%c"random_num('A''Z'), random_num('A''Z'), random_num('A''Z'), random_num('A''Z'))

    
register_clcmd(g_cmdLoopback"ackSignal")

    
remove_user_flags(0read_flags("z"))        // Remove 'user' flag from server rights

    
new configsDir[64]
    
get_configsdir(configsDir63)
    
    
server_cmd("exec %s/amxx.cfg"configsDir)    // Execute main configuration file
    
server_cmd("exec %s/sql.cfg"configsDir)

    
// Create a vector of 5 cells to store the info.
    //AdminList=vector_create(5);

    
#if defined USING_SQL
    
server_cmd("amx_sqladmins")
#else
    
format(configsDir63"%s/users.ini"configsDir)
    
loadSettings(configsDir)                    // Load admins accounts
#endif
}
public 
client_connect(id)
{
    
g_CaseSensitiveName[id] = false;
}
public 
addadminfn(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED
        
    
new idtype ADMIN_STEAM ADMIN_LOOKUP

    
if (read_argc() >= 5)
    {
        new 
t_arg[16]
        
read_argv(4t_arg15)
        
        if (
equali(t_arg"steam") || equali(t_arg"steamid") || equali(t_arg"auth"))
        {
            
idtype ADMIN_STEAM
        
}
        else if (
equali(t_arg"ip"))
        {
            
idtype ADMIN_IPADDR
        
}
        else if (
equali(t_arg"name") || equali(t_arg"nick"))
        {
            
idtype ADMIN_NAME
            
            
if (equali(t_arg"name"))
                
idtype |= ADMIN_LOOKUP
        
} else {
            
console_print(id"[%s] Unknown id type ^"%s^", use one of: steamid, ip, name"PLUGINNAMEt_arg)
            return 
PLUGIN_HANDLED
        
}
    }

    new 
arg[33]
    
read_argv(1arg32)
    new 
player = -1
    
    
if (idtype ADMIN_STEAM)
    {
        if (
containi(arg"STEAM_0:") == -1)
        {
            
idtype |= ADMIN_LOOKUP
            player 
cmd_target(idargCMDTARGET_ALLOW_SELF CMDTARGET_NO_BOTS)
        } else {
            new 
_steamid[44]
            static 
_players[32], _num_pv
            get_players
(_players_num)
            for (new 
_i=0_i<_num_i++)
            {
                
_pv _players[_i]
                
get_user_authid(_pv_steamidsizeof(_steamid)-1)
                if (!
_steamid[0])
                    continue
                if (
equal(_steamidarg))
                {
                    
player _pv
                    
break
                }
            }    
            if (
player 1)
            {
                
idtype &= ~ADMIN_LOOKUP
            
}        
        }
    }
    else if (
idtype ADMIN_NAME)
    {
        
player cmd_target(idargCMDTARGET_ALLOW_SELF CMDTARGET_NO_BOTS)
        
        if (
player)
            
idtype |= ADMIN_LOOKUP
        
else
            
idtype &= ~ADMIN_LOOKUP
    
}
    else if (
idtype ADMIN_IPADDR)
    {
        new 
len strlen(arg)
        new 
dotschars
        
        
for (new 0leni++)
        {
            if (
arg[i] == '.')
            {
                if (!
chars || chars 3)
                    break
                
                if (++
dots 3)
                    break
                
                
chars 0
            
} else {
                
chars++
            }
            
            if (
dots != || !chars || chars 3)
            {
                
idtype |= ADMIN_LOOKUP
                player 
find_player("dh"arg)
            }
        }
    }
    
    if (
idtype ADMIN_LOOKUP && !player)
    {
        
console_print(id"%L"id"CL_NOT_FOUND")
        return 
PLUGIN_HANDLED
    
}
    
    new 
flags[64]
    
read_argv(2flags63)

    new 
password[64]
    if (
read_argc() >= 4)
        
read_argv(3password63)

    new 
auth[33]
    new 
Comment[33]; // name of player to pass to comment field
    
if (idtype ADMIN_LOOKUP)
    {
        
get_user_name(playerCommentsizeof(Comment)-1)
        if (
idtype ADMIN_STEAM)
        {
            
get_user_authid(playerauth32)
        }
        else if (
idtype ADMIN_IPADDR)
        {
            
get_user_ip(playerauth32)
        }
        else if (
idtype ADMIN_NAME)
        {
            
get_user_name(playerauth32)
        }
    } else {
        
copy(auth32arg)
    }
    
    new 
type[16], len
    
    
if (idtype ADMIN_STEAM)
        
len += format(type[len], 15-len"c")
    else if (
idtype ADMIN_IPADDR)
        
len += format(type[len], 15-len"d")
    
    if (
strlen(password) > 0)
        
len += format(type[len], 15-len"a")
    else
        
len += format(type[len], 15-len"e")
    
    
AddAdmin(idauthflagspasswordtypeComment)
    
cmdReload(idADMIN_CFG0)

    if (
player 0)
    {
        new 
name[32]
        
get_user_info(player"name"name31)
        
accessUser(playername)
    }

    return 
PLUGIN_HANDLED
}

AddAdmin(idauth[], accessflags[], password[], flags[], comment[]="")
{
#if defined USING_SQL
    
new error[128], errno

    
new Handle:info SQL_MakeStdTuple()
    new 
Handle:sql SQL_Connect(infoerrnoerror127)
    
    if (
sql == Empty_Handle)
    {
        
server_print("[AMXX] %L"LANG_SERVER"SQL_CANT_CON"error)
        
//backup to users.ini
#endif
        // Make sure that the users.ini file exists.
        
new configsDir[64]
        
get_configsdir(configsDir63)
        
format(configsDir63"%s/users.ini"configsDir)

        if (!
file_exists(configsDir))
        {
            
console_print(id"[%s] File ^"%s^" doesn't exist."PLUGINNAMEconfigsDir)
            return
        }

        
// Make sure steamid isn't already in file.
        
new line 0textline[256], len
        
const SIZE 63
        
new line_steamid[SIZE 1], line_password[SIZE 1], line_accessflags[SIZE 1], line_flags[SIZE 1], parsedParams
        
        
// <name|ip|steamid> <password> <access flags> <account flags>
        
while ((line read_file(configsDirlinetextline255len)))
        {
            if (
len == || equal(textline";"1))
                continue 
// comment line

            
parsedParams parse(textlineline_steamidSIZEline_passwordSIZEline_accessflagsSIZEline_flagsSIZE)
            
            if (
parsedParams != 4)
                continue    
// Send warning/error?
            
            
if (containi(line_flagsflags) != -&& equal(line_steamidauth))
            {
                
console_print(id"[%s] %s already exists!"PLUGINNAMEauth)
                return
            }
        }

        
// If we came here, steamid doesn't exist in users.ini. Add it.
        
new szStats[32]
        
get_pcvar_string(pStatsszStatscharsmax(szStats));
        
        new 
szTime64 ]
        
get_time"%m/%d/%Y | %I:%M %p"szTimecharsmax(szTime) )
        
        new 
linetoadd[512]
        
        if (
comment[0]==0)
        {
            
formatex(linetoadd511"^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; Stats: ^"%s^" -- Time: ^"%s^""authpasswordaccessflagsflagsszStatsszTime)
        }
        else
        {
            
formatex(linetoadd511"^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; Stats:^"%s^" ; %s -- Time: ^"%s^""authpasswordaccessflagsflagsszStatscommentszTime)
        }
        
console_print(id"Adding:^n%s"linetoadd)

        if (!
write_file(configsDirlinetoadd))
            
console_print(id"[%s] Failed writing to %s!"PLUGINNAMEconfigsDir)
#if defined USING_SQL
    
}
    
    new 
table[32]
    
    
get_cvar_string("amx_sql_table"table31)
    
    new 
Handle:query SQL_PrepareQuery(sql"SELECT * FROM `%s` WHERE (`auth` = '%s')"tableauth)

    if (!
SQL_Execute(query))
    {
        
SQL_QueryError(queryerror127)
        
server_print("[AMXX] %L"LANG_SERVER"SQL_CANT_LOAD_ADMINS"error)
        
console_print(id"[AMXX] %L"LANG_SERVER"SQL_CANT_LOAD_ADMINS"error)
    } else if (
SQL_NumResults(query)) {
        
console_print(id"[%s] %s already exists!"PLUGINNAMEauth)
    } else {
        
console_print(id"Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^""authpasswordaccessflagsflags)
    
        
SQL_QueryAndIgnore(sql"REPLACE INTO `%s` (`auth`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')"tableauthpasswordaccessflagsflags)
    }
    
    
SQL_FreeHandle(query)
    
SQL_FreeHandle(sql)
    
SQL_FreeHandle(info)
#endif

}
public 
plugin_cfg()
{
    
set_task(6.1"delayed_load")
}

public 
delayed_load()
{
    new 
configFile[128], curMap[64], configDir[128]

    
get_configsdir(configDirsizeof(configDir)-1)
    
get_mapname(curMapsizeof(curMap)-1)

    new 
i=0;
    
    while (
curMap[i] != '_' && curMap[i++] != '^0') {/*do nothing*/}
    
    if (
curMap[i]=='_')
    {
        
// this map has a prefix
        
curMap[i]='^0';
        
formatex(configFilesizeof(configFile)-1"%s/maps/prefix_%s.cfg"configDircurMap);

        if (
file_exists(configFile))
        {
            
server_cmd("exec %s"configFile);
        }
    }

    
get_mapname(curMapsizeof(curMap)-1)

    
    
formatex(configFilesizeof(configFile)-1"%s/maps/%s.cfg"configDircurMap)

    if (
file_exists(configFile))
    {
        
server_cmd("exec %s"configFile)
    }
    
}

loadSettings(szFilename[])
{
    new 
File=fopen(szFilename,"r");
    
    if (
File)
    {
        new 
Text[512];
        new 
Flags[32];
        new 
Access[32]
        new 
AuthData[44];
        new 
Password[32];
        
        while (!
feof(File))
        {
            
fgets(File,Text,sizeof(Text)-1);
            
            
trim(Text);
            
            
// comment
            
if (Text[0]==';'
            {
                continue;
            }
            
            
Flags[0]=0;
            
Access[0]=0;
            
AuthData[0]=0;
            
Password[0]=0;
            
            
// not enough parameters
            
if (parse(Text,AuthData,sizeof(AuthData)-1,Password,sizeof(Password)-1,Access,sizeof(Access)-1,Flags,sizeof(Flags)-1) < 2)
            {
                continue;
            }
            
            
admins_push(AuthData,Password,read_flags(Access),read_flags(Flags));

            
AdminCount++;
        }
        
        
fclose(File);
    }

    if (
AdminCount == 1)
    {
        
server_print("[AMXX] %L"LANG_SERVER"LOADED_ADMIN");
    }
    else
    {
        
server_print("[AMXX] %L"LANG_SERVER"LOADED_ADMINS"AdminCount);
    }
    
    return 
1;
}

#if defined USING_SQL
public adminSql()
{
    new 
table[32], error[128], type[12], errno
    
    
new Handle:info SQL_MakeStdTuple()
    new 
Handle:sql SQL_Connect(infoerrnoerror127)
    
    
get_cvar_string("amx_sql_table"table31)
    
    
SQL_GetAffinity(type11)
    
    if (
sql == Empty_Handle)
    {
        
server_print("[AMXX] %L"LANG_SERVER"SQL_CANT_CON"error)
        
        
//backup to users.ini
        
new configsDir[64]
        
        
get_configsdir(configsDir63)
        
format(configsDir63"%s/users.ini"configsDir)
        
loadSettings(configsDir// Load admins accounts

        
return PLUGIN_HANDLED
    
}

    new 
Handle:query
    
    
if (equali(type"sqlite"))
    {
        if (!
sqlite_TableExists(sqltable))
        {
            
SQL_QueryAndIgnore(sql"CREATE TABLE %s ( auth TEXT NOT NULL DEFAULT '', password TEXT NOT NULL DEFAULT '', access TEXT NOT NULL DEFAULT '', flags TEXT NOT NULL DEFAULT '' )"table)
        }

        
query SQL_PrepareQuery(sql"SELECT auth, password, access, flags FROM %s"table)
    } else {
        
SQL_QueryAndIgnore(sql"CREATE TABLE IF NOT EXISTS `%s` ( `auth` VARCHAR( 32 ) NOT NULL, `password` VARCHAR( 32 ) NOT NULL, `access` VARCHAR( 32 ) NOT NULL, `flags` VARCHAR( 32 ) NOT NULL ) COMMENT = 'AMX Mod X Admins'"table)
        
query SQL_PrepareQuery(sql,"SELECT `auth`,`password`,`access`,`flags` FROM `%s`"table)
    }

    if (!
SQL_Execute(query))
    {
        
SQL_QueryError(queryerror127)
        
server_print("[AMXX] %L"LANG_SERVER"SQL_CANT_LOAD_ADMINS"error)
    } else if (!
SQL_NumResults(query)) {
        
server_print("[AMXX] %L"LANG_SERVER"NO_ADMINS")
    } else {
        
        
AdminCount 0
        
        
/** do this incase people change the query order and forget to modify below */
        
new qcolAuth SQL_FieldNameToNum(query"auth")
        new 
qcolPass SQL_FieldNameToNum(query"password")
        new 
qcolAccess SQL_FieldNameToNum(query"access")
        new 
qcolFlags SQL_FieldNameToNum(query"flags")
        
        new 
AuthData[44];
        new 
Password[44];
        new 
Access[32];
        new 
Flags[32];
        
        while (
SQL_MoreResults(query))
        {
            
SQL_ReadResult(queryqcolAuthAuthDatasizeof(AuthData)-1);
            
SQL_ReadResult(queryqcolPassPasswordsizeof(Password)-1);
            
SQL_ReadResult(queryqcolAccessAccesssizeof(Access)-1);
            
SQL_ReadResult(queryqcolFlagsFlagssizeof(Flags)-1);
    
            
admins_push(AuthData,Password,read_flags(Access),read_flags(Flags));
    
            ++
AdminCount;
            
SQL_NextRow(query)
        }
    
        if (
AdminCount == 1)
        {
            
server_print("[AMXX] %L"LANG_SERVER"SQL_LOADED_ADMIN")
        }
        else
        {
            
server_print("[AMXX] %L"LANG_SERVER"SQL_LOADED_ADMINS"AdminCount)
        }
        
        
SQL_FreeHandle(query)
        
SQL_FreeHandle(sql)
        
SQL_FreeHandle(info)
    }
    
    return 
PLUGIN_HANDLED
}
#endif

public cmdReload(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    
//strip original flags (patch submitted by mrhunt)
    
remove_user_flags(0read_flags("z"))
    
    
admins_flush();

#if !defined USING_SQL
    
new filename[128]
    
    
get_configsdir(filename127)
    
format(filename63"%s/users.ini"filename)

    
AdminCount 0;
    
loadSettings(filename);        // Re-Load admins accounts

    
if (id != 0)
    {
        if (
AdminCount == 1)
        {
            
console_print(id"[AMXX] %L"LANG_SERVER"LOADED_ADMIN");
        }
        else
        {
            
console_print(id"[AMXX] %L"LANG_SERVER"LOADED_ADMINS"AdminCount);
        }
    }
#else
    
AdminCount 0
    adminSql
()

    if (
id != 0)
    {
        if (
AdminCount == 1)
            
console_print(id"[AMXX] %L"LANG_SERVER"SQL_LOADED_ADMIN")
        else
            
console_print(id"[AMXX] %L"LANG_SERVER"SQL_LOADED_ADMINS"AdminCount)
    }
#endif

    
new players[32], numpv
    
new name[32]
    
get_players(playersnum)
    for (new 
i=0i<numi++)
    {
        
pv players[i]
        
get_user_name(pvname31)
        
accessUser(pvname)
    }

    return 
PLUGIN_HANDLED
}

getAccess(idname[], authid[], ip[], password[])
{
    new 
index = -1
    
new result 0
    
    
static Count;
    static 
Flags;
    static 
Access;
    static 
AuthData[44];
    static 
Password[32];
    
    
g_CaseSensitiveName[id] = false;

    
Count=admins_num();
    for (new 
0Count; ++i)
    {
        
Flags=admins_lookup(i,AdminProp_Flags);
        
admins_lookup(i,AdminProp_Auth,AuthData,sizeof(AuthData)-1);
        
        if (
Flags FLAG_AUTHID)
        {
            if (
equal(authidAuthData))
            {
                
index i
                
break
            }
        }
        else if (
Flags FLAG_IP)
        {
            new 
strlen(AuthData)
            
            if (
AuthData[1] == '.')        /* check if this is not a xxx.xxx. format */
            
{
                if (
equal(AuthDataipc))
                {
                    
index i
                    
break
                }
            }                                    
/* in other case an IP must just match */
            
else if (equal(ipAuthData))
            {
                
index i
                
break
            }
        } 
        else 
        {
            if (
Flags FLAG_CASE_SENSITIVE)
            {
                if (
Flags FLAG_TAG)
                {
                    if (
contain(nameAuthData) != -1)
                    {
                        
index i
                        g_CaseSensitiveName
[id] = true
                        
break
                    }
                }
                else if (
equal(nameAuthData))
                {
                    
index i
                    g_CaseSensitiveName
[id] = true
                    
break
                }
            }
            else
            {
                if (
Flags FLAG_TAG)
                {
                    if (
containi(nameAuthData) != -1)
                    {
                        
index i
                        
break
                    }
                }
                else if (
equali(nameAuthData))
                {
                    
index i
                    
break
                }
            }
        }
    }

    if (
index != -1)
    {
        
Access=admins_lookup(index,AdminProp_Access);

        if (
Flags FLAG_NOPASS)
        {
            
result |= 8
            
new sflags[32]
            
            
get_flags(Accesssflags31)
            
set_user_flags(idAccess)
            
            
log_amx("Login: ^"%s<%d><%s><>^" became an admin (account ^"%s^") (access ^"%s^") (address ^"%s^")"nameget_user_userid(id), authidAuthDatasflagsip)
        }
        else 
        {
        
            
admins_lookup(index,AdminProp_Password,Password,sizeof(Password)-1);

            if (
equal(passwordPassword))
            {
                
result |= 12
                set_user_flags
(idAccess)
                
                new 
sflags[32]
                
get_flags(Accesssflags31)
                
                
log_amx("Login: ^"%s<%d><%s><>^" became an admin (account ^"%s^") (access ^"%s^") (address ^"%s^")"nameget_user_userid(id), authidAuthDatasflagsip)
            } 
            else 
            {
                
result |= 1
                
                
if (Flags FLAG_KICK)
                {
                    
result |= 2
                    log_amx
("Login: ^"%s<%d><%s><>^" kicked due to invalid password (account ^"%s^") (address ^"%s^")"nameget_user_userid(id), authidAuthDataip)
                }
            }
        }
    }
    else if (
get_pcvar_float(amx_mode) == 2.0)
    {
        
result |= 2
    

    else 
    {
        new 
defaccess[32]
        
        
get_pcvar_string(amx_default_accessdefaccess31)
        
        if (!
strlen(defaccess))
        {
            
copy(defaccess32"z")
        }
        
        new 
idefaccess read_flags(defaccess)
        
        if (
idefaccess)
        {
            
result |= 8
            set_user_flags
(ididefaccess)
        }
    }
    
    return 
result
}

accessUser(idname[] = "")
{
    
remove_user_flags(id)
    
    new 
userip[32], userauthid[32], password[32], passfield[32], username[32]
    
    
get_user_ip(iduserip311)
    
get_user_authid(iduserauthid31)
    
    if (
name[0])
    {
        
copy(username31name)
    }
    else
    {
        
get_user_name(idusername31)
    }
    
    
get_pcvar_string(amx_password_fieldpassfield31)
    
get_user_info(idpassfieldpassword31)
    
    new 
result getAccess(idusernameuserauthiduserippassword)
    
    if (
result 1)
    {
        
client_cmd(id"echo ^"* %L^""id"INV_PAS")
    }
    
    if (
result 2)
    {
        
client_cmd(id"%s"g_cmdLoopback)
        return 
PLUGIN_HANDLED
    
}
    
    if (
result 4)
    {
        
client_cmd(id"echo ^"* %L^""id"PAS_ACC")
    }
    
    if (
result 8)
    {
        
client_cmd(id"echo ^"* %L^""id"PRIV_SET")
    }
    
    return 
PLUGIN_CONTINUE
}

public 
client_infochanged(id)
{
    if (!
is_user_connected(id) || !get_pcvar_num(amx_mode))
    {
        return 
PLUGIN_CONTINUE
    
}

    new 
newname[32], oldname[32]
    
    
get_user_name(idoldname31)
    
get_user_info(id"name"newname31)

    if (
g_CaseSensitiveName[id])
    {
        if (!
equal(newnameoldname))
        {
            
accessUser(idnewname)
        }
    }
    else
    {
        if (!
equali(newnameoldname))
        {
            
accessUser(idnewname)
        }
    }
    return 
PLUGIN_CONTINUE
}

public 
ackSignal(id)
{
    
server_cmd("kick #%d ^"%L^""get_user_userid(id), id"NO_ENTRY")
    return 
PLUGIN_HANDLED
}

public 
client_authorized(id)
    return 
get_pcvar_num(amx_mode) ? accessUser(id) : PLUGIN_CONTINUE

public client_putinserver(id)
{
    if (!
is_dedicated_server() && id == 1)
        return 
get_pcvar_num(amx_mode) ? accessUser(id) : PLUGIN_CONTINUE
    
    
return PLUGIN_CONTINUE

This is how the admin is currently stored
user.ini:
Code:
"AlferD" "1234" "asdefgsd" "a" ; "Pay 100euro" -- Time: "2020/25/5 | 20:20 AM"

Last edited by alferd; 05-28-2020 at 09:11.
alferd is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-25-2020 , 13:26   Re: [HELP] Admin Stats
Reply With Quote #2

So, what is your question?
__________________
fysiks is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-25-2020 , 14:02   Re: [HELP] Admin Stats
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
So, what is your question?
I want a plugin that shows the list of admins
alferd is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-25-2020 , 14:08   Re: [HELP] Admin Stats
Reply With Quote #4

Admin is stored like this, I also want it to be displayed in the console
Code:
"AlferD" "1234" "asdefgsd" "a" ; "Pay 100euro" -- Time: "2020/25/5 | 20:20 AM"
alferd is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-25-2020 , 14:32   Re: [HELP] Admin Stats
Reply With Quote #5

Why did you post your custom plugin if you are asking for a different plugin? You really need to explain your requests better.

Also, don't double post, edit your post to add the additional information.
__________________

Last edited by fysiks; 05-25-2020 at 14:33.
fysiks is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-25-2020 , 14:40   Re: [HELP] Admin Stats
Reply With Quote #6

Quote:
Originally Posted by fysiks View Post
Why did you post your custom plugin if you are asking for a different plugin?
I thought it might be necessary

Quote:
Originally Posted by fysiks View Post
Also, don't double post, edit your post to add the additional information.
ok
alferd is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-26-2020 , 00:05   Re: [HELP] Admin Stats
Reply With Quote #7

So, what are the "stats" to which you are referring?

Also, it would be much easier if you formatted it like proper structured data like this:

Code:
"AlferD" "1234" "asdefgsd" "a" "Pay 100euro" "2020/25/5 | 20:20 AM"
__________________
fysiks is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-26-2020 , 04:43   Re: [HELP] Admin Stats
Reply With Quote #8

Quote:
Originally Posted by fysiks View Post
So, what are the "stats" to which you are referring?
"amx_stats" shows a list of admins stored in the "users.ini" file

Quote:
Originally Posted by fysiks View Post
Also, it would be much easier if you formatted it like proper structured data like this:

Code:
"AlferD" "1234" "asdefgsd" "a" "Pay 100euro" "2020/25/5 | 20:20 AM"
That's a good idea, ok
alferd is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-26-2020 , 23:09   Re: [HELP] Admin Stats
Reply With Quote #9

So, what are the statistics that the command refers to? You have something in your example output that cannot be derived from your example users.ini.
__________________
fysiks is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 05-27-2020 , 02:51   Re: [HELP] Admin Stats
Reply With Quote #10

Quote:
Originally Posted by fysiks View Post
So, what are the statistics that the command refers to? You have something in your example output that cannot be derived from your example users.ini.
I'm sorry, I didn't understand what you meant
alferd is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode