Index F.A.Q Membres MP Connexion
Inregistrare       Profil
»» Topx

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului sp2.MyForum.ro » Plugins
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
moschino
Patron
Patron


Data inscrierii: 31/Dec/2008
Mesaje: 6

MesajTrimis: 31/12/2008 14:54    Titlul subiectului: Topx Raspunde cu citat (quote)

Cod:
#include <amxmodx>
#include <amxmisc>
#include <csstats>

#define MAX_BUFFER_LENGTH       2047
#define MAX_NAME_LENGTH         31

#define STATS_KILLS             0
#define STATS_DEATHS            1
#define STATS_HS                2
#define STATS_TKS               3
#define STATS_SHOTS             4
#define STATS_HITS              5
#define STATS_DAMAGE            6

#define STATS_NUM 10

new g_sBuffer[MAX_BUFFER_LENGTH+1] = "";
new t_sName[MAX_NAME_LENGTH+1] = "";

public plugin_init() {
  register_plugin("TopX", "1.0", "SAMURAI & DangerMan/update x")
  register_clcmd("say", "hookSay")
}

public hookSay(id) {
  new args[128]
  read_args(args, 127)
  remove_quotes(args)
  if(equal(args, "/top", 4)) {
    new szStatsFrom[16]
    copy(szStatsFrom, 15, args[4])
    new statsFrom = str_to_num(szStatsFrom)
    new iMax = get_statsnum();
    if(statsFrom > 0 && statsFrom < iMax) {
      format_top15(g_sBuffer, statsFrom)
      show_motd(id, g_sBuffer, "Top")
    }
  }
  return PLUGIN_CONTINUE
}

Float:accuracy( izStats[8] ) {
  if( !izStats[STATS_SHOTS] ) return ( 0.0 );
  new Float:result
  result = 100.0 * float( izStats[STATS_HITS] ) / float( izStats[STATS_SHOTS] );
  return (result > 100.0) ? 100.0 : result
}

Float:effec( izStats[8] ) {
  if( !izStats[STATS_KILLS] ) return ( 0.0 );
  new Float:result
  result = 100.0 * float( izStats[STATS_KILLS] ) / float( izStats[STATS_KILLS] + izStats[STATS_DEATHS] );
  return (result > 100.0) ? 100.0 : result
}

format_top15(sBuffer[MAX_BUFFER_LENGTH+1], statsFrom){
  statsFrom--;
  new iStatsMax = statsFrom + STATS_NUM;
  new iMax = get_statsnum();
  new izStats[8], izBody[8];
  new iLen = 0, iOldLen = 0;

  if(iStatsMax > iMax)
    iStatsMax = iMax;

  iLen = format( sBuffer, MAX_BUFFER_LENGTH,
                  "<body bgcolor=#000000><font color=#FFB000><pre>" );
  iLen += format( sBuffer[iLen], MAX_BUFFER_LENGTH - iLen,
                  "%2s %-22.22s %9s %9s %9s %9s %4s %4s %4s^n",
                  "#",
                  "Nick",
                  "Kills",
                  "Deaths",
                  "Hits",
                  "Shots",
                  "HS",
                  "Eff.",
                  "Acc.");
  for(new i = statsFrom; i < iStatsMax && MAX_BUFFER_LENGTH - iLen > 0; i++) {
    get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH);
    iOldLen = iLen
    iLen += format( sBuffer[iLen], MAX_BUFFER_LENGTH - iLen,
                    "%2d %-22.22s %9d %9d %9d %9d %4d %3.0f%% %3.0f%%^n", i+1, t_sName,
                    izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS],
                    izStats[STATS_SHOTS], izStats[STATS_HS],
                    effec( izStats ), accuracy( izStats ) );
    while(MAX_BUFFER_LENGTH-iLen > 2 && replace(sBuffer[iOldLen], MAX_BUFFER_LENGTH-iOldLen, "<", "<")) {
      iLen += 3;
    }
  }
} 

Pluginul era facut
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului sp2.MyForum.ro -> Plugins Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum

Powered by phpBB © 2001, 2002 phpBB Group
Thème DarkX créé pour phpnuke par Mtechnik.net et modifié pour phpBB 2.0.6 par BreakoBus
Ora este GMT + 2 ore
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro