Raised This Month: $32 Target: $400
 8% 

Solved Change saved by name to SteamID


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Kelso
Junior Member
Join Date: Nov 2019
Old 10-08-2021 , 22:16   Change saved by name to SteamID
Reply With Quote #1

Hi, a long time ago I tried this plugin that I found very good: https://amxmodx-es.com/showthread.php?tid=21823

But with a small detail, the saving system is by name and the server is only STEAM so when changing the name the same player comes out 2 times in the top.

PHP Code:
/*<!------ [ Enumeradores ] ------!>*/
enum _:DATA HeadShotsFragsDeathsDamagesHitsBPBDKnifes };
enum _:ADV_DATA Cargar 0Guardar };
/*<!------ [ Defines ] ------!>*/
#define is_player_valid(%1) ( (1<=get_user_team(%1)<=2) && is_user_connected(%1) && !is_user_hltv(%1) && !is_user_bot(%1) )
#define MAX_AVATAR_LENGHT 200
/*<!------ [ Librerias ] ------!>*/
#include <amxmodx>
#include <amxmisc>
#include <adv_vault>
#include <csx>
#include <steamdata>
/*<!------ [ Variables ] ------!>*/
new g_Plugin[ ][ ]= 
{
    
"AMXX-CsTop5",
    
"1.0",
    
"Alejandro-."
}

new 
g_DataBase [ ] = "AMXX-Top5";
new 
g_Tag [ ] = "^4[AMXX]^1";

new 
gz_DefaultAvatar [ ] = "https://i.ibb.co/HB7q1P9/profile.png";
new 
gz_bgCsStats [ ] = "https://imgfz.com/i/zh69Gtp.jpeg"
new 
gz_bgCsTop [ ] = "https://fotos.subefotos.com/711db44d9b7cbeaf0bc417b8b15dc688o.jpg";

new 
g_PlayerDataMAX_PLAYERS ][ _:DATA ],
g_playernameMAX_PLAYERS ][ MAX_NAME_LENGTH ],
g_PlayerAvatarMAX_PLAYERS ][ MAX_AVATAR_LENGHT ],
g_PlayerOldConexionMAX_PLAYERS ][ 30 ];

new 
iMaxPlayers;

new 
g_vault
g_sort;

new 
g_Campos_:DATA ];
new 
g_CampoAvatarg_CampoOldConexion;
/*<!------ [ Plugin init ] ------!>*/
public plugin_init( ) 
{
    
register_plugin(g_Plugin], g_Plugin], g_Plugin] );
    
/* COMANDOS */
    
register_clcmd("say /top5""DisplayTop");
    
register_clcmd("say top5""DisplayTop");
    
register_clcmd("say_team /top5""DisplayTop");
    
register_clcmd("say_team top5""DisplayTop");
    
register_concmd("amx_avatar""cmd_avatar"_"[URL AVATAR 640x640]");
    
register_concmd("say""hooksay");
    
register_concmd("say_team""hooksay");
    
/* EVENTOS */
    
register_event("DeathMsg""Event_Death""a");
    
register_event("Damage""Event_Dmg""b");

    
g_vault adv_vault_openg_DataBasefalse);
    
iMaxPlayers get_maxplayers();
 
    
/* ADV_VAULT */
    
static i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_Campos] =  adv_vault_register_field(g_vaultfmt"PLAYERDATA-#%d") );
    }
    
g_CampoAvatar adv_vault_register_field(g_vault"PLAYERDATA-AVATAR"DATATYPE_STRINGcharsmaxg_PlayerAvatar[ ] ) );
    
g_CampoOldConexion adv_vault_register_field(g_vault"PLAYERDATA-OLD"DATATYPE_STRINGcharsmaxg_PlayerOldConexion[ ] ) );

    
adv_vault_init(g_vault);
    
g_sort adv_vault_sort_create(g_vaultORDER_DESC02000g_CamposDamages ], g_CamposFrags ], g_CamposHeadShots ]);
}
/*<!------ [ Hook Say ] ------!>*/
public hooksayindex )
{
    new 
szMensaje74 ];
    
read_argsszMensajecharsmaxszMensaje ) );  
    
remove_quotesszMensaje ); 

    new 
Cmd15 ], PlayerMAX_NAME_LENGTH ];
    
parseszMensajeCmdcharsmaxCmd ), PlayercharsmaxPlayer ) );

    if( 
equalCmd"stats" ) || equalCmd"/stats" ) || equalCmd"/estadisticas" ) || equalCmd"estadisticas" ) )
    {
        new 
PlayerNameMAX_NAME_LENGTH ];
        new 
IndexNameMAX_NAME_LENGTH ];

        if( !
Player] ) get_user_nameindexPlayerNamecharsmaxPlayerName ) ); 
        else 
formatPlayerNamecharsmaxPlayerName ), Player );

        new 
iDatasizeofg_PlayerData[ ] ) ], 
            
szAvatar150 ], 
            
szOldConexion30 ];

        new 
szMotd1536 ];

        static 
iLen
        
iLen 0;

        if( !
adv_vault_get_prepareg_vault_PlayerName ) ) 
        {
            
client_print_colorindex print_chat"%s El jugador al cual quieres ver las estadisticas no existe"g_Tag );
            return 
PLUGIN_HANDLED;
        }

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
Data] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
adv_vault_get_fieldg_vaultg_CampoOldConexionszOldConexion29 );

        
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
            
"<body><style>\
            body{color:#121212;background:url(^"
%s^");\
            display: flex;\
            min-height: 100vh;\
            background-position: center center;\
            background-repeat: no-repeat;\
            background-attachment: fixed;\
            background-size: cover;\
            font-family:arial,sans-serif}\
            img{border-radius:110;width:40%%;}\
            h1{font-size:15px;background:#F4DA06}\
            h4{color:white}\
            .left,.right {width:38%%;text-align:center;margin-top:4%%;padding:3%%}\
            .left{float:left;margin-left:4.5%%}\
            .right{float:right;margin-right:4.5%%}\
            table{border:1px solid #F4DA06;font-size:10px}\
            th{background: #F4DA06}\
            td{border:1px solid #F4DA06;color:white}</style>"
gz_bgCsStats );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<div class=left><h1>PERFIL</h1></br><img src=%s></br><h4>%s</h4>"szAvatarPlayerName );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</div><div class=right>\
            <h1>ESTADISTICAS</h1>\
            </br>\
            <table width=100%%>\
            <tr align=center>\
            <th width=25%%>Frags\
            <th width=25%%>HeadShots\
            <th width=20%%>BP\
            <th width=30%%>Damage"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataFrags ] ), add_pointiDataHeadShots ] ),  add_pointiDataBP ] ), add_pointiDataDamages ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Muertes\
            <th width=25%%>Cuchillo\
            <th width=20%%>BD\
            <th width=30%%>Hits"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataDeaths ] ), add_pointiDataKnifes ] ),  add_pointiDataBD ] ), add_pointiDataHits ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Ultima vez jugando:" 
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s</table>"
szOldConexion );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</br>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</body>" );

        if( !
equalPlayerIndexName ) ) client_print_color0print_team_default"%s El jugador: ^4%s^1 esta viendo las estadisticas de: ^3%s"g_TagIndexNamePlayerName )
        
show_motdindexszMotdfmt"AMXX-STATS | %s"PlayerName ) );
        return 
PLUGIN_HANDLED;
 }
    return 
PLUGIN_CONTINUE;
}
/*<!------ [ Csx Bomb Planted ] ------!>*/
public bomb_plantedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][BP]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Csx Bomb Defused ] ------!>*/
public bomb_defusedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][ BD ]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Comand avatar ] ------!>*/
public cmd_avatarindexlevelcid )
{
    if( !
cmd_accessindexlevelcid2) )
    return 
PLUGIN_HANDLED;

    new 
arg150 ];
    
read_argv1argcharsmaxarg ) );
 
    if( !
containarg"https://" ) && !containarg"http://" ) && !containarg"www." )  )
    {
        
client_printindexprint_console"[ AMXX ] Debe ser un archivo subido a la web.")
        return 
PLUGIN_HANDLED;
    }

    if( 
strlenarg ) > 100 )
    { 
        
client_printindexprint_console"[ AMXX ] No puede ser un url mayor a 50 caracteres");
        return 
PLUGIN_HANDLED;
    }

    if( 
is_player_steamindex ) )
    {
        
client_printindexprint_console"[ AMXX ] Solo los no steam pueden cambiar el avatar" );
        return 
PLUGIN_HANDLED
    }

    
formatg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), arg );
    
client_printindexprint_console"[ AMXX ] Tu avatar fue insertado correctamente!!");
    
adv_dataindexGuardar );
    return 
PLUGIN_HANDLED;
}
/*<!------ [ Display Top 5 ] ------!>*/
public DisplayTopindex )
{
    new 
szMotd1520 ];
    static 
iLen;
    
iLen 0;

    new 
keyindex
        
pjMAX_NAME_LENGTH ], 
        
ount 0;

    new 
iDatasizeofg_PlayerData[ ] ) ], 
        
zAvatar199 ];

    new 
toploop minadv_vault_sort_numresult(g_vaultg_sort), );

    
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
        
"<body><style>body{color:white;background:url(^"%s^");\
        font-family:Arial,sans-serif;\
        background-position: center center}\
        table{border:10px;width:87%%;margin-top:10%%;background:#121212}\
        td{font-size:13px;background:#272727}\
        th{color:black;font-size:14px;background:#F4DA06;padding:1%%}\
        </style>\
        <table align=center>\
        <tr align=center>\
        <th width=10%%>#\
        <th width=3%% height=5%%>Logo\
        <th width=30%%>Nombre\
        <th width=25%%>Frags\
        <th width=15%%>Muertes"
gz_bgCsTop );

    for( new 
position 1position <= toploopposition++ )
    {
        
keyindex adv_vault_sort_positiong_vaultg_sortposition )

        if( !
adv_vault_get_prepareg_vaultkeyindex ) ) 
            continue;

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
iData] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
adv_vault_get_keynameg_vaultkeyindexpj31 );
 
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<tr align=center>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"position );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td><img width=40px src=%s>"szAvatar );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%s"pj);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d      (HS: %d)"iDataFrags ], iDataHeadShots ] );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"iDataDeaths ] );
        
count++;
    }
 
    
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table></body>" );

    if( 
count 
        
show_motdindexszMotd"AMXX | TOP 5" );
    else 
        
client_print_colorindexprint_team_default"%s No se encontraron jugadores posicionados en este top."g_Tag );
}
/*<!------ [ Client Putinserver ] ------!>*/
public client_putinserverindex )
{
    
get_user_nameindexg_playernameindex ], charsmaxg_playername[ ] ) );

    static 
i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_PlayerDataindex ][ ] = EOS;
    }

    
g_PlayerOldConexionindex ] = "^0";
    
g_PlayerAvatarindex ] = "^0";

    if( 
is_player_steamindex ) )
    {
        
formatg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), gz_DefaultAvatar );
        
adv_dataindexCargar );
    } 
    else 
    {
        
et_task1.0"SteamLoadData"index );
    }
}
/*<!------ [ Steam Load Data ] ------!>*/
public SteamLoadDataindex )
{
    
adv_dataindexCargar );
    
get_steamdataindexg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), STD_AVATAR_FULL );
}
/*<!------ [ Client Disconected ] ------!>*/
public client_disconnectedindex )
{
    
get_time"%d/%m/%Y - %H:%M:%S"g_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
    
adv_dataindexGuardar );
}

/*<!------ [ Evento Damage ] ------!>*/
public Event_Dmgindex )
{
    new 
get_user_attackerindex )
    new 
damage read_data(2)

    if(!
is_user_alive(a) || !(<= <= iMaxPlayers) || == index || damage <= 0)
    {
        return
    }

    
g_PlayerData][ Damages ] += damage
    g_PlayerData
][ Hits ] += 1
    adv_data
aGuardar );
}
/*<!------ [ Evento Death Msg ] ------!>*/
public Event_Death()
{
    new 
Atack read_data(1);
    new 
Victm read_data(2);
    new 
hs read_data(3);
    new 
Weapon get_user_weapon(Atack);

    if( !
is_player_validAtack ) || !is_player_validVictm ) )
    return;

    if(
Atack == Victm)
    {
        
g_PlayerDataAtack ][ Frags ] -= 1;
        
g_PlayerDataAtack ][ Deaths ]++;
        
adv_dataAtackGuardar );
        return;
    }

    if(
Weapon == CSW_KNIFEg_PlayerDataAtack ][ Knifes ]++;

    if(
hsg_PlayerDataAtack ][ HeadShots ]++;

    
g_PlayerDataAtack ][ Frags ]++;
    
g_PlayerDataVictm ][ Deaths ]++;
    
adv_dataVictmGuardar );
    
adv_dataAtackGuardar );
}
/*<!------ [ Adv Vault Save/Load ] ------!>*/
public adv_dataindextype_adv_use )
{
    if( !
is_user_connectedindex ) )
    return;

    switch( 
type_adv_use )
    {
        case 
Cargar:{

            
f( !adv_vault_get_prepareg_vault_g_playernameindex ] ) )    
            return;

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
g_PlayerDataindex ][ ] = adv_vault_get_fieldg_vaultg_Campos] );
            }

            
adv_vault_get_fieldg_vaultg_CampoAvatarg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ) );
            
adv_vault_get_fieldg_vaultg_CampoOldConexiong_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
            return;
        }
        case 
Guardar:{

            
adv_vault_set_startg_vault );

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
adv_vault_set_fieldg_vaultg_Campos], g_PlayerDataindex ][ ] );
            }

            
adv_vault_set_field(g_vaultg_CampoAvatarg_PlayerAvatarindex ] );
            
adv_vault_set_field(g_vaultg_CampoOldConexiong_PlayerOldConexionindex ] );
            
adv_vault_set_endg_vault0g_playernameindex ] );
            
adv_vault_sort_updateg_vaultg_sort );
        }
    }
    return;
}
/*<!------ [ Stock Add_Points ] ------!>*/
stock add_point(number)

    new 
countistr[29], str2[35], len
    num_to_str
(numberstrcharsmax(str))
    
len strlen(str)

    for (
0leni++)
 {
        if (
!= && ((len i) %== 0))
        {
            
add(str2charsmax(str2), "."1)
            
count++
            
add(str2[i+count], 1str[i], 1)
 }
 else
 
add(str2[i+count], 1str[i], 1)
 }

    return 
str2;


/*<!------ [ Stock Add_Points ] ------!>*/
stock bool:is_player_steam( const index )
{
    new 
authid25 ];
    
get_user_authidindexauthid24 );

    if( 
containiauthid"STEAM_" ) == -)
        return 
true;
    return 
false;


This plugin requires:

[API] Advanced Vault System 1.5
https://amxmodx-es.com/showthread.php?tid=2939

[ SDT ] Steam data info
https://amxmodx-es.com/showthread.php?tid=21650


I tried to change

Code:
get_user_name
To--->
Code:
get_user_authid
But it throws me the SteamID instead of the name at the top
__________________

Last edited by Kelso; 10-09-2021 at 23:55.
Kelso is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 10-08-2021 , 23:47   Re: Change saved by name to SteamID
Reply With Quote #2

Right, that makes sense because you're displaying the string that you're storing. So, if you're storing SteamID, that's what you'll naturally see. To be able to handle both SteamID as the reference and have an associated name, it would require more complex handling.

I would guess that you'd need to add the name as a thing that you store in the vault and the retrieve that when you get the other data so that you can use it instead of the SteamID. The tricky part is that since people can easily change their name (even a lot if they want) you'll have to determine which name you store.
__________________
fysiks is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 10-09-2021 , 12:16   Re: Change saved by name to SteamID
Reply With Quote #3

This plugin supports non-steam players.

"Only non-steam can change the avatar"
PHP Code:
    if( is_player_steamindex ) )
    {
        
client_printindexprint_console"[ AMXX ] Solo los no steam pueden cambiar el avatar" );
        return 
PLUGIN_HANDLED
    } 
__________________
Bugsy is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 10-09-2021 , 13:38   Re: Change saved by name to SteamID
Reply With Quote #4

Quote:
Originally Posted by Bugsy View Post
This plugin supports non-steam players.

"Only non-steam can change the avatar"
PHP Code:
    if( is_player_steamindex ) )
    {
        
client_printindexprint_console"[ AMXX ] Solo los no steam pueden cambiar el avatar" );
        return 
PLUGIN_HANDLED
    } 
If he's requesting that the plugin use SteamID as the primary key, does it really remain a non-Steam plugin?
__________________
fysiks is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 10-09-2021 , 14:41   Re: Change saved by name to SteamID
Reply With Quote #5

If the plugin continues to support both steam and non-steam, I'd say so.
__________________
Bugsy is offline
Kelso
Junior Member
Join Date: Nov 2019
Old 10-09-2021 , 15:03   Re: Change saved by name to SteamID
Reply With Quote #6

Quote:
Originally Posted by Bugsy View Post
If the plugin continues to support both steam and non-steam, I'd say so.
The server works only with STEAM, Unfortunately, I see the creator's idea was to save the rank/top by name so it works for non-Steam and that's the problem I want it to work for steam only
__________________
Kelso is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 10-09-2021 , 16:18   Re: Change saved by name to SteamID
Reply With Quote #7

Can you send me the include files and required .sma(s) so I can compile this? I don't want to register on that forum just to get the files.
__________________

Last edited by Bugsy; 10-09-2021 at 16:18.
Bugsy is offline
Kelso
Junior Member
Join Date: Nov 2019
Old 10-09-2021 , 16:31   Re: Change saved by name to SteamID
Reply With Quote #8

Quote:
Originally Posted by Bugsy View Post
Can you send me the include files and required .sma(s) so I can compile this? I don't want to register on that forum just to get the files.
Of course
Attached Files
File Type: 7z Top5.7z (15.5 KB, 33 views)
__________________

Last edited by Kelso; 10-09-2021 at 16:49.
Kelso is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 10-09-2021 , 18:31   Re: Change saved by name to SteamID
Reply With Quote #9

Try this
PHP Code:
/*<!------ [ Enumeradores ] ------!>*/
enum _:DATA 

    
HeadShots
    
Frags
    
Deaths
    
Damages
    
Hits
    
BP
    
BD
    
Knifes 
};

enum _:ADV_DATA 

    
Cargar 0
    
Guardar 
};
/*<!------ [ Defines ] ------!>*/
#define is_player_valid(%1) ( (1<=get_user_team(%1)<=2) && is_user_connected(%1) && !is_user_hltv(%1) && !is_user_bot(%1) )
#define MAX_AVATAR_LENGHT 200
/*<!------ [ Librerias ] ------!>*/
#include <amxmodx>
#include <amxmisc>
#include <adv_vault>
#include <csx>
#include <steamdata>
/*<!------ [ Variables ] ------!>*/
new g_Plugin[ ][ ]= 
{
    
"AMXX-CsTop5",
    
"1.0",
    
"Alejandro-."
}

new 
g_DataBase[ ] = "AMXX-Top5";
new 
g_Tag[ ] = "^4[AMXX]^1";

new 
gz_DefaultAvatar[ ] = "https://i.ibb.co/HB7q1P9/profile.png";
new 
gz_bgCsStats[ ] = "https://imgfz.com/i/zh69Gtp.jpeg"
new 
gz_bgCsTop[ ] = "https://fotos.subefotos.com/711db44d9b7cbeaf0bc417b8b15dc688o.jpg";

new 
g_PlayerDataMAX_PLAYERS ][ _:DATA ],
g_authidMAX_PLAYERS ][ 35],
g_PlayerNameMAX_PLAYERS ][ MAX_NAME_LENGTH ] ,
g_PlayerAvatarMAX_PLAYERS ][ MAX_AVATAR_LENGHT ],
g_PlayerOldConexionMAX_PLAYERS ][ 30 ];

new 
iMaxPlayers;

new 
g_vaultg_sort;

new 
g_Campos_:DATA ];

new 
g_CampoName g_CampoAvatarg_CampoOldConexion;
/*<!------ [ Plugin init ] ------!>*/
public plugin_init( ) 
{
    
register_plugin(g_Plugin], g_Plugin], g_Plugin] );
    
/* COMANDOS */
    
register_clcmd("say /top5""DisplayTop");
    
register_clcmd("say top5""DisplayTop");
    
register_clcmd("say_team /top5""DisplayTop");
    
register_clcmd("say_team top5""DisplayTop");
    
register_concmd("amx_avatar""cmd_avatar"_"[URL AVATAR 640x640]");
    
register_concmd("say""hooksay");
    
register_concmd("say_team""hooksay");
    
/* EVENTOS */
    
register_event("DeathMsg""Event_Death""a");
    
register_event("Damage""Event_Dmg""b");

    
g_vault adv_vault_openg_DataBasefalse);
    
iMaxPlayers get_maxplayers();
    
    
/* ADV_VAULT */
    
static i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_Campos] =  adv_vault_register_field(g_vaultfmt"PLAYERDATA-#%d") );
    }
    
    
g_CampoName adv_vault_register_field(g_vault"PLAYERDATA-NAME"DATATYPE_STRINGcharsmaxg_PlayerName[ ] ) );
    
g_CampoAvatar adv_vault_register_field(g_vault"PLAYERDATA-AVATAR"DATATYPE_STRINGcharsmaxg_PlayerAvatar[ ] ) );
    
g_CampoOldConexion adv_vault_register_field(g_vault"PLAYERDATA-OLD"DATATYPE_STRINGcharsmaxg_PlayerOldConexion[ ] ) );

    
adv_vault_init(g_vault);
    
g_sort adv_vault_sort_create(g_vaultORDER_DESC02000g_CamposDamages ], g_CamposFrags ], g_CamposHeadShots ]);
}
/*<!------ [ Hook Say ] ------!>*/
public hooksayindex )
{
    new 
szMensaje74 ];
    
read_argsszMensajecharsmaxszMensaje ) );   
    
remove_quotesszMensaje ); 

    new 
Cmd15 ], PlayerMAX_NAME_LENGTH ];
    
parseszMensajeCmdcharsmaxCmd ), PlayercharsmaxPlayer ) );

    if( 
equalCmd"stats" ) || equalCmd"/stats" ) || equalCmd"/estadisticas" ) || equalCmd"estadisticas" ) )
    {
        new 
PlayerNameMAX_NAME_LENGTH ];
        new 
IndexNameMAX_NAME_LENGTH ];

        if( !
Player] ) get_user_nameindexPlayerNamecharsmaxPlayerName ) ); 
        else 
formatPlayerNamecharsmaxPlayerName ), Player );

        new 
iDatasizeofg_PlayerData[ ] ) ], 
            
szAvatar150 ], 
            
szOldConexion30 ],
            
szNameMAX_NAME_LENGTH ];

        new 
szMotd1536 ];

        static 
iLen;    
        
iLen 0;

        if( !
adv_vault_get_prepareg_vault_PlayerName ) ) 
        {
            
client_print_colorindex print_chat"%s El jugador al cual quieres ver las estadisticas no existe"g_Tag );
            return 
PLUGIN_HANDLED;
        }

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
iData] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoNameszName33 );
        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
adv_vault_get_fieldg_vaultg_CampoOldConexionszOldConexion29 );

        
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
            
"<body><style>\
            body{color:#121212;background:url(^"
%s^");\
            display: flex;\
            min-height: 100vh;\
            background-position: center center;\
            background-repeat: no-repeat;\
            background-attachment: fixed;\
            background-size: cover;\
            font-family:arial,sans-serif}\
            img{border-radius:110;width:40%%;}\
            h1{font-size:15px;background:#F4DA06}\
            h4{color:white}\
            .left,.right {width:38%%;text-align:center;margin-top:4%%;padding:3%%}\
            .left{float:left;margin-left:4.5%%}\
            .right{float:right;margin-right:4.5%%}\
            table{border:1px solid #F4DA06;font-size:10px}\
            th{background: #F4DA06}\
            td{border:1px solid #F4DA06;color:white}</style>"
gz_bgCsStats );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<div class=left><h1>PERFIL</h1></br><img src=%s></br><h4>%s</h4>"szAvatarPlayerName );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</div><div class=right>\
            <h1>ESTADISTICAS</h1>\
            </br>\
            <table width=100%%>\
            <tr align=center>\
            <th width=25%%>Frags\
            <th width=25%%>HeadShots\
            <th width=20%%>BP\
            <th width=30%%>Damage"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataFrags ] ), add_pointiDataHeadShots ] ),  add_pointiDataBP ] ), add_pointiDataDamages ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Muertes\
            <th width=25%%>Cuchillo\
            <th width=20%%>BD\
            <th width=30%%>Hits"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataDeaths ] ), add_pointiDataKnifes ] ),  add_pointiDataBD ] ), add_pointiDataHits ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Ultima vez jugando:" 
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s</table>"
szOldConexion );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</br>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</body>" );

        if( !
equalPlayerIndexName ) ) client_print_color0print_team_default"%s El jugador: ^4%s^1 esta viendo las estadisticas de: ^3%s"g_TagIndexNamePlayerName )
        
show_motdindexszMotdfmt"AMXX-STATS | %s"PlayerName ) );
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}
/*<!------ [ Csx Bomb Planted ] ------!>*/
public bomb_plantedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][BP]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Csx Bomb Defused ] ------!>*/
public bomb_defusedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][ BD ]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Comand avatar ] ------!>*/
public cmd_avatarindexlevelcid )
{
    if( !
cmd_accessindexlevelcid2) )
    return 
PLUGIN_HANDLED;

    new 
arg150 ];
    
read_argv1argcharsmaxarg ) );
    
    if( !
containarg"https://" ) && !containarg"http://" ) && !containarg"www." )  )
    {
        
client_printindexprint_console"[ AMXX ] Debe ser un archivo subido a la web.")
        return 
PLUGIN_HANDLED;
    }

    if( 
strlenarg ) > 100 )
    {    
        
client_printindexprint_console"[ AMXX ] No puede ser un url mayor a 50 caracteres");
        return 
PLUGIN_HANDLED;
    }

    
formatg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), arg );
    
client_printindexprint_console"[ AMXX ] Tu avatar fue insertado correctamente!!");
    
adv_dataindexGuardar );
    return 
PLUGIN_HANDLED;
}
/*<!------ [ Display Top 5 ] ------!>*/
public DisplayTopindex )
{
    new 
szMotd1520 ];
    static 
iLen;
    
iLen 0;

    new 
keyindex
        
/*pj[ MAX_NAME_LENGTH ], */
        
count 0;

    new 
iDatasizeofg_PlayerData[ ] ) ], 
        
szAvatar199 ],
        
szNameMAX_NAME_LENGTH ];

    new 
toploop minadv_vault_sort_numresult(g_vaultg_sort), );

    
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
        
"<body><style>body{color:white;background:url(^"%s^");\
        font-family:Arial,sans-serif;\
        background-position: center center}\
        table{border:10px;width:87%%;margin-top:10%%;background:#121212}\
        td{font-size:13px;background:#272727}\
        th{color:black;font-size:14px;background:#F4DA06;padding:1%%}\
        </style>\
        <table align=center>\
        <tr align=center>\
        <th width=10%%>#\
        <th width=3%% height=5%%>Logo\
        <th width=30%%>Nombre\
        <th width=25%%>Frags\
        <th width=15%%>Muertes"
gz_bgCsTop );

    for( new 
position 1position <= toploopposition++ )
    {
        
keyindex adv_vault_sort_positiong_vaultg_sortposition )

        if( !
adv_vault_get_prepareg_vaultkeyindex ) ) 
            continue;

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
iData] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoNameszNamecharsmaxszName ) );
        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
//adv_vault_get_keyname( g_vault, keyindex, pj, 31 );
        
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<tr align=center>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"position );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td><img width=40px src=%s>"szAvatar );
        
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%s"szName);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d       (HS: %d)"iDataFrags ], iDataHeadShots ] );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"iDataDeaths ] );
        
count++;
    }
    
    
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table></body>" );

    if( 
count 
        
show_motdindexszMotd"AMXX | TOP 5" );
    else 
        
client_print_colorindexprint_team_default"%s No se encontraron jugadores posicionados en este top."g_Tag );
}
/*<!------ [ Client Putinserver ] ------!>*/
public client_authorizedindex )
{
    
get_user_authidindexg_authidindex ], charsmaxg_authid[ ] ) );
    
    static 
i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_PlayerDataindex ][ ] = EOS;
    }

    
g_PlayerOldConexionindex ][ ] = EOS;

    
copyg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), gz_DefaultAvatar );
    
get_user_nameindex g_PlayerNameindex ] , charsmax(g_PlayerName[ ] ) );

    
set_task1.0"SteamLoadData"index );
}

public 
SteamLoadDataindex )
{
    
adv_dataindexCargar );
    
get_steamdataindexg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), STD_AVATAR_FULL );
}

/*<!------ [ Client Disconected ] ------!>*/
public client_disconnectedindex )
{
    
get_time"%d/%m/%Y - %H:%M:%S"g_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
    
get_user_nameindex g_PlayerNameindex ] , charsmax(g_PlayerName[ ] ) );
    
adv_dataindexGuardar );
}

/*<!------ [ Evento Damage ] ------!>*/
public Event_Dmgindex )
{
    new 
get_user_attackerindex )
    new 
damage read_data(2)

    if(!
is_user_alive(a) || !(<= <= iMaxPlayers) || == index || damage <= 0)
    {
        return
    }

    
g_PlayerData][ Damages ] += damage
    g_PlayerData
][ Hits ] += 1
    adv_data
aGuardar );
}
/*<!------ [ Evento Death Msg ] ------!>*/
public Event_Death()
{
    new 
Atack read_data(1);
    new 
Victm read_data(2);
    new 
hs read_data(3);
    new 
Weapon get_user_weapon(Atack);

    if( !
is_player_validAtack ) || !is_player_validVictm ) )
    return;

    if(
Atack == Victm)
    {
        
g_PlayerDataAtack ][ Frags ] -= 1;
        
g_PlayerDataAtack ][ Deaths ]++;
        
adv_dataAtackGuardar );
        return;
    }

    if(
Weapon == CSW_KNIFEg_PlayerDataAtack ][ Knifes ]++;

    if(
hsg_PlayerDataAtack ][ HeadShots ]++;

    
g_PlayerDataAtack ][ Frags ]++;
    
g_PlayerDataVictm ][ Deaths ]++;
    
adv_dataVictmGuardar );
    
adv_dataAtackGuardar );
}
/*<!------ [ Adv Vault Save/Load ] ------!>*/
public adv_dataindextype_adv_use )
{
    if( !
is_user_connectedindex ) )
    return;

    switch( 
type_adv_use )
    {
        case 
Cargar:{

            if( !
adv_vault_get_prepareg_vault_g_authidindex ] ) )    
                return;

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
g_PlayerDataindex ][ ] = adv_vault_get_fieldg_vaultg_Campos] );
            }

            
adv_vault_get_fieldg_vaultg_CampoAvatarg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ) );
            
adv_vault_get_fieldg_vaultg_CampoOldConexiong_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
            return;
        }
        case 
Guardar:{

            
adv_vault_set_startg_vault );

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
adv_vault_set_fieldg_vaultg_Campos], g_PlayerDataindex ][ ] );
            }
            
            
adv_vault_set_field(g_vaultg_CampoNameg_PlayerNameindex ] );
            
adv_vault_set_field(g_vaultg_CampoAvatarg_PlayerAvatarindex ] );
            
adv_vault_set_field(g_vaultg_CampoOldConexiong_PlayerOldConexionindex ] );
            
adv_vault_set_endg_vault0g_authidindex ] );
            
adv_vault_sort_updateg_vaultg_sort );
        }
    }
    return;
}
/*<!------ [ Stock Add_Points ] ------!>*/
stock add_point(number)

    new 
countistr[29], str2[35], len
    num_to_str
(numberstrcharsmax(str))
    
len strlen(str)

    for (
0leni++)
    {
        if (
!= && ((len i) %== 0))
        {
            
add(str2charsmax(str2), "."1)
            
count++
            
add(str2[i+count], 1str[i], 1)
        }
        else
        
add(str2[i+count], 1str[i], 1)
    }

    return 
str2;

__________________

Last edited by Bugsy; 10-09-2021 at 20:27.
Bugsy is offline
Kelso
Junior Member
Join Date: Nov 2019
Old 10-09-2021 , 18:51   Re: Change saved by name to SteamID
Reply With Quote #10

Quote:
Originally Posted by Bugsy View Post
Try this
PHP Code:
/*<!------ [ Enumeradores ] ------!>*/
enum _:DATA 

    
HeadShots
    
Frags
    
Deaths
    
Damages
    
Hits
    
BP
    
BD
    
Knifes 
};

enum _:ADV_DATA 

    
Cargar 0
    
Guardar 
};
/*<!------ [ Defines ] ------!>*/
#define is_player_valid(%1) ( (1<=get_user_team(%1)<=2) && is_user_connected(%1) && !is_user_hltv(%1) && !is_user_bot(%1) )
#define MAX_AVATAR_LENGHT 200
/*<!------ [ Librerias ] ------!>*/
#include <amxmodx>
#include <amxmisc>
#include <adv_vault>
#include <csx>
#include <steamdata>
/*<!------ [ Variables ] ------!>*/
new g_Plugin[ ][ ]= 
{
    
"AMXX-CsTop5",
    
"1.0",
    
"Alejandro-."
}

new 
g_DataBase                 [ ] = "AMXX-Top5";
new 
g_Tag                     [ ] = "^4[AMXX]^1";

new 
gz_DefaultAvatar        [ ] = "https://i.ibb.co/HB7q1P9/profile.png";
new 
gz_bgCsStats            [ ] = "https://imgfz.com/i/zh69Gtp.jpeg"
new 
gz_bgCsTop                [ ] = "https://fotos.subefotos.com/711db44d9b7cbeaf0bc417b8b15dc688o.jpg";

new 
g_PlayerDataMAX_PLAYERS ][ _:DATA ],
g_authidMAX_PLAYERS ][ 35],
g_NameMAX_PLAYERS ][ MAX_NAME_LENGTH ] ,
g_PlayerAvatarMAX_PLAYERS ][ MAX_AVATAR_LENGHT ],
g_PlayerOldConexionMAX_PLAYERS ][ 30 ];

new 
iMaxPlayers;

new 
g_vault
g_sort;

new 
g_Campos_:DATA ];

new 
g_CampoName g_CampoAvatarg_CampoOldConexion;
/*<!------ [ Plugin init ] ------!>*/
public plugin_init( ) 
{
    
register_plugin(g_Plugin], g_Plugin], g_Plugin] );
    
/* COMANDOS */
    
register_clcmd("say /top5""DisplayTop");
    
register_clcmd("say top5""DisplayTop");
    
register_clcmd("say_team /top5""DisplayTop");
    
register_clcmd("say_team top5""DisplayTop");
    
register_concmd("amx_avatar""cmd_avatar"_"[URL AVATAR 640x640]");
    
register_concmd("say""hooksay");
    
register_concmd("say_team""hooksay");
    
/* EVENTOS */
    
register_event("DeathMsg""Event_Death""a");
    
register_event("Damage""Event_Dmg""b");

    
g_vault adv_vault_openg_DataBasefalse);
    
iMaxPlayers get_maxplayers();
    
    
/* ADV_VAULT */
    
static i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_Campos] =  adv_vault_register_field(g_vaultfmt"PLAYERDATA-#%d") );
    }
    
    
g_CampoName adv_vault_register_field(g_vault"PLAYERDATA-NAME"DATATYPE_STRINGcharsmaxg_Name[ ] ) );
    
g_CampoAvatar adv_vault_register_field(g_vault"PLAYERDATA-AVATAR"DATATYPE_STRINGcharsmaxg_PlayerAvatar[ ] ) );
    
g_CampoOldConexion adv_vault_register_field(g_vault"PLAYERDATA-OLD"DATATYPE_STRINGcharsmaxg_PlayerOldConexion[ ] ) );

    
adv_vault_init(g_vault);
    
g_sort adv_vault_sort_create(g_vaultORDER_DESC02000g_CamposDamages ], g_CamposFrags ], g_CamposHeadShots ]);
}
/*<!------ [ Hook Say ] ------!>*/
public hooksayindex )
{
    new 
szMensaje74 ];
    
read_argsszMensajecharsmaxszMensaje ) );   
    
remove_quotesszMensaje ); 

    new 
Cmd15 ], PlayerMAX_NAME_LENGTH ];
    
parseszMensajeCmdcharsmaxCmd ), PlayercharsmaxPlayer ) );

    if( 
equalCmd"stats" ) || equalCmd"/stats" ) || equalCmd"/estadisticas" ) || equalCmd"estadisticas" ) )
    {
        new 
PlayerNameMAX_NAME_LENGTH ];
        new 
IndexNameMAX_NAME_LENGTH ];

        if( !
Player] ) get_user_nameindexPlayerNamecharsmaxPlayerName ) ); 
        else 
formatPlayerNamecharsmaxPlayerName ), Player );

        new 
iDatasizeofg_PlayerData[ ] ) ], 
            
szAvatar150 ], 
            
szOldConexion30 ],
            
szNameMAX_NAME_LENGTH ];

        new 
szMotd1536 ];

        static 
iLen;    
        
iLen 0;

        if( !
adv_vault_get_prepareg_vault_PlayerName ) ) 
        {
            
client_print_colorindex print_chat"%s El jugador al cual quieres ver las estadisticas no existe"g_Tag );
            return 
PLUGIN_HANDLED;
        }

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
iData] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoNameszName33 );
        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
adv_vault_get_fieldg_vaultg_CampoOldConexionszOldConexion29 );

        
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
            
"<body><style>\
            body{color:#121212;background:url(^"
%s^");\
            display: flex;\
            min-height: 100vh;\
            background-position: center center;\
            background-repeat: no-repeat;\
            background-attachment: fixed;\
            background-size: cover;\
            font-family:arial,sans-serif}\
            img{border-radius:110;width:40%%;}\
            h1{font-size:15px;background:#F4DA06}\
            h4{color:white}\
            .left,.right {width:38%%;text-align:center;margin-top:4%%;padding:3%%}\
            .left{float:left;margin-left:4.5%%}\
            .right{float:right;margin-right:4.5%%}\
            table{border:1px solid #F4DA06;font-size:10px}\
            th{background: #F4DA06}\
            td{border:1px solid #F4DA06;color:white}</style>"
gz_bgCsStats );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<div class=left><h1>PERFIL</h1></br><img src=%s></br><h4>%s</h4>"szAvatarPlayerName );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</div><div class=right>\
            <h1>ESTADISTICAS</h1>\
            </br>\
            <table width=100%%>\
            <tr align=center>\
            <th width=25%%>Frags\
            <th width=25%%>HeadShots\
            <th width=20%%>BP\
            <th width=30%%>Damage"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataFrags ] ), add_pointiDataHeadShots ] ),  add_pointiDataBP ] ), add_pointiDataDamages ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Muertes\
            <th width=25%%>Cuchillo\
            <th width=20%%>BD\
            <th width=30%%>Hits"
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s\
            <td>%s\
            <td>%s\
            <td>%s"
add_pointiDataDeaths ] ), add_pointiDataKnifes ] ),  add_pointiDataBD ] ), add_pointiDataHits ] ) );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table><table width=100%%>\
            <tr align=center>\
            <th width=25%%>Ultima vez jugando:" 
);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"\
            <tr align=center>\
            <td>%s</table>"
szOldConexion );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</br>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</body>" );

        if( !
equalPlayerIndexName ) ) client_print_color0print_team_default"%s El jugador: ^4%s^1 esta viendo las estadisticas de: ^3%s"g_TagIndexNamePlayerName )
        
show_motdindexszMotdfmt"AMXX-STATS | %s"PlayerName ) );
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}
/*<!------ [ Csx Bomb Planted ] ------!>*/
public bomb_plantedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][BP]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Csx Bomb Defused ] ------!>*/
public bomb_defusedindex )
{
    if( !
is_user_connectedindex ) )
    return;

    
g_PlayerDataindex ][ BD ]++;
    
adv_dataindexGuardar );
}
/*<!------ [ Comand avatar ] ------!>*/
public cmd_avatarindexlevelcid )
{
    if( !
cmd_accessindexlevelcid2) )
    return 
PLUGIN_HANDLED;

    new 
arg150 ];
    
read_argv1argcharsmaxarg ) );
    
    if( !
containarg"https://" ) && !containarg"http://" ) && !containarg"www." )  )
    {
        
client_printindexprint_console"[ AMXX ] Debe ser un archivo subido a la web.")
        return 
PLUGIN_HANDLED;
    }

    if( 
strlenarg ) > 100 )
    {    
        
client_printindexprint_console"[ AMXX ] No puede ser un url mayor a 50 caracteres");
        return 
PLUGIN_HANDLED;
    }

    if( 
is_player_steamindex ) )
    {
        
client_printindexprint_console"[ AMXX ] Solo los no steam pueden cambiar el avatar" );
        return 
PLUGIN_HANDLED;        
    }

    
formatg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), arg );
    
client_printindexprint_console"[ AMXX ] Tu avatar fue insertado correctamente!!");
    
adv_dataindexGuardar );
    return 
PLUGIN_HANDLED;
}
/*<!------ [ Display Top 5 ] ------!>*/
public DisplayTopindex )
{
    new 
szMotd1520 ];
    static 
iLen;
    
iLen 0;

    new 
keyindex
        
/*pj[ MAX_NAME_LENGTH ], */
        
count 0;

    new 
iDatasizeofg_PlayerData[ ] ) ], 
        
szAvatar199 ],
        
szNameMAX_NAME_LENGTH ];

    new 
toploop minadv_vault_sort_numresult(g_vaultg_sort), );

    
iLen += formatexszMotdiLen ], sizeof szMotd iLen,
        
"<body><style>body{color:white;background:url(^"%s^");\
        font-family:Arial,sans-serif;\
        background-position: center center}\
        table{border:10px;width:87%%;margin-top:10%%;background:#121212}\
        td{font-size:13px;background:#272727}\
        th{color:black;font-size:14px;background:#F4DA06;padding:1%%}\
        </style>\
        <table align=center>\
        <tr align=center>\
        <th width=10%%>#\
        <th width=3%% height=5%%>Logo\
        <th width=30%%>Nombre\
        <th width=25%%>Frags\
        <th width=15%%>Muertes"
gz_bgCsTop );

    for( new 
position 1position <= toploopposition++ )
    {
        
keyindex adv_vault_sort_positiong_vaultg_sortposition )

        if( !
adv_vault_get_prepareg_vaultkeyindex ) ) 
            continue;

        static 
i;
        for( 
0<sizeofg_PlayerData[ ] ); i++ )
        {
            
iData] = adv_vault_get_fieldg_vaultg_Campos] );
        }

        
adv_vault_get_fieldg_vaultg_CampoNameszNamecharsmaxszName ) );
        
adv_vault_get_fieldg_vaultg_CampoAvatarszAvatar199 );
        
//adv_vault_get_keyname( g_vault, keyindex, pj, 31 );
        
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<tr align=center>" );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"position );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td><img width=40px src=%s>"szAvatar );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%s"szName);
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d       (HS: %d)"iDataFrags ], iDataHeadShots ] );
        
iLen += formatexszMotdiLen ], sizeof szMotd iLen"<td>%d"iDataDeaths ] );
        
count++;
    }
    
    
iLen += formatexszMotdiLen ], sizeof szMotd iLen"</table></body>" );

    if( 
count 
        
show_motdindexszMotd"AMXX | TOP 5" );
    else 
        
client_print_colorindexprint_team_default"%s No se encontraron jugadores posicionados en este top."g_Tag );
}
/*<!------ [ Client Putinserver ] ------!>*/
public client_putinserverindex )
{
    
get_user_authidindexg_authidindex ], charsmaxg_authid[ ] ) );
    
    static 
i;
    for( 
0<sizeofg_PlayerData[ ] ); i++ )
    {
        
g_PlayerDataindex ][ ] = EOS;
    }

    
g_PlayerOldConexionindex ] = "^0";
    
g_PlayerAvatarindex ] = "^0";

    
formatg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ), gz_DefaultAvatar );
    
get_user_nameindex g_Nameindex ] , charsmaxg_Name[ ] ) );
    
    
adv_dataindexCargar );
}

/*<!------ [ Client Disconected ] ------!>*/
public client_disconnectedindex )
{
    
get_time"%d/%m/%Y - %H:%M:%S"g_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
    
adv_dataindexGuardar );
}

/*<!------ [ Evento Damage ] ------!>*/
public Event_Dmgindex )
{
    new 
get_user_attackerindex )
    new 
damage read_data(2)

    if(!
is_user_alive(a) || !(<= <= iMaxPlayers) || == index || damage <= 0)
    {
        return
    }

    
g_PlayerData][ Damages ] += damage
    g_PlayerData
][ Hits ] += 1
    adv_data
aGuardar );
}
/*<!------ [ Evento Death Msg ] ------!>*/
public Event_Death()
{
    new 
Atack read_data(1);
    new 
Victm read_data(2);
    new 
hs read_data(3);
    new 
Weapon get_user_weapon(Atack);

    if( !
is_player_validAtack ) || !is_player_validVictm ) )
    return;

    if(
Atack == Victm)
    {
        
g_PlayerDataAtack ][ Frags ] -= 1;
        
g_PlayerDataAtack ][ Deaths ]++;
        
adv_dataAtackGuardar );
        return;
    }

    if(
Weapon == CSW_KNIFEg_PlayerDataAtack ][ Knifes ]++;

    if(
hsg_PlayerDataAtack ][ HeadShots ]++;

    
g_PlayerDataAtack ][ Frags ]++;
    
g_PlayerDataVictm ][ Deaths ]++;
    
adv_dataVictmGuardar );
    
adv_dataAtackGuardar );
}
/*<!------ [ Adv Vault Save/Load ] ------!>*/
public adv_dataindextype_adv_use )
{
    if( !
is_user_connectedindex ) )
    return;

    switch( 
type_adv_use )
    {
        case 
Cargar:{

            if( !
adv_vault_get_prepareg_vault_g_authidindex ] ) )    
                return;

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
g_PlayerDataindex ][ ] = adv_vault_get_fieldg_vaultg_Campos] );
            }

            
adv_vault_get_fieldg_vaultg_CampoAvatarg_PlayerAvatarindex ], charsmaxg_PlayerAvatar[ ] ) );
            
adv_vault_get_fieldg_vaultg_CampoOldConexiong_PlayerOldConexionindex ], charsmaxg_PlayerOldConexion[ ] ) );
            return;
        }
        case 
Guardar:{

            
adv_vault_set_startg_vault );

            static 
i;
            for( 
0<sizeofg_PlayerData[ ] ); i++ )
            {
                
adv_vault_set_fieldg_vaultg_Campos], g_PlayerDataindex ][ ] );
            }
            
server_print"SAVE NAME %s" g_Nameindex ] );
            
adv_vault_set_field(g_vaultg_CampoNameg_Nameindex ] );
            
adv_vault_set_field(g_vaultg_CampoAvatarg_PlayerAvatarindex ] );
            
adv_vault_set_field(g_vaultg_CampoOldConexiong_PlayerOldConexionindex ] );
            
adv_vault_set_endg_vault0g_authidindex ] );
            
adv_vault_sort_updateg_vaultg_sort );
        }
    }
    return;
}
/*<!------ [ Stock Add_Points ] ------!>*/
stock add_point(number)

    new 
countistr[29], str2[35], len
    num_to_str
(numberstrcharsmax(str))
    
len strlen(str)

    for (
0leni++)
    {
        if (
!= && ((len i) %== 0))
        {
            
add(str2charsmax(str2), "."1)
            
count++
            
add(str2[i+count], 1str[i], 1)
        }
        else
        
add(str2[i+count], 1str[i], 1)
    }

    return 
str2;


/*<!------ [ Stock Add_Points ] ------!>*/
stock bool:is_player_steam( const index )
{
    new 
authid25 ];
    
get_user_authidindexauthid24 );

    if( 
containiauthid"STEAM_" ) == -)
        return 
true;
    return 
false;

It works, but now it does not show me the avatar of the players and neither the /stats "The player you want to see statistics for does not exist"
__________________

Last edited by Kelso; 10-09-2021 at 18:55.
Kelso is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:45.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode