[ create a new paste ] login | about

Link: http://codepad.org/daXTZ94Q    [ raw code | fork ]

Raheem - C, pasted on Oct 8:
/*
*	Copyrights reserved for Author Raheem
*	First Release Date: 25.7.2016
*   Update 1.1 Date: 9.10.2016 [Fixed Damage calculate]
*	Official site: ZPPV.boards.net
*/

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <levels>

new g_iDmg[32]
new g_iKills[32]

new iNum
new iPlayers[32]

new dBestDeffender
new iBestInfector

new dName[32]
new iName[32]

new best_deffender_xp
new best_infector_xp

public plugin_init()
{
	register_plugin("Best Deffender & Infector", "1.1", "Raheem")
	
	//Ham
	RegisterHam(Ham_TakeDamage, "player", "hamTakeDamage")
	
	//Event
	register_event("DeathMsg", "EventDeathMsg", "a")
	
	//cmds
	register_clcmd("say tracker","best_now")
	register_clcmd("say_team tracker","best_now")
	register_clcmd("say /tracker","best_now")
	register_clcmd("say_team /tracker","best_now")
	
	//XP
	best_deffender_xp = register_cvar("deffender_xp", "30") //How much XP will given to best deffender?
	best_infector_xp = register_cvar("infector_xp", "30") //How much XP will given to best infector?

}

public client_disconnect(id)
{
	arrayset(g_iDmg, 0, 32)
	arrayset(g_iKills, 0, 32)
}

public hamTakeDamage(victim, inflictor, attacker, Float:damage, DamageBits)
{
	if(is_user_connected(victim) && is_user_connected(attacker) && (cs_get_user_team(victim) != cs_get_user_team(attacker)) && (cs_get_user_team(attacker) == CS_TEAM_CT))
	{
		g_iDmg[attacker] += floatround(damage)
	}
}

public EventDeathMsg()
{
	new killer = read_data(1)
	new victim = read_data(2)
	
	if(is_user_connected(killer) && is_user_connected(victim) && (cs_get_user_team(killer) != cs_get_user_team(victim)) && (cs_get_user_team(killer) == CS_TEAM_T))
	{
		g_iKills[killer]++
	}
}

public ze_roundend()
{
	//Infector
	
	iBestInfector = get_best_infector()
	
	new iBug_Block = get_user_max_level(iBestInfector) - get_user_xp(iBestInfector)
	
	if((get_user_xp(iBestInfector) < get_user_max_level(iBestInfector)) && (iBug_Block > get_pcvar_num(best_infector_xp)))
	{
		set_user_xp(iBestInfector, get_user_xp(iBestInfector) + get_pcvar_num(best_infector_xp))
	}
	
	get_user_name(iBestInfector, iName, charsmax(iName))
	client_print_colors(0, "!tBest Infector: !g%s !y|| !tInfected: !g%i !y|| !tAwarded: !g+%i XP!y.", iName, g_iKills[iBestInfector], get_pcvar_num(best_infector_xp))
	
	//Deffender

	dBestDeffender = get_best_deffender()
	
	new dBug_Block = get_user_max_level(dBestDeffender) - get_user_xp(dBestDeffender)
	
	if((get_user_xp(dBestDeffender) < get_user_max_level(dBestDeffender)) && (dBug_Block > get_pcvar_num(best_deffender_xp)))
	{
		set_user_xp(dBestDeffender, get_user_xp(dBestDeffender) + get_pcvar_num(best_deffender_xp))
	}
	
	get_user_name(dBestDeffender, dName, charsmax(dName))
	client_print_colors(0, "!tBest Deffender: !g%s !y|| !tDamage: !g%i !y|| !tAwarded: !g+%i XP!y.", dName, g_iDmg[dBestDeffender], get_pcvar_num(best_deffender_xp))
	
	for( new i = 1; i <= get_maxplayers() ; i++ )
	{
		arrayset(g_iDmg, 0, 32)
		arrayset(g_iKills, 0, 32)
	}
}

get_best_deffender()
{
	get_players(iPlayers, iNum, "ce", "CT")
	
	SortCustom1D(iPlayers, iNum, "sort_best_deffender") 
	
	return iPlayers[0]
}

get_best_infector()
{
	get_players(iPlayers, iNum, "ce", "TERRORIST")
	
	SortCustom1D(iPlayers,iNum, "sort_best_infector")
	return iPlayers[0]
}

public sort_best_deffender(id1, id2)
{
	if(g_iDmg[id1] > g_iDmg[id2])
	{
		return -1;
	}
	else if(g_iDmg[id1] < g_iDmg[id2])
	{
		return 1;
	}
	else
	{
		return 0;
	}
	return 0;
}

public sort_best_infector(id1, id2)
{
	if(g_iKills[id1] > g_iKills[id2])
	{
		return -1;
	}
	else if(g_iKills[id1] < g_iKills[id2])
	{
		return 1;
	}
	else
	{
		return 0;
	}
	return 0;
}

public best_now(id)
{	
	//Deffender
	dBestDeffender = get_best_deffender()
	get_user_name(dBestDeffender, dName, charsmax(dName))
	
	//Infector
	iBestInfector = get_best_infector()
	get_user_name(iBestInfector, iName, charsmax(iName))
	
	set_hudmessage(random(256), random(256), random(256), 0.10, 0.30, 2, 3.0, 5.0)
	show_hudmessage(id, "Best Deffender: %s || Damage: %i^nBest Infector: %s || Infected: %i", dName, g_iDmg[dBestDeffender], iName, g_iKills[iBestInfector])
}

stock client_print_colors(const id, const input[], any:...)  
{  
    new count = 1, players[32];  
    static msg[191];  
    vformat(msg, 190, input, 3);  

    replace_all(msg, 190, "!g", "^x04"); // Green Color  
    replace_all(msg, 190, "!y", "^x01"); // Default Color  
    replace_all(msg, 190, "!t", "^x03"); // Team Color  

    if (id) players[0] = id; else get_players(players, count, "ch");  
    {  
        for (new i = 0; i < count; i++)  
        {  
            if (is_user_connected(players[i]))  
            {  
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);  
                write_byte(players[i]);  
                write_string(msg);  
                message_end();  
            }  
        }  
    }  
}


Create a new paste based on this one


Comments: