Informacion de player
#1
INFORMACION DE PLAYER

Informacion:
Aclaro que solo los administradores pueden ver la ip de el usuario.

IMAGENES:
ADMIN:
[Imagen: 48380295_213003612921084_428053965044921...e=5C963B17]

USER:
[Imagen: 48427596_375353726566498_624099103192016...e=5CA06F82]
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 
1<= iMaxPlayeri++)
    {
        if(
is_user_connected(i))
        {
            
get_user_name(inombrecharsmax(nombre))

            if(
is_user_admin(i))
            {
                
formatex(iPlayercharsmax(iPlayer), "\y%s \r(\wADMIN\r)"nombre)
            }
            else 
formatex(iPlayercharsmax(iPlayer), "\w%s"nombre)
            
formatex(IDScharsmax(IDS), "%d %d"iget_user_userid(i))
            
menu_additem(iMenuiPlayerIDS)
        }
    }

    
menu_setprop(iMenuMPROP_BACKNAME"\wBACK")
    
menu_setprop(iMenuMPROP_NEXTNAME"\wNEXT")
    
menu_setprop(iMenuMPROP_EXITNAME"\wEXIT")
    
menu_display(idiMenu0)
}

public 
fw_hand_menu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED;
    }
    new 
lolbuffer[12], playerid
    menu_item_getinfo
(menuitemlolbuffercharsmax(buffer), __lol)

    new 
szid[3], szuserid[9], nameid[32]
    
parse(bufferszidcharsmax(szid), szuseridcharsmax(szuserid)) // separamos los datos
    
playerid str_to_num(szid)

    if(!
is_user_connected(playerid)){ 
    
client_print_color(idprint_team_red"%s el usuario se ah desconectado."iPrefix)
    return 
PLUGIN_HANDLED
    }

    
get_user_name(idnameidcharsmax(nameid))

    
client_print_color(playeridprint_team_red"%s el usuario ^4%s^1 esta viendo tu informacion"iPrefixnameid )

       
get_user_authid(playeridiIdUsercharsmax(iIdUser));
       
get_user_ip(playeridipUsercharsmax(ipUser))
       
get_user_name(playeridnamecharsmax(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 
iMenutitle[250], status[250], nombre[250], ip[250], Admin[250]
    
formatex(titlecharsmax(title),"\
    \r======================^n\
    \wUSUARIO: \y%s^n\
    \r======================"
name)

    
iMenu menu_create(title"fw_Hand_info")
 
    
formatex(Admincharsmax(Admin),    "ADMIN:\y %s"idAdmin)
    
formatex(nombrecharsmax(nombre),     "NOMBRE:\y %s"name)
    
formatex(ipcharsmax(ip),                "IP: \y%s"ipUser)
    
formatex(statuscharsmax(status),     "STATUS: \y%s"iIdUser)

    
menu_additem(iMenuAdmin)
    
menu_additem(iMenunombre)
    if(
is_user_admin(id))
    {
    
menu_additem(iMenuip)
    }
    
menu_additem(iMenustatus)

    
menu_setprop(iMenuMPROP_BACKNAME"\wBACK")
    
menu_setprop(iMenuMPROP_NEXTNAME"\wNEXT")
    
menu_setprop(iMenuMPROP_EXITNAME"\wEXIT")
    
menu_display(idiMenu0)
}

public 
fw_Hand_info(menuitem)
{
    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 
0<sizeof Sayi++)
    {
        
formatex(iComandocharsmax(iComando), "%s%s"Say[i], comando)
        
register_clcmd(iComandofuncion)
    }

Responder
#2
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.
[Imagen: 76561198090851442.png]
Responder
#3
(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(iMenuip)
    } 
Responder
#4
(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(iMenuip)
    } 

Por más que tenga admin, no está bueno que tengan el acceso a ver las IP's de los jugadores.
Responder
#5
(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(iMenuip)
    } 

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.
Responder
#6
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"

Genius





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
Responder
#7
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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Responder
#8
(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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Esto no funciona de la forma que pretendes que funcione.
Plugins:
En GitHub
Responder
#9
(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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Esto no funciona de la forma que pretendes que funcione.

Te agradecería que me expliques como funciona. Sonrisa
Responder
#10
es & no ==

por eso ya que son bits
Responder
#11
(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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Esto no funciona de la forma que pretendes que funcione.

Te agradecería que me expliques como funciona. Sonrisa
Bien, buena forma de optimizar, fix.
Responder
#12
(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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Esto no funciona de la forma que pretendes que funcione.

Te agradecería que me expliques como funciona. Sonrisa
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
Responder
#13
Que tal asi?

Código PHP:
new flags;

flags get_user_flagsid );

idAdmin =  (flagsADMIN_RCON) ? "FUNDADOR" :  (flagsADMIN_BAN) ? "ADMIN FULL" : (flagsADMIN_KICK) ? "ADMIN BÁSICO" "SIN ADMIN"
Responder
#14
(19/12/2018, 01:17 PM)warrior escribió: Que tal asi?

Código PHP:
new flags;

flags get_user_flagsid );

idAdmin =  (flagsADMIN_RCON) ? "FUNDADOR" :  (flagsADMIN_BAN) ? "ADMIN FULL" : (flagsADMIN_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_flagsiId );

switch( 
iFlags ) {

     case 
ADMIN_RCONidAdmin "FUNDADOR";

     case 
ADMIN_BANidAdmin "ADMIN FULL";

     case 
ADMIN_KICKidAdmin "ADMIN BÁSICO";
}

if( !
is_user_adminiId ) )
     
idAdmin "SIN ADMIN"
Esto no funciona de la forma que pretendes que funcione.

Te agradecería que me expliques como funciona. Sonrisa

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).
Plugins:
En GitHub
Responder
#15
(19/12/2018, 01:17 PM)warrior escribió: Que tal asi?

Código PHP:
new flags;

flags get_user_flagsid );

idAdmin =  (flagsADMIN_RCON) ? "FUNDADOR" :  (flagsADMIN_BAN) ? "ADMIN FULL" : (flagsADMIN_KICK) ? "ADMIN BÁSICO" "SIN ADMIN"

Whatdone

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
Responder
#16
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 Trolleyes. Gracias por la infos
Responder
#17
(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 Trolleyes. 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().
Plugins:
En GitHub
Responder
#18
Simplemente pienso que esto

Código PHP:
formatex(IDScharsmax(IDS), "%d %d"iget_user_userid(i))
            
menu_additem(iMenuiPlayerIDS

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 Crab
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(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:
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)