Mensajes: 25
Temas: 8
Registro en: May 2016
Reputación:
0
Hola,
lo que necesito es un plugin que haga que los admines no tengan admin a menos que se pongan el tag asi: Nombre Comunidad
osea el nombre y donde dice comunidad iria el nombre de la comunidad. y que si alguien mas que no es administrador quiere ponerse el nombre de la comunidad. no le deje entrar al servidor y le aparesca un mensaje que diga:
El tag "Comunidad" es exclusivo para administradores.
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Código PHP: /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author"
new const ADMIN_TAG[] = "[COMU PEDORRA]";
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) // Add your code here... }
public client_authorized( index ) { static name[ 32 ]; get_user_name( index , name, 31 ); if( is_user_admin( index ) && !(containi( name , ADMIN_TAG) != -1)) server_cmd( "kick #%d ^"Usa el tag: %s^"", get_user_userid( index ) , ADMIN_TAG ); else if( !is_user_admin( index ) && containi( name , ADMIN_TAG ) != -1 ) server_cmd( "kick #%d ^"El tag: %s Solo es para admins^"", get_user_userid( index ) , ADMIN_TAG ); }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
Código PHP: /* Plugin generated by AMXX-Studio */
#include <amxmodx>
new const Prefijo[] = "[PEPE]";
public client_putinserver(id) { static name[33] get_user_name(id, name, charsmax(name)) if(equali(name, Prefijo) && !is_user_admin(id)) { server_cmd("kick #%d ^"No eres administrador para poseer el prefijo: %s^"", get_user_userid(id), Prefijo) return } else { client_print(id, print_chat, "* No pasa nada :'v") } }
/* amxmisc */
stock is_user_admin(id) { new __flags=get_user_flags(id) return (__flags>0 && !(__flags&ADMIN_USER)) }
(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.
(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Mensajes: 25
Temas: 8
Registro en: May 2016
Reputación:
0
Graciasss, mañana osea hoy en la tarde los pruebo :3
Mensajes: 723
Temas: 23
Registro en: May 2014
Reputación:
22
08/06/2016, 02:50 AM
(Última modificación: 08/06/2016, 02:51 AM por KISKE.)
(07/06/2016, 05:33 PM)OsweRRR escribió: Código PHP: if(equali(name, Prefijo) && !is_user_admin(id)) { server_cmd("kick #%d ^"No eres administrador para poseer el prefijo: %s^"", get_user_userid(id), Prefijo) return }
Está mal tu lógica, revisala.
Y por cierto, ambos se olvidaron de que el usuario tal vez pueda cambiar su nombre dentro del servidor, y ninguno de los dos manejó esa posibilidad, por lo que funcionaría a medias.
Mensajes: 25
Temas: 8
Registro en: May 2016
Reputación:
0
Y como haria para que el prefijo, sea solo obligatorio para los usuarios con acceso a ADMIN_LEVEL_E por ejemplo?, y si porfas si pudieran hacer eso que dijo kiske ya estaria completo, aun asi se los agradesco muchisimo
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
08/06/2016, 07:59 AM
(Última modificación: 08/06/2016, 08:04 AM por hud.)
(08/06/2016, 03:00 AM)ExterminioCS escribió: Y como haria para que el prefijo, sea solo obligatorio para los usuarios con acceso a ADMIN_LEVEL_E por ejemplo?, y si porfas si pudieran hacer eso que dijo kiske ya estaria completo, aun asi se los agradesco muchisimo
Código PHP: #include <amxmodx> #include <fakemeta>
new const ADMIN_PREFIX[] = "[AMXX-ES]"; //Prefijo forzado a tener un admin. const ADMIN_FLAG = ADMIN_LEVEL_E; //Flag necesaria para poder usar el Prefijo. Default: ADMIN_LEVEL_E - Letra "q" en users.ini
public plugin_init() { register_plugin( "Force ADMIN Prefix", "1.0", "Pancho.-'+hud;Erater" ); register_forward(FM_ClientUserInfoChanged, "fwdClientInfoChanged"); }
public fwdClientInfoChanged(id, buffer) { InvalidName(id, buffer); return FMRES_IGNORED; }
stock InvalidName(id, buffer) { new szName[32]; //La hago de tipo new, porque el numero de llamados es incomparable a un think. new bool:prefix; engfunc(EngFunc_InfoKeyValue, buffer, "name", szName, charsmax(szName)); if( (containi(szName, ADMIN_PREFIX) != -1) ) prefix = true; else prefix = false; //Evitamos que bugueen. set_user_info(id, "name", szName); client_cmd(id, "setinfo ^"name^" ^"%s^"", szName); if( (get_user_flags(id) & ADMIN_FLAG) && !prefix ) server_cmd( "kick #%d ^"ADMIN detectado: Nombre Invalido - Utiliza: %s 'Tu Nombre'^"", get_user_userid(id), ADMIN_PREFIX ); else if( !(get_user_flags(id) & ADMIN_FLAG) && prefix ) server_cmd( "kick #%d ^"Este prefijo: '%s' es solo valido para ADMINS!^"", get_user_userid(id), ADMIN_PREFIX ); }
Testeado y funcionando.
Saludos!.
(25/03/2015, 10:35 PM)hud escribió: (25/03/2015, 10:30 PM)meTaLiCroSS escribió: *edit* puto
Cabe.
Mensajes: 25
Temas: 8
Registro en: May 2016
Reputación:
0
08/06/2016, 02:41 PM
(Última modificación: 08/06/2016, 02:56 PM por ExterminioCS.)
Funciona, pero no lo kickea , solo le cambia el nombre y le quita el prefijo :$
Se puede hacer a el prefijo sea sin las [] osea q sea por ej: Sunombre Comunidad
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
08/06/2016, 03:19 PM
(Última modificación: 08/06/2016, 03:51 PM por hud.)
(08/06/2016, 02:41 PM)ExterminioCS escribió: Funciona, pero no lo kickea , solo le cambia el nombre y le quita el prefijo :$
Yo lo probé, y funcionaba perfecto.
(08/06/2016, 02:41 PM)ExterminioCS escribió: Se puede hacer a el prefijo sea sin las [] osea q sea por ej: Sunombre Comunidad
Código PHP: new const ADMIN_PREFIX[] = "[AMXX-ES]"; //Prefijo forzado a tener un admin.
-------->
Código PHP: new const ADMIN_PREFIX[] = "AMXX-ES"; //Prefijo forzado a tener un admin.
-------->
Código PHP: new const ADMIN_PREFIX[] = "hola soy un prefijo"; //Prefijo forzado a tener un admin.
--------->
Código PHP: new const ADMIN_PREFIX[] = "#Tu-Vieja#"; //Prefijo forzado a tener un admin.
EDIT:
Lo volvi a testear y funciona perfectamente. Te kickea siempre. En si, le cambio el nombre pero solamente para que haga 1 call mas, porque si no lo que sucede es que si yo ingreso al servidor y digamos que hago lo siguiente:
Tag de ADMIN: hud
Tag con el que ingreso: Roberto
Ingreso al servidor --> (Mi nombre actual es Roberto) -----> Me cambio el Nombre a mi Tag de ADMIN -----> (Mi nombre actual es hud).
Entonces no estoy usando el Prefijo, y estoy tageando mi ADMIN y haciendo uso del mismo.
Ahora al hacerle una call mas, lo que hace es que, chequea ese ultimo cambio, y analiza. Y lo va a kickear por no tener el Prefijo necesario.
Realmente nose porque no chequea ese ultimo (deberia de hacerlo sin necesidad del cambio), pero de esta forma lo hace.
(25/03/2015, 10:35 PM)hud escribió: (25/03/2015, 10:30 PM)meTaLiCroSS escribió: *edit* puto
Cabe.
Mensajes: 151
Temas: 28
Registro en: Apr 2016
Reputación:
0
08/06/2016, 04:10 PM
(Última modificación: 08/06/2016, 04:11 PM por themurder.)
Que son las call? y para que podrian usarse? perdon por meterme solo para esto xD
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(08/06/2016, 04:10 PM)themurder escribió: Que son las call? y para que podrian usarse? perdon por meterme solo para esto xD
call -> llamada
En este caso, es cuando se llama a la función.
Para programar debes saber ingles
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 151
Temas: 28
Registro en: Apr 2016
Reputación:
0
si se lo que es call... pero me refiero en el amxmod XD
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
(08/06/2016, 04:24 PM)themurder escribió: si se lo que es call... pero me refiero en el amxmod XD
(08/06/2016, 04:13 PM)kikizon2 escribió: call -> llamada
En este caso, es cuando se llama a la función.
(25/03/2015, 10:35 PM)hud escribió: (25/03/2015, 10:30 PM)meTaLiCroSS escribió: *edit* puto
Cabe.
|