#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <cshack>
#include <cshack_const>
 
#define NAME "Banii coechipierilor & Addon info pentru Ro-Mixers Tehnology"
#define VERSION "2.0"
#define AUTHOR "Liaf"
 
new g_max_players, g_sync_creat_statustext, g_sync_creat_list
 
new bool:g_teammate[33]
 
new cvar_plugin_on
new cvar_status_on
 
new TerrScore, CTScore;
 
public plugin_init()
{
	register_plugin(NAME, VERSION, AUTHOR)
 
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
 
	register_clcmd("say /money", "clcmd_money")
 
	register_event("StatusValue", "show_teammate_money", "be", "1=2", "2!0")
	register_event("StatusValue", "set_team", "be", "1=1")
 
	cvar_plugin_on = register_cvar("stm_on", "1")
	cvar_status_on = register_cvar("stm_st_on", "1")
 
	g_max_players = get_maxplayers()
	g_sync_creat_statustext = CreateHudSyncObj()
	g_sync_creat_list = CreateHudSyncObj()
 
	register_event("TeamScore", "terr_score", "a", "1=TERRORIST")
	register_event("TeamScore", "ct_score", "a", "1=CT")
 
	register_event("TextMsg", "fwEvGameWillRestartIn", "a", "2=#Game_will_restart_in")
}
 
public fwEvGameWillRestartIn() 
{
    cs_set_team_score(_:CS_TEAM_CT, TerrScore)
    cs_set_team_score(_:CS_TEAM_T, CTScore)
}
 
public terr_score()
{
	TerrScore = read_data(2)
}
 
public ct_score()
{
	CTScore = read_data(2)
}
 
public clcmd_money(client)
{
	if (!get_pcvar_num(cvar_plugin_on))
	{
		client_print(client, print_chat, "[Ro-Mixers]: Nu se mai arata banii coechipierilor.")
		return PLUGIN_HANDLED
	}
	show_money(client)
	return PLUGIN_CONTINUE
}
 
public player_spawn(client)
{
	remove_task(client)
	if (is_user_alive(client) && get_pcvar_num(cvar_plugin_on))
	{
		set_task(1.0, "show_money", client)
	}
}
 
public show_money(client)
{
	static message[1024];
	static name[32];
 
	new money, id, len;
 
	len = format(message, charsmax(message), "Ro-Mixers ADDON v. 2.3 cu Ro-Mixers Tehnology^n^nAdmini: admin_who <> Comenzi admini: amx_cfg comenzi.cfg^n^nINJURII/DROP/TK inseamna BAN 1440 MINUTE (24H)^nFOLOSIREA ABUZIVA de say scote accesul de la aceasta comanda^n^nT: %i CT: %i^nBanii coechipierilor:^n", TerrScore, CTScore);
	for (id = 1; id <= g_max_players; id++)
	{
		if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
		{
			money = cs_get_user_money(id);
			get_user_name(id, name, 31);
			len += format(message[len], charsmax(message) - len, "%-22.22s: %d^n", name, money);
		}
	}
	set_hudmessage(255, 255, 255, 0.60, 0.10, 0, 0.02, 12.0, 0.1, 0.2, 2);
	ShowSyncHudMsg(client, g_sync_creat_list, message);
}
 
public set_team(id)
	g_teammate[id] = bool:(read_data(2) == 1);
 
public show_teammate_money(id)
{
	if (!get_pcvar_num(cvar_plugin_on))
		return PLUGIN_HANDLED
	if(!is_user_bot(id) && is_user_connected(id) && get_pcvar_num(cvar_status_on))
	{
		static name[32]
 
		new pid = read_data(2)
		new red = 0, blue = 0
 
		if (cs_get_user_team(pid) == CS_TEAM_T)
			red = 255
		else if(cs_get_user_team(pid) == CS_TEAM_CT)
			blue = 255
 
		get_user_name(pid, name, charsmax(name))
		new money = cs_get_user_money(pid)
		if (g_teammate[id])
		{
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "", name, money)
		}
		else {
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "", name)
		}
	}
	return PLUGIN_CONTINUE
}
 
public client_disconnect(client)
{
	remove_task(client)
}