[code]
#include <amxmodx>
new const Terrorist[] = "Terrorist"
new const CounterTerrorist[] = "Counter-Terrorist"
new const Spectator[] = "Spectator"
new bool:g_already_joined[33]
new display_bots, display_once, display_spec,
te_color, ct_color, sp_color,
display_type, jtm_text,
gmsgSayText, g_syncObj
public plugin_init() {
register_plugin("Join Team Message", "0.2", "connorr")
display_bots = register_cvar("jtm_bots", "0") // show a hud message if a bot joins a team
display_once = register_cvar("jtm_once", "1") // show only the first time someone is joining a team
display_spec = register_cvar("jtm_spec", "0") // show if a player is joining spectator team
te_color = register_cvar("jtm_t_color", "250 0 0") // RRR GGG BBB
ct_color = register_cvar("jtm_ct_color", "0 0 250") // RRR GGG BBB
sp_color = register_cvar("jtm_spec_color", "250 250 250") // RRR GGG BBB
jtm_text = register_cvar("jtm_text", "!t%name !nis joining the !t%team !nforce") // !t = team color , !n = normal chat color , !g = green
display_type = register_cvar("jtm_display_type", "2") // 0 : chat , 1 : hud message , 2 : colored chat message
register_logevent("JoinTeam", 3, "1=joined team")
}
public plugin_cfg() {
gmsgSayText = get_user_msgid("SayText")
g_syncObj = CreateHudSyncObj()
}
public client_putinserver(id) {
g_already_joined[id] = false
}
public JoinTeam() {
new loguser[80], name[32]
read_logargv(0, loguser, 79)
parse_loguser(loguser, name, 31)
new id = get_user_index(name)
new once = get_pcvar_num(display_once)
if( g_already_joined[id] && once )
return
if( is_user_bot(id) && !get_pcvar_num(display_bots) )
return
g_already_joined[id] = true
new temp[2], team[20], color[12], red[4], green[4], blue[4]
new type = get_pcvar_num(display_type)
read_logargv(2, temp, 1)
switch(temp[0])
{
case 'T' :
{
formatex(team, 19, Terrorist)
if(type == 1)
{
get_pcvar_string(te_color, color, 11)
parse(color, red, 3, green, 3, blue, 3)
}
}
case 'C' :
{
formatex(team, 19, CounterTerrorist)
if(type == 1)
{
get_pcvar_string(ct_color, color, 11)
parse(color, red, 3, green, 3, blue, 3)
}
}
case 'S' :
{
if( get_pcvar_num(display_spec) )
{
formatex(team, 19, Spectator)
if(type==1)
{
get_pcvar_string(sp_color, color, 11)
parse(color, red, 3, green, 3, blue, 3)
}
}
else
{
if( once )
{
g_already_joined[id] = false
}
return
}
}
}
new msg[128]
get_pcvar_string(jtm_text, msg, 127)
replace(msg, 127, "%name", name)
replace(msg, 127, "%team", team)
switch(type)
{
case 0:
{
replace_all(msg, 127, "!n", "")
replace_all(msg, 127, "!t", "")
replace_all(msg, 127, "!g", "")
client_print(0, print_chat, msg)
}
case 1:
{
replace_all(msg, 127, "!n", "")
replace_all(msg, 127, "!t", "")
replace_all(msg, 127, "!g", "")
set_hudmessage(str_to_num(red), str_to_num(green), str_to_num(blue), -1.0, 0.35, 0, 6.0, 12.0, 0.1, 0.2, -1)
ShowSyncHudMsg(0, g_syncObj, msg)
}
case 2:
{
replace_all(msg, 127, "!n", "^x01")
replace_all(msg, 127, "!t", "^x03")
replace_all(msg, 127, "!g", "^x04")
message_begin(MSG_ALL, gmsgSayText)
write_byte(id)
write_string(msg)
message_end()
}
}
}
[/code]