HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <csx>
  3. #include <nvault>
  4.  
  5. new g_NvID, g_sBuffer[2048], toggle_sound;
  6. static const CONTACT[] = ""
  7.  
  8. public plugin_init()
  9. {
  10. //Szerkeztette & Magyarositotta : ibi (ultraibolya)
  11. register_plugin("CFG Top3+", "1.4", "mut2nt & razna");
  12. register_cvar("CFG Top3+", "1.4/mut2nt&razna", FCVAR_SERVER);
  13.  
  14. register_clcmd("say /top3", "cmdTop10", 0);
  15. register_clcmd("say_team /top3", "cmdTop10", 0);
  16.  
  17. toggle_sound = register_cvar("cfg_top3_sound", "1")
  18. register_cvar("cfg_top10_msg", CONTACT, FCVAR_SERVER)
  19.  
  20. g_NvID = nvault_open("playtimevault");
  21. }
  22.  
  23. public client_disconnect(id)
  24. {
  25. new szPlayTime[8], szAuthID[35], iPlayTime,ts;
  26. get_user_name(id, szAuthID, 34);
  27.  
  28. if( !nvault_lookup( g_NvID, szAuthID , szPlayTime , 7 , ts ) )
  29. {
  30. format(szPlayTime, 7, "%d" , get_user_time(id, 1) );
  31. nvault_set( g_NvID , szAuthID , szPlayTime);
  32. }
  33. else
  34. {
  35. iPlayTime = str_to_num(szPlayTime) + get_user_time(id, 1);
  36. format(szPlayTime, 7, "%d" , iPlayTime );
  37. nvault_set( g_NvID , szAuthID , szPlayTime);
  38. }
  39. }
  40.  
  41. Float:accuracy(izStats[8])
  42. {
  43. if (!izStats[4])
  44. {
  45. return (0.0);
  46. }
  47.  
  48. return (100.0 * float(izStats[5]) / float(izStats[4]));
  49. }
  50.  
  51. Float:effec(izStats[8])
  52. {
  53. if (!izStats[0])
  54. {
  55. return (0.0);
  56. }
  57.  
  58. return (100.0 * float(izStats[0]) / float(izStats[0] + izStats[1]));
  59. }
  60.  
  61. format_top10(sBuffer[2048])
  62. {
  63. new loc1 = get_statsnum();
  64. new loc2 = get_statsnum();
  65. new loc3 = get_statsnum();
  66.  
  67. new iMax = get_statsnum();
  68. new izStats[8], izBody[8], t_sName[32], msg[112];
  69. new iLen = 0;
  70.  
  71. if (iMax > 3)
  72. {
  73. iMax = 3;
  74. }
  75.  
  76. loc1 = 1;
  77. loc2 = 2;
  78. loc3 = 3;
  79. new szTime[8];
  80. new ts;
  81.  
  82. iLen = format(sBuffer, 2047, "<body bgcolor=#000000><font color=#FFB000><pre>");
  83. iLen += format(sBuffer[iLen], 2047 - iLen, "%2s %-22.22s %6s %6s %4s %6s %4s %4s^n", "#", "Nev", " Oles", "Halal", "Fejloves", " Eff", "Acc", "Jatekido");
  84.  
  85. for (new i = 0; i < loc1 && 2047 - iLen > 0; i++)
  86. {
  87. get_stats(i, izStats, izBody, t_sName, 31);
  88.  
  89.  
  90. replace_all(t_sName, 31, "<", "[");
  91. replace_all(t_sName, 31, ">", "]");
  92.  
  93.  
  94. new iCurTime = get_user_time( i , 1 );
  95. new iTotalTime = 0;
  96.  
  97. if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
  98. {
  99. iTotalTime = str_to_num(szTime);
  100. }
  101.  
  102. iLen += format(sBuffer[iLen], 2047 - iLen, "%2d <font color=#ff0000>%-22.22s</font> %6d %6d %4d %3.0f%% %3.0f%% %4d h <img src=http://nebunie.net/1.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
  103.  
  104. }
  105.  
  106. for (new i = 1; i < loc2 && 2047 - iLen > 0; i++)
  107. {
  108. get_stats(i, izStats, izBody, t_sName, 31);
  109. replace_all(t_sName, 31, "<", "[");
  110. replace_all(t_sName, 31, ">", "]");
  111.  
  112. new iCurTime = get_user_time( i , 1 );
  113. new iTotalTime = 0;
  114.  
  115. if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
  116. {
  117. iTotalTime = str_to_num(szTime);
  118. }
  119.  
  120. 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://nebunie.net/2.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
  121. }
  122.  
  123. for (new i = 2; i < loc3 && 2047 - iLen > 0; i++)
  124. {
  125. get_stats(i, izStats, izBody, t_sName, 31);
  126. replace_all(t_sName, 31, "<", "[");
  127. replace_all(t_sName, 31, ">", "]");
  128.  
  129. new iCurTime = get_user_time( i , 1 );
  130. new iTotalTime = 0;
  131.  
  132. if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
  133. {
  134. iTotalTime = str_to_num(szTime);
  135. }
  136.  
  137. iLen += format(sBuffer[iLen], 2047 - iLen, "%2d <font color=#fff007>%-22.22s</font> %6d %6d %4d %3.0f%% %3.0f%% %4d h <img src=http://nebunie.net/3.png>^n", i + 1, t_sName, izStats[0], izStats[1], izStats[2], effec(izStats), accuracy(izStats), ((iCurTime + iTotalTime) / 3600));
  138. }
  139.  
  140.  
  141. for (new i = 3; i < iMax && 2047 - iLen > 0; i++)
  142. {
  143. get_stats(i, izStats, izBody, t_sName, 31);
  144. replace_all(t_sName, 31, "<", "[");
  145. replace_all(t_sName, 31, ">", "]");
  146.  
  147. new iCurTime = get_user_time( i , 1 );
  148. new iTotalTime = 0;
  149.  
  150. if( nvault_lookup(g_NvID, t_sName , szTime, 7, ts) )
  151. {
  152. iTotalTime = str_to_num(szTime);
  153. }
  154.  
  155. 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));
  156. }
  157. get_cvar_string("cfg_top10_msg", msg, 63)
  158.  
  159. iLen += format(sBuffer[iLen], 2047 - iLen, "^n%s", msg);
  160.  
  161. }
  162.  
  163. public cmdTop10(id)
  164. {
  165. format_top10(g_sBuffer);
  166. show_motd(id, g_sBuffer, "Top 3");
  167.  
  168. if (get_pcvar_num(toggle_sound) != 0)
  169. {
  170. client_cmd(id,"spk ^"vox/deeoo top ten^"")
  171. }
  172.  
  173. return PLUGIN_CONTINUE;
  174. }
  175.  
  176. public plugin_end()
  177. {
  178. nvault_close(g_NvID);
  179. }