Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <csx>
- #define MAXPLAYERS 33
- #define HITS_SIZE 8
- #define CSW_SIZE 32
- enum _:STATS{
- _Kills,
- _Deaths,
- _Suicides,
- _Headshots,
- _Hits,
- _Damage,
- _Bomb_Planting,
- _Bomb_Planted,
- _Bomb_Defusing,
- _Bomb_Defused,
- _Rounds_Played,
- _Round_Wins,
- _Rounds_Loses
- };
- new StatsData[MAXPLAYERS][STATS];
- new StatsHits[MAXPLAYERS][HITS_SIZE];
- new WeaponsKills[MAXPLAYERS][CSW_SIZE];
- new WeaponsDeath[MAXPLAYERS][CSW_SIZE];
- public plugin_init()
- {
- register_plugin("Custom Stats",AMXX_VERSION_STR,"SGG");
- register_event("SendAudio","TeamsWon","a","2=%!MRAD_terwin","2=%!MRAD_ctwin");
- register_clcmd("say", "cmdSay")
- register_clcmd("say_team", "cmdSay")
- }
- public cmdSay(id)
- {
- static iTarget, szText[ 32 ], szCommand[ 32 ], szTarget[ 32 ]
- read_args( szText, charsmax( szText ) )
- remove_quotes( szText )
- strtok( szText,szCommand,31,szTarget,31,'=',1 )
- if ( equali( szCommand, ".info" ) )
- {
- iTarget = cmd_target( id, szTarget, CMDTARGET_NO_BOTS )
- if ( iTarget ) ShowMotd( id,iTarget )
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE;
- }
- public client_death(Attacker,Victim,WP,Place,TK)
- {
- if(WP == CSW_C4) return;
- if(Place == HIT_HEAD) StatsData[Attacker][_Headshots]++;
- if(Attacker == Victim) StatsData[Attacker][_Suicides]++;
- StatsData[Attacker][_Kills]++;
- StatsData[Victim][_Deaths]++;
- WeaponsKills[Attacker][WP]++;
- WeaponsDeath[Victim][WP]++;
- }
- public client_damage(Attacker,Victim,Damage,WP,Place,TA)
- {
- StatsData[Attacker][_Hits]++;
- StatsData[Attacker][_Damage] += Damage;
- StatsHits[Attacker][Place]++;
- }
- public TeamsWon()
- {
- static Message[32];
- read_data(2,Message,charsmax(Message));
- new iPlayers[32],iNum,Players;
- get_players(iPlayers,iNum,"h");
- if(containi(Message,"ter") != -1)
- {
- for(new i;i < iNum;i++)
- {
- Players = iPlayers[i];
- switch(cs_get_user_team(Players))
- {
- case CS_TEAM_T:
- {
- StatsData[Players][_Rounds_Played]++;
- StatsData[Players][_Round_Wins]++;
- }
- case CS_TEAM_CT:
- {
- StatsData[Players][_Rounds_Played]++;
- StatsData[Players][_Rounds_Loses]++;
- }
- }
- }
- }
- else if(containi(Message,"ct") != -1)
- {
- for(new i;i < iNum;i++)
- {
- Players = iPlayers[i];
- switch(cs_get_user_team(Players))
- {
- case CS_TEAM_T:
- {
- StatsData[Players][_Rounds_Played]++;
- StatsData[Players][_Rounds_Loses]++;
- }
- case CS_TEAM_CT:
- {
- StatsData[Players][_Rounds_Played]++;
- StatsData[Players][_Round_Wins]++;
- }
- }
- }
- }
- }
- public bomb_planting(id)
- {
- StatsData[id][_Bomb_Planting]++;
- }
- public bomb_planted(id)
- {
- StatsData[id][_Bomb_Planted]++;
- }
- public bomb_defusing(id)
- {
- StatsData[id][_Bomb_Defusing]++;
- }
- public bomb_defused(id)
- {
- StatsData[id][_Bomb_Defused]++;
- }
- stock ShowMotd( const id,const target )
- {
- static szName[32], Info[1501], len;
- get_user_name(target, szName, charsmax(szName))
- len = format(Info, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>");
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Player:</B><font color=^"white^">%s</color></left>^n", szName);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Frags:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Kills]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Deaths:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Deaths]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Damage:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Damage]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Hits:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Hits]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Headshots:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Headshots]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Rounds_Played:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Rounds_Played]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Wins:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Round_Wins]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Losses:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Rounds_Loses]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Bombs Defused:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Bomb_Defused]);
- len += format(Info[len], 1500-len,"<left><font color=^"red^"><B>Bombs Planted:</B><font color=^"white^">%d</color></left>^n", StatsData[target][_Bomb_Planted]);
- show_motd(id, Info, "Stats");
- return 1;
- }
Add Comment
Please, Sign In to add comment