[code]#include <amxmodx>
#include <csx>
#include <nvault>
new g_NvID, g_sBuffer[2048], toggle_sound;
static const CONTACT[] = ""
public plugin_init()
{
register_plugin("CFG Top10+", "1.4", "dydy");
register_cvar("CFG Top10+", "1.4/dydy", FCVAR_SERVER);
register_clcmd("say /top15", "cmdTop15", 0);
register_clcmd("say_team /top15", "cmdTop15", 0);
toggle_sound = register_cvar("cfg_top10_sound", "1")
register_cvar("cfg_top10_msg", CONTACT, FCVAR_SERVER)
g_NvID = nvault_open("playtimevault");
}
public client_disconnect(id)
{
new szPlayTime[8], szAuthID[35], iPlayTime,ts;
get_user_name(id, szAuthID, 34);
if( !nvault_lookup( g_NvID, szAuthID , szPlayTime , 7 , ts ) )
{
format(szPlayTime, 7, "%d" , get_user_time(id, 1) );
nvault_set( g_NvID , szAuthID , szPlayTime);
}
else
{
iPlayTime = str_to_num(szPlayTime) + get_user_time(id, 1);
format(szPlayTime, 7, "%d" , iPlayTime );
nvault_set( g_NvID , szAuthID , szPlayTime);
}
}
Float:accuracy(izStats[8])
{
if (!izStats[4])
{
return (0.0);
}
return (100.0 * float(izStats[5]) / float(izStats[4]));
}
Float:effec(izStats[8])
{
if (!izStats[0])
{
return (0.0);
}
return (100.0 * float(izStats[0]) / float(izStats[0] + izStats[1]));
}
format_top15(sBuffer[2048])
{
new loc1 = get_statsnum();
new loc2 = get_statsnum();
new loc3 = get_statsnum();
new iMax = get_statsnum();
new izStats[8], izBody[8], t_sName[32], msg[112];
new iLen = 0;
if (iMax > 15)
{
iMax = 15;
}
loc1 = 1;
loc2 = 2;
loc3 = 3;
new szTime[8];
new ts;
iLen = format(sBuffer, 2047, "<body bgcolor=#000000><font color=#FFB000><pre>");
iLen += format(sBuffer[iLen], 2047 - iLen, "%2s %-22.22s %6s %6s %4s %6s %4s %4s^n", "#", "Nick", " Kills", "Deaths", " HS", " Eff", "Acc", "PlayTime");
for (new i = 0; i < loc1 && 2047 - iLen > 0; i++)
{
get_stats(i, izStats, izBody, t_sName, 31);
replace_all(t_sName, 31, "<", "[");
replace_all(t_sName, 31, ">", "]");
new iCurTime = get_user_time( i , 1 );
new iTotalTime = 0;
if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
{
iTotalTime = str_to_num(szTime);
}
iLen += format(sBuffer[iLen], 2047 - iLen, "%2d <font color=ff0bb7>%-22.22s</font> %6d %6d %4d %3.0f%% %3.0f%% %4d h <img src=http://i.imgur.com/OYMiHuW.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
}
for (new i = 1; i < loc2 && 2047 - iLen > 0; i++)
{
get_stats(i, izStats, izBody, t_sName, 31);
replace_all(t_sName, 31, "<", "[");
replace_all(t_sName, 31, ">", "]");
new iCurTime = get_user_time( i , 1 );
new iTotalTime = 0;
if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
{
iTotalTime = str_to_num(szTime);
}
iLen += format(sBuffer[iLen], 2047 - iLen, "%2d <font color=#07fcff>%-22.22s</font> %6d %6d %4d %3.0f%% %3.0f%% %4d h <img src=http://i.imgur.com/QyNgJuD.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
}
for (new i = 2; i < loc3 && 2047 - iLen > 0; i++)
{
get_stats(i, izStats, izBody, t_sName, 31);
replace_all(t_sName, 31, "<", "[");
replace_all(t_sName, 31, ">", "]");
new iCurTime = get_user_time( i , 1 );
new iTotalTime = 0;
if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
{
iTotalTime = str_to_num(szTime);
}
iLen += format(sBuffer[iLen], 2047 - iLen, "%2d <font color=#0BF402>%-22.22s</font> %6d %6d %4d %3.0f%% %3.0f%% %4d h <img src=http://i.imgur.com/4WZm3cZ.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
}
for (new i = 3; i < iMax && 2047 - iLen > 0; i++)
{
get_stats(i, izStats, izBody, t_sName, 31);
replace_all(t_sName, 31, "<", "[");
replace_all(t_sName, 31, ">", "]");
new iCurTime = get_user_time( i , 1 );
new iTotalTime = 0;
if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
{
iTotalTime = str_to_num(szTime);
}
iLen += format(sBuffer[iLen], 2047 - iLen, "%2d %-22.22s %6d %6d %4d %3.0f%% %3.0f%% %4d h^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
}
get_cvar_string("cfg_top10_msg", msg, 63)
iLen += format(sBuffer[iLen], 2047 - iLen, "^n%s", msg);
iLen += format(sBuffer[iLen], 2047 - iLen, "^n<font color=#00FA9A>Acum joci pe serverul - furien.legendcs.com</font>^n");
iLen += format(sBuffer[iLen], 2047 - iLen, "^n<font color=#00FA9A>Viziteaza forumul nostru - www.legendcs.com</font>");
iLen += format(sBuffer[iLen], 2047 - iLen, "^n<font color=#00FA9A>Editia a II-a a concursului a inceput,scrie /concurs pentru amai multe detali!</font>");
}
public cmdTop15(id)
{
format_top15(g_sBuffer);
show_motd(id, g_sBuffer, "Top 15");
if (get_pcvar_num(toggle_sound) != 0)
{
client_cmd(id,"spk ^"vox/deeoo top ten^"")
}
return PLUGIN_CONTINUE;
}
public plugin_end()
{
nvault_close(g_NvID);
}[/code]