- #include <amxmodx>
- #define PLUGIN "BestPlayer"
- #define VERSION "1.0"
- #define AUTHOR "KaMaZZ"
- new g_iKills[33]
- new g_iDeaths[33]
- new g_hs[33]
- new bestplayer = 0, g_iMaxPlayers;
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_event("DeathMsg", "death_event", "a", "1>0");
- register_event("HLTV", "eHLTV", "a", "1=0", "2=0");
- register_logevent("wiadomosc",2,"1=Round_End")
- g_iMaxPlayers = get_maxplayers();
- }
- /*============================================ ============================================= =======*/
- /*************************************** [Color Chat] *********************************************/
- /*============================================ =================================R=E=Y=M=O=N= =A=R=G=*/
- enum Color
- {
- NORMAL = 1, // clients scr_concolor cvar color
- GREEN, // Green Color
- TEAM_COLOR, // Red, grey, blue
- GREY, // grey
- RED, // Red
- BLUE, // Blue
- }
- new TeamName[][] =
- {
- "",
- "TERRORIST",
- "CT",
- "SPECTATOR"
- }
- ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
- {
- new message[256];
- switch(type)
- {
- case NORMAL: // clients scr_concolor cvar color
- {
- message[0] = 0x01;
- }
- case GREEN: // Green
- {
- message[0] = 0x04;
- }
- default: // White, Red, Blue
- {
- message[0] = 0x03;
- }
- }
- vformat(message[1], 251, msg, 4);
- // Make sure message is not longer than 192 character. Will crash the server.
- message[192] = '^0';
- new team, ColorChange, index, MSG_Type;
- if(id)
- {
- MSG_Type = MSG_ONE;
- index = id;
- } else {
- index = FindPlayer();
- MSG_Type = MSG_ALL;
- }
- team = get_user_team(index);
- ColorChange = ColorSelection(index, MSG_Type, type);
- ShowColorMessage(index, MSG_Type, message);
- if(ColorChange)
- {
- Team_Info(index, MSG_Type, TeamName[team]);
- }
- }
- ShowColorMessage(id, type, message[])
- {
- static bool:saytext_used;
- static get_user_msgid_saytext;
- if(!saytext_used)
- {
- get_user_msgid_saytext = get_user_msgid("SayText");
- saytext_used = true;
- }
- message_begin(type, get_user_msgid_saytext, _, id);
- write_byte(id)
- write_string(message);
- message_end();
- }
- Team_Info(id, type, team[])
- {
- static bool:teaminfo_used;
- static get_user_msgid_teaminfo;
- if(!teaminfo_used)
- {
- get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
- teaminfo_used = true;
- }
- message_begin(type, get_user_msgid_teaminfo, _, id);
- write_byte(id);
- write_string(team);
- message_end();
- return 1;
- }
- ColorSelection(index, type, Color:Type)
- {
- switch(Type)
- {
- case RED:
- {
- return Team_Info(index, type, TeamName[1]);
- }
- case BLUE:
- {
- return Team_Info(index, type, TeamName[2]);
- }
- case GREY:
- {
- return Team_Info(index, type, TeamName[0]);
- }
- }
- return 0;
- }
- FindPlayer()
- {
- new i = -1;
- while(i <= get_maxplayers())
- {
- if(is_user_connected(++i))
- return i;
- }
- return -1;
- }
- public client_connect(id)
- {
- g_iKills[id] = 0
- g_iDeaths[id] = 0
- }
- public death_event()
- {
- new iKiller = read_data(1), iVictim = read_data(2), iHitplace = read_data(3);
- if (iKiller == iVictim)
- {
- g_iDeaths[iKiller]++;
- return;
- }
- g_iKills[iKiller]++;
- g_iDeaths[iVictim]++;
- if(iHitplace)
- {
- g_hs[iKiller]++;
- }
- }
- public wiadomosc()
- {
- if(get_playersnum() < 2)
- return
- for(new i=1; i <= g_iMaxPlayers; i++)
- {
- if (g_iKills[i] > g_iKills[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_iDeaths[i] < g_iDeaths[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_hs[i] > g_hs[bestplayer])
- {
- bestplayer = i;
- }
- }
- new name[32];
- get_user_name(bestplayer, name, 31);
- new iKills = g_iKills[bestplayer]
- new iHS = g_hs[bestplayer]
- ColorChat(0, GREEN,"^x03 [How2Kill.PL]: Najlepszy gracz w tej rundzie: %s", name)
- if(iKills >= 5 || iKills == 0)
- {
- ColorChat(0, GREEN, "^x03 [How2Kill.PL]: Zdobyl %d fragow", iKills)
- }
- else if(iKills > 1 && iKills < 5)
- {
- ColorChat(0, GREEN, "^x03 [How2Kill.PL]: Zdobyl %d fragi", iKills)
- }
- else if(iKills == 1)
- {
- ColorChat(0, GREEN, "^x03 [How2Kill.PL]: Zdobyl 1 fraga")
- }
- ColorChat(0, GREEN, "^x03 [PGC24.PL]: Ustrzelil %d hsow", iHS)
- }
- public eHLTV()
- {
- for( new i = 1 ; i <= g_iMaxPlayers ; i++ )
- {
- g_iKills[ i ] = 0;
- g_iDeaths[ i ] = 0;
- g_hs[ i ] = 0;
- }
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
- */