I install in my server i write /top5 not open anything do you know where is problem
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 [ ] = "LSTop5";
new g_Tag [ ] = "^4[LS]^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_PlayerData[ MAX_PLAYERS + 1 ][ _:DATA ],
g_playername[ MAX_PLAYERS + 1 ][ MAX_NAME_LENGTH ],
g_PlayerAvatar[ MAX_PLAYERS + 1 ][ MAX_AVATAR_LENGHT ],
g_PlayerOldConexion[ MAX_PLAYERS + 1 ][ 30 ];
new iMaxPlayers;
new g_vault,
g_sort;
new g_Campos[ _:DATA ];
new g_CampoAvatar, g_CampoOldConexion;
/*<!------ [ Plugin init ] ------!>*/
public plugin_init( )
{
register_plugin(g_Plugin[ 0 ], g_Plugin[ 1 ], g_Plugin[ 2 ] );
/* 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", _, "https://i.ibb.co/HB7q1P9/profile.png");
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_open( g_DataBase, false);
iMaxPlayers = get_maxplayers();
/* ADV_VAULT */
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
g_Campos[ i ] = adv_vault_register_field(g_vault, fmt( "PLAYERDATA-#%d", i ) );
}
g_CampoAvatar = adv_vault_register_field(g_vault, "PLAYERDATA-AVATAR", DATATYPE_STRING, charsmax( g_PlayerAvatar[ ] ) );
g_CampoOldConexion = adv_vault_register_field(g_vault, "PLAYERDATA-OLD", DATATYPE_STRING, charsmax( g_PlayerOldConexion[ ] ) );
adv_vault_init(g_vault);
g_sort = adv_vault_sort_create(g_vault, ORDER_DESC, 0, 2000, g_Campos[ Damages ], g_Campos[ Frags ], g_Campos[ HeadShots ]);
}
/*<!------ [ Hook Say ] ------!>*/
public hooksay( index )
{
new szMensaje[ 74 ];
read_args( szMensaje, charsmax( szMensaje ) );
remove_quotes( szMensaje );
new Cmd[ 15 ], Player[ MAX_NAME_LENGTH ];
parse( szMensaje, Cmd, charsmax( Cmd ), Player, charsmax( Player ) );
if( equal( Cmd, "stats" ) || equal( Cmd, "/stats" ) || equal( Cmd, "/stats" ) || equal( Cmd, "stats" ) )
{
new PlayerName[ MAX_NAME_LENGTH ];
new IndexName[ MAX_NAME_LENGTH ];
if( !Player[ 0 ] ) get_user_name( index, PlayerName, charsmax( PlayerName ) );
else format( PlayerName, charsmax( PlayerName ), Player );
new iData[ sizeof( g_PlayerData[ ] ) ],
szAvatar[ 150 ],
szOldConexion[ 30 ];
new szMotd[ 1536 ];
static iLen;
iLen = 0;
if( !adv_vault_get_prepare( g_vault, _, PlayerName ) )
{
client_print_color( index , print_chat, "%s Statistikat e lojtarit nuk jane te mundshme.", g_Tag );
return PLUGIN_HANDLED;
}
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
iData[ i ] = adv_vault_get_field( g_vault, g_Campos[ i ] );
}
adv_vault_get_field( g_vault, g_CampoAvatar, szAvatar, 199 );
adv_vault_get_field( g_vault, g_CampoOldConexion, szOldConexion, 29 );
iLen += formatex( szMotd[ iLen ], 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 += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<div class=left><h1>PROFILI</h1></br><img src=%s></br><h4>%s</h4>", szAvatar, PlayerName );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</div><div class=right>\
<h1>STATISTIKAT</h1>\
</br>\
<table width=100%%>\
<tr align=center>\
<th width=25%%>Vrasjet\
<th width=25%%>Koke\
<th width=20%%>BP\
<th width=30%%>Demtimet");
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "\
<tr align=center>\
<td>%s\
<td>%s\
<td>%s\
<td>%s", add_point( iData[ Frags ] ), add_point( iData[ HeadShots ] ), add_point( iData[ BP ] ), add_point( iData[ Damages ] ) );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</table><table width=100%%>\
<tr align=center>\
<th width=25%%>Vdekjet\
<th width=25%%>Thike\
<th width=20%%>BD\
<th width=30%%>Goditjet");
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "\
<tr align=center>\
<td>%s\
<td>%s\
<td>%s\
<td>%s", add_point( iData[ Deaths ] ), add_point( iData[ Knifes ] ), add_point( iData[ BD ] ), add_point( iData[ Hits ] ) );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</table><table width=100%%>\
<tr align=center>\
<th width=25%%>Aktiviteti Fundit:" );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "\
<tr align=center>\
<td>%s</table>", szOldConexion );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</br>" );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</body>" );
if( !equal( Player, IndexName ) ) client_print_color( 0, print_team_default, "%s Lojtari: ^4%s^1 po shikon statistikat e: ^3%s", g_Tag, IndexName, PlayerName )
show_motd( index, szMotd, fmt( "Narcos STATS | %s", PlayerName ) );
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
/*<!------ [ Csx Bomb Planted ] ------!>*/
public bomb_planted( index )
{
if( !is_user_connected( index ) )
return;
g_PlayerData[ index ][BP]++;
adv_data( index, Guardar );
}
/*<!------ [ Csx Bomb Defused ] ------!>*/
public bomb_defused( index )
{
if( !is_user_connected( index ) )
return;
g_PlayerData[ index ][ BD ]++;
adv_data( index, Guardar );
}
/*<!------ [ Comand avatar ] ------!>*/
public cmd_avatar( index, level, cid )
{
if( !cmd_access( index, level, cid, 2) )
return PLUGIN_HANDLED;
new arg[ 150 ];
read_argv( 1, arg, charsmax( arg ) );
if( !contain( arg, "https://" ) && !contain( arg, "http://" ) && !contain( arg, "www." ) )
{
client_print( index, print_console, "[Narcos] Duhet te jete skedari i ngarkuar ne web.")
return PLUGIN_HANDLED;
}
if( strlen( arg ) > 100 )
{
client_print( index, print_console, "[Narcos] Nuk mund te jete URL me shum se 50 karaktere");
return PLUGIN_HANDLED;
}
if( is_player_steam( index ) )
{
client_print( index, print_console, "[Narcos] Vetem STEAM mund te ndryshoj fotografin" );
return PLUGIN_HANDLED;
}
format( g_PlayerAvatar[ index ], charsmax( g_PlayerAvatar[ ] ), arg );
client_print( index, print_console, "[Narcos] Foto u ngarkua me sukses!!");
adv_data( index, Guardar );
return PLUGIN_HANDLED;
}
/*<!------ [ Display Top 5 ] ------!>*/
public DisplayTop( index )
{
new szMotd[ 1520 ];
static iLen;
iLen = 0;
new keyindex,
pj[ MAX_NAME_LENGTH ],
count = 0;
new iData[ sizeof( g_PlayerData[ ] ) ],
szAvatar[ 199 ];
new toploop = min( adv_vault_sort_numresult(g_vault, g_sort), 5 );
iLen += formatex( szMotd[ iLen ], 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%%>Emri\
<th width=25%%>Vrasjet\
<th width=15%%>Vdekjet", gz_bgCsTop );
for( new position = 1; position <= toploop; position++ )
{
keyindex = adv_vault_sort_position( g_vault, g_sort, position )
if( !adv_vault_get_prepare( g_vault, keyindex ) )
continue;
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
iData[ i ] = adv_vault_get_field( g_vault, g_Campos[ i ] );
}
adv_vault_get_field( g_vault, g_CampoAvatar, szAvatar, 199 );
adv_vault_get_keyname( g_vault, keyindex, pj, 31 );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<tr align=center>" );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<td>%d", position );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<td><img width=40px src=%s>", szAvatar );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<td>%s", pj);
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<td>%d (HS: %d)", iData[ Frags ], iData[ HeadShots ] );
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "<td>%d", iData[ Deaths ] );
count++;
}
iLen += formatex( szMotd[ iLen ], sizeof szMotd - iLen, "</table></body>" );
if( count )
show_motd( index, szMotd, "Narcos | TOP 5" );
else
client_print_color( index, print_team_default, "%s Asnje lojtar nuk u gjete ne Top5.", g_Tag );
}
/*<!------ [ Client Putinserver ] ------!>*/
public client_putinserver( index )
{
get_user_name( index, g_playername[ index ], charsmax( g_playername[ ] ) );
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
g_PlayerData[ index ][ i ] = EOS;
}
g_PlayerOldConexion[ index ] = "^0";
g_PlayerAvatar[ index ] = "^0";
if( is_player_steam( index ) )
{
format( g_PlayerAvatar[ index ], charsmax( g_PlayerAvatar[ ] ), gz_DefaultAvatar );
adv_data( index, Cargar );
}
else
{
set_task( 1.0, "SteamLoadData", index );
}
}
/*<!------ [ Steam Load Data ] ------!>*/
public SteamLoadData( index )
{
adv_data( index, Cargar );
get_steamdata( index, g_PlayerAvatar[ index ], charsmax( g_PlayerAvatar[ ] ), STD_AVATAR_FULL );
}
/*<!------ [ Client Disconected ] ------!>*/
public client_disconnected( index )
{
get_time( "%d/%m/%Y - %H:%M:%S", g_PlayerOldConexion[ index ], charsmax( g_PlayerOldConexion[ ] ) );
adv_data( index, Guardar );
}
/*<!------ [ Evento Damage ] ------!>*/
public Event_Dmg( index )
{
new a = get_user_attacker( index )
new damage = read_data(2)
if(!is_user_alive(a) || !(1 <= a <= iMaxPlayers) || a == index || damage <= 0)
{
return
}
g_PlayerData[ a ][ Damages ] += damage
g_PlayerData[ a ][ Hits ] += 1
adv_data( a, Guardar );
}
/*<!------ [ 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_valid( Atack ) || !is_player_valid( Victm ) )
return;
if(Atack == Victm)
{
g_PlayerData[ Atack ][ Frags ] -= 1;
g_PlayerData[ Atack ][ Deaths ]++;
adv_data( Atack, Guardar );
return;
}
if(Weapon == CSW_KNIFE) g_PlayerData[ Atack ][ Knifes ]++;
if(hs) g_PlayerData[ Atack ][ HeadShots ]++;
g_PlayerData[ Atack ][ Frags ]++;
g_PlayerData[ Victm ][ Deaths ]++;
adv_data( Victm, Guardar );
adv_data( Atack, Guardar );
}
/*<!------ [ Adv Vault Save/Load ] ------!>*/
public adv_data( index, type_adv_use )
{
if( !is_user_connected( index ) )
return;
switch( type_adv_use )
{
case Cargar:{
if( !adv_vault_get_prepare( g_vault, _, g_playername[ index ] ) )
return;
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
g_PlayerData[ index ][ i ] = adv_vault_get_field( g_vault, g_Campos[ i ] );
}
adv_vault_get_field( g_vault, g_CampoAvatar, g_PlayerAvatar[ index ], charsmax( g_PlayerAvatar[ ] ) );
adv_vault_get_field( g_vault, g_CampoOldConexion, g_PlayerOldConexion[ index ], charsmax( g_PlayerOldConexion[ ] ) );
return;
}
case Guardar:{
adv_vault_set_start( g_vault );
static i;
for( i = 0; i <sizeof( g_PlayerData[ ] ); i++ )
{
adv_vault_set_field( g_vault, g_Campos[ i ], g_PlayerData[ index ][ i ] );
}
adv_vault_set_field(g_vault, g_CampoAvatar, g_PlayerAvatar[ index ] );
adv_vault_set_field(g_vault, g_CampoOldConexion, g_PlayerOldConexion[ index ] );
adv_vault_set_end( g_vault, 0, g_playername[ index ] );
adv_vault_sort_update( g_vault, g_sort );
}
}
return;
}
/*<!------ [ Stock Add_Points ] ------!>*/
stock add_point(number)
{
new count, i, str[29], str2[35], len
num_to_str(number, str, charsmax(str))
len = strlen(str)
for (i = 0; i < len; i++)
{
if (i != 0 && ((len - i) %3 == 0))
{
add(str2, charsmax(str2), ".", 1)
count++
add(str2[i+count], 1, str[i], 1)
}
else
add(str2[i+count], 1, str[i], 1)
}
return str2;
}
/*<!------ [ Stock Add_Points ] ------!>*/
stock bool:is_player_steam( const index )
{
new authid[ 25 ];
get_user_authid( index, authid, 24 );
if( containi( authid, "STEAM_" ) == -1 )
return true;
return false;
}