Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
18/12/2018, 09:28 PM
(Última modificación: 19/12/2018, 11:53 PM por Alejandro . Edited 5 times in total.)
INFORMACION DE PLAYER
Informacion:
IMAGENES:
ADMIN:
USER:
Código PHP:
#include <amxmodx> #include <amxmisc> new iPlugin [][]={ "Info Player" , "1.0" , "Alejandro-." } new iPrefix []= "^1[^4AMX-MOD-X^1]" new iMaxPlayer static iIdUser [ 25 ], ipUser [ 25 ], name [ 32 ], idAdmin [ 20 ]; public plugin_init () { register_plugin ( iPlugin [ 0 ], iPlugin [ 1 ], iPlugin [ 2 ]) register_say ( "Player" , "fw_player_menu" ) iMaxPlayer = get_maxplayers () } public fw_player_menu ( id ) { new iPlayer [ 300 ], IDS [ 12 ], nombre [ 32 ]; new iMenu = menu_create ( "\ \r======================^n\ \wInformacion de Players^n\ \r======================" , "fw_hand_menu" ) for(new i = 1 ; i <= iMaxPlayer ; i ++) { if( is_user_connected ( i )) { get_user_name ( i , nombre , charsmax ( nombre )) if( is_user_admin ( i )) { formatex ( iPlayer , charsmax ( iPlayer ), "\y%s \r(\wADMIN\r)" , nombre ) } else formatex ( iPlayer , charsmax ( iPlayer ), "\w%s" , nombre ) formatex ( IDS , charsmax ( IDS ), "%d %d" , i , get_user_userid ( i )) menu_additem ( iMenu , iPlayer , IDS ) } } menu_setprop ( iMenu , MPROP_BACKNAME , "\wBACK" ) menu_setprop ( iMenu , MPROP_NEXTNAME , "\wNEXT" ) menu_setprop ( iMenu , MPROP_EXITNAME , "\wEXIT" ) menu_display ( id , iMenu , 0 ) } public fw_hand_menu ( id , menu , item ) { if( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED ; } new lol , buffer [ 12 ], playerid menu_item_getinfo ( menu , item , lol , buffer , charsmax ( buffer ), _ , _ , lol ) new szid [ 3 ], szuserid [ 9 ], nameid [ 32 ] parse ( buffer , szid , charsmax ( szid ), szuserid , charsmax ( szuserid )) // separamos los datos playerid = str_to_num ( szid ) if(! is_user_connected ( playerid )){ client_print_color ( id , print_team_red , "%s el usuario se ah desconectado." , iPrefix ) return PLUGIN_HANDLED ; } get_user_name ( id , nameid , charsmax ( nameid )) client_print_color ( playerid , print_team_red , "%s el usuario ^4%s^1 esta viendo tu informacion" , iPrefix , nameid ) get_user_authid ( playerid , iIdUser , charsmax ( iIdUser )); get_user_ip ( playerid , ipUser , charsmax ( ipUser )) get_user_name ( playerid , name , charsmax ( name )) if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN" fw_info_menu ( id ) return PLUGIN_HANDLED ; } public fw_info_menu ( id ) { new iMenu , title [ 250 ], status [ 250 ], nombre [ 250 ], ip [ 250 ], Admin [ 250 ] formatex ( title , charsmax ( title ), "\ \r======================^n\ \wUSUARIO: \y%s^n\ \r======================" , name ) iMenu = menu_create ( title , "fw_Hand_info" ) formatex ( Admin , charsmax ( Admin ), "ADMIN:\y %s" , idAdmin ) formatex ( nombre , charsmax ( nombre ), "NOMBRE:\y %s" , name ) formatex ( ip , charsmax ( ip ), "IP: \y%s" , ipUser ) formatex ( status , charsmax ( status ), "STATUS: \y%s" , iIdUser ) menu_additem ( iMenu , Admin ) menu_additem ( iMenu , nombre ) if( is_user_admin ( id )) { menu_additem ( iMenu , ip ) } menu_additem ( iMenu , status ) menu_setprop ( iMenu , MPROP_BACKNAME , "\wBACK" ) menu_setprop ( iMenu , MPROP_NEXTNAME , "\wNEXT" ) menu_setprop ( iMenu , MPROP_EXITNAME , "\wEXIT" ) menu_display ( id , iMenu , 0 ) } public fw_Hand_info ( menu , item ) { if( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED ; } menu_destroy ( menu ) return PLUGIN_HANDLED ; } stock register_say (const comando [], const funcion []) { new iComando [ 200 ], Say [][]={ "say " , "say /" , "say ." , "say_team " , "say_team /" , "say_team ." } for(new i = 0 ; i < sizeof Say ; i ++) { formatex ( iComando , charsmax ( iComando ), "%s%s" , Say [ i ], comando ) register_clcmd ( iComando , funcion ) } }
Mensajes: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
formatex(ip, charsmax(ip), "IP: \y%s", ipUser)
todos tienen acceso a la ip de todos, no es bueno regalar esa info al publico dentro de un servidor.
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
(18/12/2018, 09:56 PM) PredatorFlys escribió: formatex(ip, charsmax(ip), "IP: \y%s", ipUser)
todos tienen acceso a la ip de todos, no es bueno regalar esa info al publico dentro de un servidor.
Código PHP:
if( is_user_admin ( id )) { menu_additem ( iMenu , ip ) }
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(18/12/2018, 10:02 PM) Alejandro escribió: (18/12/2018, 09:56 PM) PredatorFlys escribió: formatex(ip, charsmax(ip), "IP: \y%s", ipUser)
todos tienen acceso a la ip de todos, no es bueno regalar esa info al publico dentro de un servidor.
Código PHP:
if( is_user_admin ( id )) { menu_additem ( iMenu , ip ) }
Por más que tenga admin, no está bueno que tengan el acceso a ver las IP's de los jugadores.
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
18/12/2018, 10:26 PM
(Última modificación: 18/12/2018, 10:30 PM por Alejandro .)
(18/12/2018, 10:19 PM) Chema escribió: (18/12/2018, 10:02 PM) Alejandro escribió: (18/12/2018, 09:56 PM) PredatorFlys escribió: formatex(ip, charsmax(ip), "IP: \y%s", ipUser)
todos tienen acceso a la ip de todos, no es bueno regalar esa info al publico dentro de un servidor.
Código PHP:
if( is_user_admin ( id )) { menu_additem ( iMenu , ip ) }
Por más que tenga admin, no está bueno que tengan el acceso a ver las IP's de los jugadores.
ehhh, bueno quitemos eso.
listo, Fix.
Mensajes: 35
Temas: 4
Registro en: Mar 2017
Reputación:
1
19/12/2018, 01:53 AM
(Última modificación: 19/12/2018, 12:20 PM por angel . Edited 2 times in total.)
if(is_user_admin(playerid) && ADMIN_CVAR)
{
idAdmin="FUNDADOR"
}
else if(is_user_admin(playerid) && ADMIN_BAN)
{
idAdmin="ADMIN_FULL"
}
else if(is_user_admin(playerid) && ADMIN_KICK)
{
idAdmin="ADMIN_BASICO"
}
else idAdmin="NO ADMIN"
para que creas vars auxiliares si podes cambiarle el valor en cualquier punto
deverias leer lo basico antes de hacer algo asi en mi opinion
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Mensajes: 220
Temas: 8
Registro en: Nov 2018
Reputación:
7
(19/12/2018, 02:46 AM) Chema escribió: Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Esto no funciona de la forma que pretendes que funcione.
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(19/12/2018, 03:42 AM) w0w escribió: (19/12/2018, 02:46 AM) Chema escribió: Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Esto no funciona de la forma que pretendes que funcione.
Te agradecería que me expliques como funciona.
Mensajes: 35
Temas: 4
Registro en: Mar 2017
Reputación:
1
es & no ==
por eso ya que son bits
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
(19/12/2018, 05:18 AM) Chema escribió: (19/12/2018, 03:42 AM) w0w escribió: (19/12/2018, 02:46 AM) Chema escribió: Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Esto no funciona de la forma que pretendes que funcione.
Te agradecería que me expliques como funciona. Bien, buena forma de optimizar, fix.
Mensajes: 35
Temas: 4
Registro en: Mar 2017
Reputación:
1
(19/12/2018, 12:26 PM) Alejandro escribió: (19/12/2018, 05:18 AM) Chema escribió: (19/12/2018, 03:42 AM) w0w escribió: (19/12/2018, 02:46 AM) Chema escribió: Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Esto no funciona de la forma que pretendes que funcione.
Te agradecería que me expliques como funciona. Bien, buena forma de optimizar, fix.no debería funcionar hay diferencias entre & y == ya que & debuelve un numero en binario(solo los que tengan 1 en ambas columnas si recuerdo bien) y == compara nada mas lo cual hace ese switch ahi
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
Que tal asi?
Código PHP:
new flags ; flags = get_user_flags ( id ); idAdmin = ( flags & ADMIN_RCON ) ? "FUNDADOR" : ( flags & ADMIN_BAN ) ? "ADMIN FULL" : ( flags & ADMIN_KICK ) ? "ADMIN BÁSICO" : "SIN ADMIN" ;
Mensajes: 220
Temas: 8
Registro en: Nov 2018
Reputación:
7
(19/12/2018, 01:17 PM) warrior escribió: Que tal asi?
Código PHP:
new flags ; flags = get_user_flags ( id ); idAdmin = ( flags & ADMIN_RCON ) ? "FUNDADOR" : ( flags & ADMIN_BAN ) ? "ADMIN FULL" : ( flags & ADMIN_KICK ) ? "ADMIN BÁSICO" : "SIN ADMIN" ;
¿Para quién es ese código? ¿Para robots? El código tiene que ser fácil para entender, no usen esto.
(19/12/2018, 05:18 AM) Chema escribió: (19/12/2018, 03:42 AM) w0w escribió: (19/12/2018, 02:46 AM) Chema escribió: Código PHP:
if( is_user_admin ( playerid ) && ADMIN_CVAR ) { idAdmin = "FUNDADOR" } else if( is_user_admin ( playerid ) && ADMIN_BAN ) { idAdmin = "ADMIN_FULL" } else if( is_user_admin ( playerid ) && ADMIN_KICK ) { idAdmin = "ADMIN_BASICO" } else idAdmin = "NO ADMIN"
---->
Código PHP:
new iFlags ; iFlags = get_user_flags ( iId ); switch( iFlags ) { case ADMIN_RCON : idAdmin = "FUNDADOR" ; case ADMIN_BAN : idAdmin = "ADMIN FULL" ; case ADMIN_KICK : idAdmin = "ADMIN BÁSICO" ; } if( ! is_user_admin ( iId ) ) idAdmin = "SIN ADMIN" ;
Esto no funciona de la forma que pretendes que funcione.
Te agradecería que me expliques como funciona.
Ya lo había explicado en otro tema cuando pusiste lo mismo. Aquí lo tienes:
https://amxmodx-es.com/Thread-mostrar-el...#pid192921 (más arriba podrás ver los ejemplos que dejé de cómo es mejor).
Mensajes: 35
Temas: 4
Registro en: Mar 2017
Reputación:
1
19/12/2018, 01:29 PM
(Última modificación: 19/12/2018, 01:30 PM por angel . Edited 1 time in total.)
(19/12/2018, 01:17 PM) warrior escribió: Que tal asi?
Código PHP:
new flags ; flags = get_user_flags ( id ); idAdmin = ( flags & ADMIN_RCON ) ? "FUNDADOR" : ( flags & ADMIN_BAN ) ? "ADMIN FULL" : ( flags & ADMIN_KICK ) ? "ADMIN BÁSICO" : "SIN ADMIN" ;
optimizar no es reducir lineas y podría dar falsos
aparte esa var la usa en un menu que JAMAS se llama 'fw_info_menu' chequen no se usa
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
https://amxmodx-es.com/Thread-mostrar-el...#pid192921
No sabia que existia el
has_flag , por otro lado en todos los dias que aprende cosas nuevas
. Gracias por la infos
Mensajes: 220
Temas: 8
Registro en: Nov 2018
Reputación:
7
(19/12/2018, 02:12 PM) warrior escribió: https://amxmodx-es.com/Thread-mostrar-el...#pid192921
No sabia que existia el has_flag , por otro lado en todos los dias que aprende cosas nuevas . Gracias por la infos
Recomiendo leer los includes para saber lo que realmente tiene AMX Mod X. Pero no me refería a usar precisamente esto sino a no usar switch() con get_user_flags().
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
Simplemente pienso que esto
Código PHP:
formatex ( IDS , charsmax ( IDS ), "%d %d" , i , get_user_userid ( i )) menu_additem ( iMenu , iPlayer , IDS )
es innecesario porque el userid lo puedes obtener sabiendo el id del player desde el handler del menú, asi evitando el parse. pero bueno..
está bien
(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: