Mensajes: 9
Temas: 5
Registro en: Jul 2020
Reputación:
0
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
Mensajes: 138
Temas: 39
Registro en: Jul 2020
Reputación:
1
Probá
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 AdminPrefixOne , AdminPrefixTwo , AdminPrefixThree , AdminPrefixFour , SmsPrefix , VIPPrefix ; new SzMaxPlayers , SzSayText ; 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" , VERSION , FCVAR_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 ( SzMessages , 191 ); remove_quotes ( SzMessages ); get_user_name ( id , SzName , 31 ); if(! is_valid_msg ( SzMessages )) return PLUGIN_CONTINUE ; if( get_pcvar_num ( AdminPrefixOne ) && SzGetFlag & FLAGADMINONE )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINONE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINONE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && SzGetFlag & FLAGADMINTWO )( SzAlive ? format ( SzMessages , 191 , "^4[%s]^3%s : ^4%s" , PREFIXADMINTWO , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINTWO , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && SzGetFlag & FLAGADMINTHREE )( SzAlive ? format ( SzMessages , 191 , "^4%s ^3%s : ^4%s" , PREFIXADMINTHREE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4%s ^3%s : ^4%s" , PREFIXADMINTHREE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixFour ) && SzGetFlag & FLAGADMINFOUR )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINFOUR , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINFOUR , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && SzGetFlag & FLAGADMINSMS )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINSMS , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && SzGetFlag & FLAGADMINVIP )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINVIP , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINVIP , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixOne ) && !( SzGetFlag & FLAGADMINONE ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && !( SzGetFlag & FLAGADMINTWO ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && !( SzGetFlag & FLAGADMINTHREE ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixFour ) && !( SzGetFlag & FLAGADMINFOUR ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && !( SzGetFlag & FLAGADMINSMS ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && !( SzGetFlag & FLAGADMINVIP ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); for(new i = 1 ; i <= SzMaxPlayers ; i ++) { if(! is_user_connected ( i )) continue; if( SzAlive && is_user_alive ( i ) || ! SzAlive && ! is_user_alive ( i )) { message_begin ( MSG_ONE , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, 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 ( SzMessages , 191 ); remove_quotes ( SzMessages ); get_user_name ( id , SzName , 31 ); if(! is_valid_msg ( SzMessages )) return PLUGIN_CONTINUE ; if( get_pcvar_num ( AdminPrefixOne ) && SzGetFlag & FLAGADMINONE )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINONE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINONE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && SzGetFlag & FLAGADMINTWO )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTWO , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTWO , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && SzGetFlag & FLAGADMINTHREE )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4%s ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTHREE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4%s ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTHREE , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && SzGetFlag & FLAGADMINSMS )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && SzGetFlag & FLAGADMINVIP )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINVIP , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixOne ) && !( SzGetFlag & FLAGADMINONE ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && !( SzGetFlag & FLAGADMINTWO ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && !( SzGetFlag & FLAGADMINTHREE ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && !( SzGetFlag & FLAGADMINSMS ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && !( SzGetFlag & FLAGADMINVIP ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); for(new i = 1 ; i <= SzMaxPlayers ; i ++) { 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_ONE , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, 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 ( id , level , cid ) { if(! is_user_admin ( id )) return PLUGIN_HANDLED new szAuth [ 32 ], szExp [ 12 ] get_user_authid ( id , szAuth , charsmax ( szAuth )) if(! TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( szExp ))) { get_user_name ( id , szAuth , charsmax ( szAuth )) if(! TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( szExp ))) { get_user_ip ( id , szAuth , charsmax ( szAuth ), 1 ) TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( 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 iLine , bAdmRemoved get_configsdir ( szFile , charsmax ( szFile )) add ( szFile , charsmax ( szFile ), "/users.ini" ) new file = fopen ( szFile , "rt" ) while(! feof ( file )) { fgets ( file , szData , charsmax ( szData )) trim ( szData ) iLine ++ if(! szData [ 0 ] || szData [ 0 ] == ';' ) continue parse ( szData , szAuth , charsmax ( szAuth ), szPw , charsmax ( szPw ), szAccess , charsmax ( szAccess ), szFlags , charsmax ( szFlags ), szDate , charsmax ( szDate )) if(! szDate [ 0 ]) continue replace_all ( szDate , charsmax ( szDate ), "/" , " " ) new szDay [ 3 ], szMonth [ 3 ], szYear [ 5 ] parse ( szDate , szDay , charsmax ( szDay ), szMonth , charsmax ( szMonth ), szYear , charsmax ( szYear )) if( get_systime () >= TimeToUnix ( str_to_num ( szYear ), str_to_num ( szMonth ), str_to_num ( szDay ), 0 , 0 , 0 , UT_TIMEZONE_SERVER )) { formatex ( szData , charsmax ( szData ), ";ADMIN VENCIDO - ^" % s ^ " en la fecha %s/%s/%s" , szAuth , szDay , szMonth , szYear ) write_file ( szFile , szData , iLine - 1 ) bAdmRemoved = true } else { replace_all ( szDate , charsmax ( szDate ), " " , "/" ) TrieSetString ( g_tVencimiento , szAuth , szDate ) } } 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 ( szMsg , 190 , input , 3 ) message_begin ( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , msgSayText , . 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
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
Mensajes: 300
Temas: 14
Registro en: Dec 2017
Reputación:
6
"Cada golpe es una lección, y cada lección te hace mejor."
Mensajes: 9
Temas: 5
Registro en: Jul 2020
Reputación:
0
18/11/2021, 09:17 PM
(Última modificación: 19/11/2021, 01:44 PM por jhoanel2678 .)
(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á
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 AdminPrefixOne , AdminPrefixTwo , AdminPrefixThree , AdminPrefixFour , SmsPrefix , VIPPrefix ; new SzMaxPlayers , SzSayText ; 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" , VERSION , FCVAR_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 ( SzMessages , 191 ); remove_quotes ( SzMessages ); get_user_name ( id , SzName , 31 ); if(! is_valid_msg ( SzMessages )) return PLUGIN_CONTINUE ; if( get_pcvar_num ( AdminPrefixOne ) && SzGetFlag & FLAGADMINONE )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINONE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINONE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && SzGetFlag & FLAGADMINTWO )( SzAlive ? format ( SzMessages , 191 , "^4[%s]^3%s : ^4%s" , PREFIXADMINTWO , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINTWO , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && SzGetFlag & FLAGADMINTHREE )( SzAlive ? format ( SzMessages , 191 , "^4%s ^3%s : ^4%s" , PREFIXADMINTHREE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4%s ^3%s : ^4%s" , PREFIXADMINTHREE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixFour ) && SzGetFlag & FLAGADMINFOUR )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINFOUR , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINFOUR , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && SzGetFlag & FLAGADMINSMS )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINSMS , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && SzGetFlag & FLAGADMINVIP )( SzAlive ? format ( SzMessages , 191 , "^4[%s] ^3%s : ^4%s" , PREFIXADMINVIP , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^4[%s] ^3%s : ^4%s" , PREFIXADMINVIP , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixOne ) && !( SzGetFlag & FLAGADMINONE ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && !( SzGetFlag & FLAGADMINTWO ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && !( SzGetFlag & FLAGADMINTHREE ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixFour ) && !( SzGetFlag & FLAGADMINFOUR ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && !( SzGetFlag & FLAGADMINSMS ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && !( SzGetFlag & FLAGADMINVIP ))( SzAlive ? format ( SzMessages , 191 , "^3%s : ^1%s" , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^3%s : ^1%s" , SzName , SzMessages )); for(new i = 1 ; i <= SzMaxPlayers ; i ++) { if(! is_user_connected ( i )) continue; if( SzAlive && is_user_alive ( i ) || ! SzAlive && ! is_user_alive ( i )) { message_begin ( MSG_ONE , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, 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 ( SzMessages , 191 ); remove_quotes ( SzMessages ); get_user_name ( id , SzName , 31 ); if(! is_valid_msg ( SzMessages )) return PLUGIN_CONTINUE ; if( get_pcvar_num ( AdminPrefixOne ) && SzGetFlag & FLAGADMINONE )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINONE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINONE , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && SzGetFlag & FLAGADMINTWO )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTWO , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTWO , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && SzGetFlag & FLAGADMINTHREE )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4%s ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTHREE , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4%s ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINTHREE , SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && SzGetFlag & FLAGADMINSMS )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && SzGetFlag & FLAGADMINVIP )( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINVIP , SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s" , SzGTeam [ SzGetTeam ], PREFIXADMINSMS , SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixOne ) && !( SzGetFlag & FLAGADMINONE ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixTwo ) && !( SzGetFlag & FLAGADMINTWO ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( AdminPrefixThree ) && !( SzGetFlag & FLAGADMINTHREE ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( SmsPrefix ) && !( SzGetFlag & FLAGADMINSMS ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); else if( get_pcvar_num ( VIPPrefix ) && !( SzGetFlag & FLAGADMINVIP ))( SzAlive ? format ( SzMessages , 191 , "^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages ) : format ( SzMessages , 191 , "^1*DEAD* ^1(%s) ^3%s : ^1%s" , SzGTeam [ SzGetTeam ], SzName , SzMessages )); for(new i = 1 ; i <= SzMaxPlayers ; i ++) { 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_ONE , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, 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 ( id , level , cid ) { if(! is_user_admin ( id )) return PLUGIN_HANDLED new szAuth [ 32 ], szExp [ 12 ] get_user_authid ( id , szAuth , charsmax ( szAuth )) if(! TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( szExp ))) { get_user_name ( id , szAuth , charsmax ( szAuth )) if(! TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( szExp ))) { get_user_ip ( id , szAuth , charsmax ( szAuth ), 1 ) TrieGetString ( g_tVencimiento , szAuth , szExp , charsmax ( 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 iLine , bAdmRemoved get_configsdir ( szFile , charsmax ( szFile )) add ( szFile , charsmax ( szFile ), "/users.ini" ) new file = fopen ( szFile , "rt" ) while(! feof ( file )) { fgets ( file , szData , charsmax ( szData )) trim ( szData ) iLine ++ if(! szData [ 0 ] || szData [ 0 ] == ';' ) continue parse ( szData , szAuth , charsmax ( szAuth ), szPw , charsmax ( szPw ), szAccess , charsmax ( szAccess ), szFlags , charsmax ( szFlags ), szDate , charsmax ( szDate )) if(! szDate [ 0 ]) continue replace_all ( szDate , charsmax ( szDate ), "/" , " " ) new szDay [ 3 ], szMonth [ 3 ], szYear [ 5 ] parse ( szDate , szDay , charsmax ( szDay ), szMonth , charsmax ( szMonth ), szYear , charsmax ( szYear )) if( get_systime () >= TimeToUnix ( str_to_num ( szYear ), str_to_num ( szMonth ), str_to_num ( szDay ), 0 , 0 , 0 , UT_TIMEZONE_SERVER )) { formatex ( szData , charsmax ( szData ), ";ADMIN VENCIDO - ^" % s ^ " en la fecha %s/%s/%s" , szAuth , szDay , szMonth , szYear ) write_file ( szFile , szData , iLine - 1 ) bAdmRemoved = true } else { replace_all ( szDate , charsmax ( szDate ), " " , "/" ) TrieSetString ( g_tVencimiento , szAuth , szDate ) } } 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 ( szMsg , 190 , input , 3 ) message_begin ( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , msgSayText , . 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