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

[Req] Small edit in a plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
sigerman
Senior Member
Join Date: Aug 2013
Location: Argentina, Bs.As.
Old 09-27-2016 , 12:51   [Req] Small edit in a plugin
Reply With Quote #1

This plugin handles admin activity/expired date

What I want the plugin to do

I want to display this text automatically everytime an admin connects to the server
e.g. an admin connects to the server and after a few seconds the php text is shown automatically once

PHP Code:
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[i][szvencimiento]) 
Translation: e.g. Your admin expires: 18/10/2016

Picture:

Thanks!
Attached Files
File Type: sma Get Plugin or Get Source (vencimientos4.sma - 515 views - 5.6 KB)

Last edited by sigerman; 09-27-2016 at 12:55.
sigerman is offline
Airkish
AlliedModders Donor
Join Date: Apr 2016
Location: Lithuania
Old 09-27-2016 , 15:31   Re: [Req] Small edit in a plugin
Reply With Quote #2

try this

PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}
public 
client_putinserver(id
{
    if (
is_user_admin(id))
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[id][szvencimiento])    
}
public 
plugin_cfg()
{
    
server_cmd("amx_pausecfg add ^"Admin Vencimiento^"")
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

__________________

Last edited by Airkish; 09-27-2016 at 15:37.
Airkish is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 09-27-2016 , 15:31   Re: [Req] Small edit in a plugin
Reply With Quote #3

Add this in the code:

PHP Code:
public client_putinserver(id)
    
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[id][szvencimiento]) 
__________________

Last edited by OciXCrom; 09-27-2016 at 15:32.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
wickedd
Veteran Member
Join Date: Nov 2009
Old 09-27-2016 , 15:48   Re: [Req] Small edit in a plugin
Reply With Quote #4

The player joining will not be able to see.
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 09-27-2016 , 16:40   Re: [Req] Small edit in a plugin
Reply With Quote #5

PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}

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

public 
client_putinserver(id) {
    
set_task(10.0"ShowMessage"id)
}

public 
ShowMessage(id) {
    if(
is_user_connected(id)) {
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[i][szvencimiento])
    }
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
sigerman
Senior Member
Join Date: Aug 2013
Location: Argentina, Bs.As.
Old 09-27-2016 , 20:12   Re: [Req] Small edit in a plugin
Reply With Quote #6

Quote:
Originally Posted by Airkish View Post
try this

PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}
public 
client_putinserver(id
{
    if (
is_user_admin(id))
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[id][szvencimiento])    
}
public 
plugin_cfg()
{
    
server_cmd("amx_pausecfg add ^"Admin Vencimiento^"")
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

I tested It and doesn't show the message!
sigerman is offline
sigerman
Senior Member
Join Date: Aug 2013
Location: Argentina, Bs.As.
Old 09-27-2016 , 20:15   Re: [Req] Small edit in a plugin
Reply With Quote #7

Quote:
Originally Posted by Napoleon_be View Post
PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}

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

public 
client_putinserver(id) {
    
set_task(10.0"ShowMessage"id)
}

public 
ShowMessage(id) {
    if(
is_user_connected(id)) {
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[i][szvencimiento])
    }
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

Won't compile, at least for 1.8.2

sigerman is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 09-28-2016 , 03:52   Re: [Req] Small edit in a plugin
Reply With Quote #8

PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}

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

public 
client_putinserver(id) {
    
set_task(10.0"ShowMessage"id)
}

public 
ShowMessage(id) {
    if(
is_user_connected(id)) {
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[id][szvencimiento])
    }
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
sigerman
Senior Member
Join Date: Aug 2013
Location: Argentina, Bs.As.
Old 09-28-2016 , 12:38   Re: [Req] Small edit in a plugin
Reply With Quote #9

Quote:
Originally Posted by Napoleon_be View Post
PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}

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

public 
client_putinserver(id) {
    
set_task(10.0"ShowMessage"id)
}

public 
ShowMessage(id) {
    if(
is_user_connected(id)) {
        
ChatColor(id"[AMXX] Tu administrador vence el dia: %s"AdminData[id][szvencimiento])
    }
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

It works, but It doesn't display the date

and It should be like this:


*The date is variable, not fixed

Last edited by sigerman; 09-28-2016 at 12:44. Reason: clarifying
sigerman is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 09-28-2016 , 16:05   Re: [Req] Small edit in a plugin
Reply With Quote #10

Lol why was i making it harder for myself while it could be done so easy, should work properly now

PHP Code:
#include <amxmodx>
#include <amxmisc>

enum data
{
    
szadmin[40],
    
iaccess,
    
szvencimiento[12]
}
new 
g_iSayText
new AdminData[32][data]

public 
plugin_init()
{
    
register_plugin("Admin Vencimiento""0.2""N!K")

    
register_clcmd("say /vencimiento""cmdVencimiento")
    
g_iSayText get_user_msgid("SayText")
    
CargarVencimientos()
}

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

public 
client_putinserver(id) {
    
set_task(10.0"cmdVencimiento"id)
}

public 
cmdVencimiento(id)
{
    if (!
is_user_admin(id))
        return 
PLUGIN_CONTINUE

    
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(idauth31)
            case 
2get_user_authid(idauth31)
            case 
3get_user_ip(idauth311)
        }

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

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[256], 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], 39szLinecharsmax(szLine), szLinecharsmax(szLine), auxaccess5AdminData[contador][szvencimiento], 11) < 5)
            continue

        
remove_quotes(AdminData[contador][szadmin])
        
remove_quotes(auxaccess)
        
remove_quotes(AdminData[contador][szvencimiento])
        
copy(szaux11AdminData[contador][szvencimiento])
        
replace_all(szaux11"/"" ")
        
parse(szauxszdia4szmes4szanio4)
        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[32], dummy2[32], dummy3[32], dummy4[32]
    
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(szLinedummy131dummy231dummy331dummy431auxvenc11) > 4)
        {
            
copy(szaux11auxvenc)
            
replace_all(szaux11"/"" ")
            
parse(szauxszdia4szmes4szanio4)
            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();
            }
        }
    }

__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Reply



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 10:07.


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