ADMIN PREFIX + VENCIMIENTO
#1
Hola buenas.

Vengo hacer un pedido de un plugin, bueno, en realidad son 2, que de por si, no son compatibles, uno del otro.

ADMIN PREFIXES:

Este plugin como todos ya sabemos, su funcion es decir el tipo de admin que obtiene una persona, es decir, que si juan compro admin
tipo co-owner, en su nombre diga "[CO-OWNER] Juanito"

Este plugin pide que el users.ini llebe lo siguiente: ["nombre" "contraseña" "abcdefghijklmnopqrstu" "a" "PREFIX"]


ADMIN VENCIMIENTO:

Este plugin, añade el vencimiento para el admin, no se necesita una explicacion

Este plugin pide que el users.ini llebe lo siguiente: ["nombre" "contraseña" "abcdefghijklmnopqrstu" "a" "FECHA DE VENCIMIENTO"]



QUE PASA?:

Los dos plugins, al pedir esas cosas en users.ini, hace que se bugee, tanto el vencimiento, como el admin prefix

Yo al intentar colocar los dos plugins, coloque en el users.ini:

"nombre" "contraseña" "abcdefghijklmnopqrstu" "a" "PREFIX" "VENCIMIENTO"

y no funciono, lo cual tambien intente viceversa. y aun seguia sin funcionar.


Si pueden porfavor, hacerme un plugin, ADMIN VENCIMIENTO + ADMIN PREFIXES
se los agradeceria mucho.
Saludos
Responder
#2
Probá  Proud


Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <unixtime>

#define VERSION    "1.7"
#define MAX_PREFIXES 10

// Admin Prefix One
#define FLAGADMINONE ADMIN_RCON
#define PREFIXADMINONE "FoundeR/Owner"

// Admin Prefix Two
#define FLAGADMINTWO ADMIN_LEVEL_B
#define PREFIXADMINTWO ".::Head Admin::."

// Admin Prefix Three
#define FLAGADMINTHREE ADMIN_LEVEL_C
#define PREFIXADMINTHREE ".::Full Admin::."

// Admin Prefix Four
#define FLAGADMINFOUR ADMIN_LEVEL_D
#define PREFIXADMINFOUR ".::Lite Admin::."

// JuniorAdmin Prefix
#define FLAGADMINSMS ADMIN_LEVEL_E
#define PREFIXADMINSMS ".::ADMIN::."

// VIP Prefix
#define FLAGADMINVIP ADMIN_LEVEL_H
#define PREFIXADMINVIP ".::V.I.P::."

new AdminPrefixOneAdminPrefixTwo,AdminPrefixThree,AdminPrefixFourSmsPrefix ,VIPPrefix
new 
SzMaxPlayersSzSayText;
new 
Trie:g_tVencimiento

new SzGTeam[3][] = {
    "Spectator",
    "Terrorist",
    "Counter-Terrorist"
}

public 
plugin_init()
{
    register_plugin("Admin Prefix And Chat Color,Vencimiento de admins"VERSION"DON KHAN,alan_el_more");
    
    
// Cvars Plugins
    AdminPrefixOne register_cvar("show_admin_prefix_one""1");
    AdminPrefixTwo register_cvar("show_admin_prefix_two""1");
    AdminPrefixThree register_cvar("show_admin_prefix_three""1");
    AdminPrefixFour register_cvar("show_admin_prefix_four""1");
    SmsPrefix      register_cvar("show_sms_admin_prefix""1");
    VIPPrefix      register_cvar("show_VIP_admin_prefix""1");
    
    register_cvar
("admin_prefix_version",    VERSIONFCVAR_SERVER|FCVAR_SPONLY);
    set_cvar_string("admin_prefix_version",    VERSION);
    register_clcmd("say""hook_say");
    register_clcmd("say_team""hook_say_team");
    
    SzSayText 
get_user_msgid ("SayText");
    SzMaxPlayers get_maxplayers();
    
    register_message
(SzSayText"MsgDuplicate");
    
    g_tVencimiento 
TrieCreate()
 
 
CheckAdmins()
 
 
register_clcmd("say /vencimiento""ClcmdVencimiento")
}

public 
MsgDuplicate(id){ return PLUGIN_HANDLED; }

public 
hook_say(id)
{
    new SzMessages[192], SzName[32];
    new SzAlive is_user_alive(id);
    new SzGetFlag get_user_flags(id);
    
    read_args
(SzMessages191);
    remove_quotes(SzMessages);
    get_user_name(idSzName31);
    
    
if(!is_valid_msg(SzMessages))
        return PLUGIN_CONTINUE;
    
    
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag FLAGADMINONE)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINONESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINONESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag FLAGADMINTWO)(SzAlive format(SzMessages191"^4[%s]^3%s : ^4%s"PREFIXADMINTWOSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINTWOSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && SzGetFlag FLAGADMINTHREE)(SzAlive format(SzMessages191"^4%s ^3%s : ^4%s"PREFIXADMINTHREESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4%s ^3%s : ^4%s"PREFIXADMINTHREESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixFour) && SzGetFlag FLAGADMINFOUR)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINFOURSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINFOURSzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && SzGetFlag FLAGADMINSMS)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINSMSSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && SzGetFlag FLAGADMINVIP)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINVIPSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINVIPSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag FLAGADMINONE))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag FLAGADMINTWO))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && !(SzGetFlag FLAGADMINTHREE))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixFour) && !(SzGetFlag FLAGADMINFOUR))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag FLAGADMINSMS))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag FLAGADMINVIP))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));

    for(new 1<= SzMaxPlayersi++)
        {
            if(!is_user_connected(i))
                continue;
        
            
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
                {
                    message_begin(MSG_ONEget_user_msgid("SayText"), {000}, i);
                    write_byte(id);
                    write_string(SzMessages);
                    message_end();
                }
        }

    return PLUGIN_CONTINUE;
}

public 
hook_say_team(id){
    new SzMessages[192], SzName[32];
    new SzAlive is_user_alive(id);
    new SzGetFlag get_user_flags(id);
    new SzGetTeam get_user_team(id);

    read_args(SzMessages191);
    remove_quotes(SzMessages);
    get_user_name(idSzName31);
    
    
if(!is_valid_msg(SzMessages))
        return PLUGIN_CONTINUE;
    
    
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag FLAGADMINONE)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINONESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINONESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag FLAGADMINTWO)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTWOSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTWOSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && SzGetFlag FLAGADMINTHREE)(SzAlive format(SzMessages191"^1(%s) ^4%s ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTHREESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4%s ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTHREESzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && SzGetFlag FLAGADMINSMS)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && SzGetFlag FLAGADMINVIP)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINVIPSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag FLAGADMINONE))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag FLAGADMINTWO))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && !(SzGetFlag FLAGADMINTHREE))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag FLAGADMINSMS))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));    
    
else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag FLAGADMINVIP))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));    
    
    
for(new 1<= SzMaxPlayersi++)
        {
            if(!is_user_connected(i))
                continue;
            
            
if(get_user_team(i) != SzGetTeam)
                continue;
            
            
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
                {
                    message_begin(MSG_ONEget_user_msgid("SayText"), {000}, i);
                    write_byte(id);
                    write_string(SzMessages);
                    message_end();
                }
        }

    return PLUGIN_CONTINUE;
}


bool:is_valid_msg(const SzMessages[]){
    if( SzMessages[0] == '@'
    || !strlen(SzMessages)){ return false; }
    return true;
}
  

public ClcmdVencimiento(idlevelcid)
{
 if(!
is_user_admin(id))
 return 
PLUGIN_HANDLED
 
 
new szAuth[32], szExp[12]
 
get_user_authid(idszAuthcharsmax(szAuth))
 
 if(!
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp)))
 {
 
get_user_name(idszAuthcharsmax(szAuth))
 
 if(!
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp)))
 {
 
get_user_ip(idszAuthcharsmax(szAuth), 1)
 
 
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp))
 }
 }
 
 if(
szExp[0])
 
ChatColor(id"^4[Admin]^1 Tu admin vence el^3 %s"szExp)
 else
 
ChatColor(id"^4[Admin]^1 Tu admin no tiene un vencimiento determinado")
 
 return 
PLUGIN_HANDLED
}

CheckAdmins()
{
 new 
szFile[64], szData[160], szAuth[44], szPw[32], szAccess[32], szFlags[32], szDate[12]
 new 
iLinebAdmRemoved
 
 get_configsdir
(szFilecharsmax(szFile))
 
add(szFilecharsmax(szFile), "/users.ini")
 
 new 
file fopen(szFile"rt")
 
 while(!
feof(file))
 {
 
fgets(fileszDatacharsmax(szData))
 
 
trim(szData)
 
 
iLine++
 
 if(!
szData[0] || szData[0] == ';')
 continue
 
 
parse(szDataszAuthcharsmax(szAuth), szPwcharsmax(szPw), szAccesscharsmax(szAccess), szFlagscharsmax(szFlags), szDatecharsmax(szDate))
 
 if(!
szDate[0])
 continue
 
 
replace_all(szDatecharsmax(szDate), "/"" ")
 
 new 
szDay[3], szMonth[3], szYear[5]
 
parse(szDateszDaycharsmax(szDay), szMonthcharsmax(szMonth), szYearcharsmax(szYear))
 
 if(
get_systime() >= TimeToUnix(str_to_num(szYear), str_to_num(szMonth), str_to_num(szDay), 000UT_TIMEZONE_SERVER))
 {
 
formatex(szDatacharsmax(szData), ";ADMIN VENCIDO - ^"%s^" en la fecha %s/%s/%s"szAuthszDayszMonthszYear)
 
write_file(szFileszDataiLine 1)
 
 
bAdmRemoved true
 
}
 else
 { 
 
replace_all(szDatecharsmax(szDate), " ""/")
 
 
TrieSetString(g_tVencimientoszAuthszDate)
 }
 }
 
 if(
bAdmRemoved)
 {
 
server_cmd("amx_reloadadmins")
 
server_exec()
 }
 
 
fclose(file)
}

stock ChatColor(id, const input[], any:...)
{
 static 
szMsg[191], msgSayText
 
 
if(!msgSayText)
 
msgSayText get_user_msgid("SayText")
 
 
vformat(szMsg190input3)
 
 
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id)
 
write_byte(id id 33)
 
write_string(szMsg)
 
message_end()


Plugin fusionado, qué probé y funciona... los  saqué de acá..

https://amxmodx-es.com/showthread.php?tid=4148
https://forums.alliedmods.net/showthread.php?t=316615


Archivos adjuntos
.inc   unixtime.inc (Tamaño: 4.59 KB / Descargas: 3)
(13/05/2017, 02:11 PM)DiCHANHO escribió: off: pobre este ya quedo traumado con lo del autor y robo de plugins
(26/07/2020, 08:32 PM)Hinami escribió: & si soy un gordo cagon, virgen, con posters de anime en todas partes
✅✅Aportes✅✅
Datear Automáticamente CincoYA
Efecto Trueno y Rayo

Responder
#3
Ta mejor este
https://amxmodx-es.com/showthread.php?tid=20942
"Cada golpe es una lección, y cada lección te hace mejor."

[Imagen: b_350_20_000000_8a7300_ffffff_eeff00.png]
[Imagen: 76561198371193937.png]
Responder
#4
(18/11/2021, 08:43 PM)rojedafeik escribió: Ta mejor este
https://amxmodx-es.com/showthread.php?tid=20942

Bien, me gusta el plugin, es acorde a lo que quiero, lo instale, pero al entrar, no me da admin.
Desactive el plugin en plugins.ini, y ahora si me da admin.
Me podrias decir el por que?


Tambien explicame su uso correcto


1) Añado los admins, tanto en en users.ini y adminmanager.ini? o solo en el adminmaganer.ini

2) Añadi en solo adminmaganer.ini ""MINOMBRE" "MICONTRASEÑA" "[DUEÑO]" "PERMANENTE" "" ""

añadi eso, no se si esta bien, por que en la consola me tira "no se cargaron admins" o algo asi me tiro.

(18/11/2021, 07:46 PM)Nacalau escribió: Probá  Proud


Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <unixtime>

#define VERSION    "1.7"
#define MAX_PREFIXES 10

// Admin Prefix One
#define FLAGADMINONE ADMIN_RCON
#define PREFIXADMINONE "FoundeR/Owner"

// Admin Prefix Two
#define FLAGADMINTWO ADMIN_LEVEL_B
#define PREFIXADMINTWO ".::Head Admin::."

// Admin Prefix Three
#define FLAGADMINTHREE ADMIN_LEVEL_C
#define PREFIXADMINTHREE ".::Full Admin::."

// Admin Prefix Four
#define FLAGADMINFOUR ADMIN_LEVEL_D
#define PREFIXADMINFOUR ".::Lite Admin::."

// JuniorAdmin Prefix
#define FLAGADMINSMS ADMIN_LEVEL_E
#define PREFIXADMINSMS ".::ADMIN::."

// VIP Prefix
#define FLAGADMINVIP ADMIN_LEVEL_H
#define PREFIXADMINVIP ".::V.I.P::."

new AdminPrefixOneAdminPrefixTwo,AdminPrefixThree,AdminPrefixFourSmsPrefix ,VIPPrefix
new 
SzMaxPlayersSzSayText;
new 
Trie:g_tVencimiento

new SzGTeam[3][] = {
    "Spectator",
    "Terrorist",
    "Counter-Terrorist"
}

public 
plugin_init()
{
    register_plugin("Admin Prefix And Chat Color,Vencimiento de admins"VERSION"DON KHAN,alan_el_more");
    
    
// Cvars Plugins
    AdminPrefixOne register_cvar("show_admin_prefix_one""1");
    AdminPrefixTwo register_cvar("show_admin_prefix_two""1");
    AdminPrefixThree register_cvar("show_admin_prefix_three""1");
    AdminPrefixFour register_cvar("show_admin_prefix_four""1");
    SmsPrefix      register_cvar("show_sms_admin_prefix""1");
    VIPPrefix      register_cvar("show_VIP_admin_prefix""1");
    
    register_cvar
("admin_prefix_version",    VERSIONFCVAR_SERVER|FCVAR_SPONLY);
    set_cvar_string("admin_prefix_version",    VERSION);
    register_clcmd("say""hook_say");
    register_clcmd("say_team""hook_say_team");
    
    SzSayText 
get_user_msgid ("SayText");
    SzMaxPlayers get_maxplayers();
    
    register_message
(SzSayText"MsgDuplicate");
    
    g_tVencimiento 
TrieCreate()
 
 
CheckAdmins()
 
 
register_clcmd("say /vencimiento""ClcmdVencimiento")
}

public 
MsgDuplicate(id){ return PLUGIN_HANDLED; }

public 
hook_say(id)
{
    new SzMessages[192], SzName[32];
    new SzAlive is_user_alive(id);
    new SzGetFlag get_user_flags(id);
    
    read_args
(SzMessages191);
    remove_quotes(SzMessages);
    get_user_name(idSzName31);
    
    
if(!is_valid_msg(SzMessages))
        return PLUGIN_CONTINUE;
    
    
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag FLAGADMINONE)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINONESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINONESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag FLAGADMINTWO)(SzAlive format(SzMessages191"^4[%s]^3%s : ^4%s"PREFIXADMINTWOSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINTWOSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && SzGetFlag FLAGADMINTHREE)(SzAlive format(SzMessages191"^4%s ^3%s : ^4%s"PREFIXADMINTHREESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4%s ^3%s : ^4%s"PREFIXADMINTHREESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixFour) && SzGetFlag FLAGADMINFOUR)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINFOURSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINFOURSzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && SzGetFlag FLAGADMINSMS)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINSMSSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && SzGetFlag FLAGADMINVIP)(SzAlive format(SzMessages191"^4[%s] ^3%s : ^4%s"PREFIXADMINVIPSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^4[%s] ^3%s : ^4%s"PREFIXADMINVIPSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag FLAGADMINONE))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag FLAGADMINTWO))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && !(SzGetFlag FLAGADMINTHREE))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixFour) && !(SzGetFlag FLAGADMINFOUR))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag FLAGADMINSMS))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag FLAGADMINVIP))(SzAlive format(SzMessages191"^3%s : ^1%s"SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^3%s : ^1%s"SzNameSzMessages));

    for(new 1<= SzMaxPlayersi++)
        {
            if(!is_user_connected(i))
                continue;
        
            
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
                {
                    message_begin(MSG_ONEget_user_msgid("SayText"), {000}, i);
                    write_byte(id);
                    write_string(SzMessages);
                    message_end();
                }
        }

    return PLUGIN_CONTINUE;
}

public 
hook_say_team(id){
    new SzMessages[192], SzName[32];
    new SzAlive is_user_alive(id);
    new SzGetFlag get_user_flags(id);
    new SzGetTeam get_user_team(id);

    read_args(SzMessages191);
    remove_quotes(SzMessages);
    get_user_name(idSzName31);
    
    
if(!is_valid_msg(SzMessages))
        return PLUGIN_CONTINUE;
    
    
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag FLAGADMINONE)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINONESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINONESzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag FLAGADMINTWO)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTWOSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTWOSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && SzGetFlag FLAGADMINTHREE)(SzAlive format(SzMessages191"^1(%s) ^4%s ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTHREESzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4%s ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINTHREESzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && SzGetFlag FLAGADMINSMS)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(VIPPrefix) && SzGetFlag FLAGADMINVIP)(SzAlive format(SzMessages191"^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINVIPSzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s"SzGTeam[SzGetTeam], PREFIXADMINSMSSzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag FLAGADMINONE))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag FLAGADMINTWO))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(AdminPrefixThree) && !(SzGetFlag FLAGADMINTHREE))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));
    else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag FLAGADMINSMS))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));    
    
else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag FLAGADMINVIP))(SzAlive format(SzMessages191"^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages) : format(SzMessages191"^1*DEAD* ^1(%s) ^3%s : ^1%s"SzGTeam[SzGetTeam], SzNameSzMessages));    
    
    
for(new 1<= SzMaxPlayersi++)
        {
            if(!is_user_connected(i))
                continue;
            
            
if(get_user_team(i) != SzGetTeam)
                continue;
            
            
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
                {
                    message_begin(MSG_ONEget_user_msgid("SayText"), {000}, i);
                    write_byte(id);
                    write_string(SzMessages);
                    message_end();
                }
        }

    return PLUGIN_CONTINUE;
}


bool:is_valid_msg(const SzMessages[]){
    if( SzMessages[0] == '@'
    || !strlen(SzMessages)){ return false; }
    return true;
}
  

public ClcmdVencimiento(idlevelcid)
{
 if(!
is_user_admin(id))
 return 
PLUGIN_HANDLED
 
 
new szAuth[32], szExp[12]
 
get_user_authid(idszAuthcharsmax(szAuth))
 
 if(!
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp)))
 {
 
get_user_name(idszAuthcharsmax(szAuth))
 
 if(!
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp)))
 {
 
get_user_ip(idszAuthcharsmax(szAuth), 1)
 
 
TrieGetString(g_tVencimientoszAuthszExpcharsmax(szExp))
 }
 }
 
 if(
szExp[0])
 
ChatColor(id"^4[Admin]^1 Tu admin vence el^3 %s"szExp)
 else
 
ChatColor(id"^4[Admin]^1 Tu admin no tiene un vencimiento determinado")
 
 return 
PLUGIN_HANDLED
}

CheckAdmins()
{
 new 
szFile[64], szData[160], szAuth[44], szPw[32], szAccess[32], szFlags[32], szDate[12]
 new 
iLinebAdmRemoved
 
 get_configsdir
(szFilecharsmax(szFile))
 
add(szFilecharsmax(szFile), "/users.ini")
 
 new 
file fopen(szFile"rt")
 
 while(!
feof(file))
 {
 
fgets(fileszDatacharsmax(szData))
 
 
trim(szData)
 
 
iLine++
 
 if(!
szData[0] || szData[0] == ';')
 continue
 
 
parse(szDataszAuthcharsmax(szAuth), szPwcharsmax(szPw), szAccesscharsmax(szAccess), szFlagscharsmax(szFlags), szDatecharsmax(szDate))
 
 if(!
szDate[0])
 continue
 
 
replace_all(szDatecharsmax(szDate), "/"" ")
 
 new 
szDay[3], szMonth[3], szYear[5]
 
parse(szDateszDaycharsmax(szDay), szMonthcharsmax(szMonth), szYearcharsmax(szYear))
 
 if(
get_systime() >= TimeToUnix(str_to_num(szYear), str_to_num(szMonth), str_to_num(szDay), 000UT_TIMEZONE_SERVER))
 {
 
formatex(szDatacharsmax(szData), ";ADMIN VENCIDO - ^"%s^" en la fecha %s/%s/%s"szAuthszDayszMonthszYear)
 
write_file(szFileszDataiLine 1)
 
 
bAdmRemoved true
 
}
 else
 { 
 
replace_all(szDatecharsmax(szDate), " ""/")
 
 
TrieSetString(g_tVencimientoszAuthszDate)
 }
 }
 
 if(
bAdmRemoved)
 {
 
server_cmd("amx_reloadadmins")
 
server_exec()
 }
 
 
fclose(file)
}

stock ChatColor(id, const input[], any:...)
{
 static 
szMsg[191], msgSayText
 
 
if(!msgSayText)
 
msgSayText get_user_msgid("SayText")
 
 
vformat(szMsg190input3)
 
 
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id)
 
write_byte(id id 33)
 
write_string(szMsg)
 
message_end()


Plugin fusionado, qué probé y funciona... los  saqué de acá..

https://amxmodx-es.com/showthread.php?tid=4148
https://forums.alliedmods.net/showthread.php?t=316615

Bro, es muy bueno pero no cumple con lo que pido, lo que quiero es tipo admini manager, es decir, que lo que se pone en users.ini sea el prefix, vencimiento, ect ect, pero que es en otro .ini aparte, es decir, el plugin ya lo tengo, es ADMIN MANAGER, pero este no funciona, no se que hago mal, que no me da admin al añadirlo en su .ini, no se como funciona realmente, entonces quiero un admin manager, pero que funcione para mi, no se si me entiende Cutecry
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)