View Single Post
Hey
Member
Join Date: Dec 2017
Old 01-25-2018 , 15:20   Re: [req] help with plugin (admin expire date)
Reply With Quote #20

there now it works after adding bigger number, i'll go cry in the corner, take your plugin:
PHP Code:
#include <amxmodx>
#include <amxmisc>

enum _:data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[100][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")
    
    
register_clcmd("say /veno""cmdVencimiento")
    
//register_clcmd("say /call", "CargarVencimientos");
    
g_iSayText get_user_msgid("SayText")
    
set_task(10.0"CargarVencimientos");
}

/*public plugin_cfg()
{
    server_cmd("amx_pausecfg add ^"Admin Vencimiento^"")
}*/

public cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_HANDLED;
    if(!(
<= id <= get_maxplayers()))
        return 
PLUGIN_HANDLED;
    
    new 
auth[32]
    for(new 
0admins_num(); i++)
    {
        
console_print(id"%s - %d - %s"AdminData[i][szadmin], AdminData[i][iaccess], AdminData[i][szvencimiento])
        
        switch(
AdminData[i][iaccess])
        {
            case 
1get_user_name(idauthcharsmax(auth))
            case 
2get_user_authid(idauthcharsmax(auth))
            case 
3get_user_ip(idauthcharsmax(auth), 1)
        }

        if(
containi(AdminData[i][szadmin], auth) != -1)
        {
            if(
AdminData[i][szvencimiento][0])
                
ChatColor(id"!g[AMXX] !yTu administrador vence el dia: !g%s"AdminData[i][szvencimiento])
            break
        }    
    }
    return 
PLUGIN_HANDLED
}

public 
CargarVencimientos()
{
    new 
szFile[64]
    
get_localinfo("amxx_configsdir"szFilecharsmax(szFile))
    
formatex(szFilecharsmax(szFile), "%s/users.ini"szFile)

    new 
file fopen(szFile"rt")
    if(!
file)
    {
        
log_amx("no se si alguna vez se ejecutara esta linea pero es por seguridad (?")
        return 
PLUGIN_HANDLED
    
}

    new 
auxaccess[6], szLine[512], contador 0bool:adminsvencidos false
    
new szaux[12], szdia[5], szmes[5], szanio[5], diamesanio
    get_time
("%d"szdiacharsmax(szdia))
    
dia str_to_num(szdia)
    
get_time("%m"szmescharsmax(szmes))
    
mes str_to_num(szmes)
    
get_time("%Y"szaniocharsmax(szanio))
    
anio str_to_num(szanio)

    while(!
feof(file))
    {
        
fgets(fileszLinecharsmax(szLine))
        
trim(szLine)

        if (!
szLine[0] || szLine[0] == ';')
            continue

        if(
parse(szLineAdminData[contador][szadmin], charsmax(AdminData[][szadmin]), szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccesscharsmax(auxaccess), AdminData[contador][szvencimiento], charsmax(AdminData[][szvencimiento])) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szauxcharsmax(szaux), AdminData[contador][szvencimiento])
        
replace_all(szauxcharsmax(szaux), "/"" ")
        
parse(szauxszdiacharsmax(szdia), szmescharsmax(szmes), szaniocharsmax(szanio))
        if(
str_to_num(szanio) <= anio && str_to_num(szmes) <= mes && str_to_num(szdia) <= dia)
        {
            
adminsvencidos true
            log_amx
("1 admin vencido detected (?")
            continue
        }
        
//-------------------------- esta parte de aca no anda D: --------------------------
        
if(containi(auxaccess"b") != -1)    // b: admin por tag
            
AdminData[contador][iaccess] = 1
        
if(containi(auxaccess"c") != -1)    // c: admin por steam
            
AdminData[contador][iaccess] = 2
        
if(containi(auxaccess"d") != -1)    // d: admin por ip
            
AdminData[contador][iaccess] = 3
        
//----------------------------------------------------------------------------------
        
contador++
    }

    if(!
adminsvencidos)
    {
        
fclose(file)
        return 
PLUGIN_HANDLED
    
}

    
fseek(file0SEEK_SET)
    new 
szFile2[64], auxvenc[12], dummy1[33], dummy2[33], dummy3[33], dummy4[33]
    
formatex(szFile2charsmax(szFile2), "%s2"szFile)
    new 
file2 fopen(szFile2"wt")
    if(!
file2)
    {
        
log_amx("no se si alguna vez se ejecutara esta linea pero es por seguridad (?")
        return 
PLUGIN_HANDLED
    
}

    while(!
feof(file))
    {
        
fgets(fileszLinecharsmax(szLine))
        
trim(szLine)

        if(
szLine[0] && szLine[0] != ';' && parse(szLinedummy1charsmax(dummy1), dummy2charsmax(dummy2), dummy3charsmax(dummy3), dummy4charsmax(dummy4), auxvenccharsmax(auxvenc)) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdiacharsmax(szdia), szmescharsmax(szmes), szaniocharsmax(szanio))
            if(
str_to_num(szanio) <= anio && str_to_num(szmes) <= mes && str_to_num(szdia) <= dia)
            {
                
formatex(szLinecharsmax(szLine), ";^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" -- ADMINISTRADOR VENCIDO --"dummy1dummy2dummy3dummy4auxvenc)
            }
        }
        
formatex(szLinecharsmax(szLine), "%s^n"szLine)
        
fputs(file2szLine)
    }

    
fclose(file)
    
fclose(file2)
    
delete_file(szFile)
    
rename_file(szFile2szFile1)
    
server_cmd("amx_reloadadmins")
    
log_amx("Admins deshabilitados con exito e.e (?")
    return 
PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32];
    static 
msg[191];
    
vformat(msg190input3);
 
    
replace_all(msg190"!g""^4"); // Green Color
    
replace_all(msg190"!y""^1"); // Default Color
    
replace_all(msg190"!team""^3"); // Team Color
    
replace_all(msg190"!team2""^0"); // Team2 Color
 
    
new iPlayer;
     
    if (
idplayers[0] = id; else get_players(playerscount"ch");
    {
        for (new 
0counti++)
        {
            
iPlayer players[i];
            if (
is_user_connected(iPlayer))
            {
                
message_begin(MSG_ONE_UNRELIABLEg_iSayText_iPlayer);
                
write_byte(iPlayer);
                
write_string(msg);
                
message_end();
            }
        }
    }

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2058\\ f0\\ fs16 \n\\ par }
*/ 
Hey is offline