#include <amxmodx>
#include <cstrike>
#include <fun>
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"
}
static ct_name[33]
#define PLUGIN "Jailbreak Glow Menu"
#define VERSION "1.0"
#define AUTHOR "fLaXXIE"
new Player[32]
new const prefix[] = "^4[ClanTag] Glow:^3"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /glow", "MainMenu") // Command for opening the glow menu.
register_clcmd("say /glowmenu", "MainMenu") // Command for opening the glow menu.
register_clcmd("say /gm", "MainMenu") // Command for opening the glow menu.
}
public MainMenu(iPlayer)
{
if (is_user_alive(iPlayer) && cs_get_user_team(iPlayer) & CS_TEAM_CT)
{
new menu = menu_create("\wJailbreak Glow Menu^n\wVersion:\d 1.0", "MainMenu_Handle")
new players[32], pnum, key
new szName[32], szName2[10]
get_players(players, pnum, "a")
for(new i; i < pnum; i++)
{
key = players[i]
if (cs_get_user_team(key) != CS_TEAM_T)
{
continue
}
get_user_name(key, szName, 31)
num_to_str(key, szName2, 9)
menu_additem(menu, szName, szName2, 0)
}
menu_display(iPlayer, menu)
return PLUGIN_HANDLED
}
else ColorChat(iPlayer, GREY, "%s Only Guards can use the glow menu.", prefix)
return PLUGIN_HANDLED
}
public MainMenu_Handle(iPlayer, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
Player[iPlayer] = str_to_num(data)
ColorMenu(iPlayer)
return PLUGIN_HANDLED
}
public ColorMenu(iPlayer)
{
get_user_name(iPlayer,ct_name,31)
new sub = menu_create("\wJailbreak Glow Menu^n\wSelection^n\wVersion:\d 1.0", "ColorMenu_Handle")
menu_additem(sub, "\wRed Glow", "1", 0)
menu_additem(sub, "\wBlue Glow", "2", 0)
menu_additem(sub, "\wWhite Glow", "3", 0)
menu_additem(sub, "\wGreen Glow", "4", 0)
menu_additem(sub, "\wYellow Glow", "5", 0)
menu_additem(sub, "\wPurple Glow", "6", 0)
menu_additem(sub, "\wPurple Glow (\d Weird\w )", "7", 0)
menu_additem(sub, "\wCyan Glow", "8", 0)
menu_additem(sub, "\wBlue Glow (\d Weird\w )", "9", 0)
menu_setprop(sub, MPROP_EXIT, MEXIT_ALL)
menu_display(iPlayer, sub)
}
public ColorMenu_Handle(iPlayer, sub, item)
{
new name[33]
get_user_name(iPlayer,name,31)
if (item == MENU_EXIT)
{
menu_destroy(sub)
return PLUGIN_HANDLED
}
new Data[7], Name[64]
new Access, Callback
menu_item_getinfo(sub, item, Access, Data,5, Name, 63, Callback)
new key = str_to_num(Data)
get_user_name(Player[iPlayer], Name, sizeof(Name) -1)
switch (key)
{
case 1:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 255)
ColorChat(0, GREY, "%s kapott %s-tol now has a ^4Red Glow^3!",name,ct_name )
}
case 2:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Blue Glow^3!",name,ct_name )
}
case 3:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4White Glow^3!",name,ct_name )
}
case 4:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Green Glow^3!",name,ct_name )
}
case 5:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Yellow Glow^3!", name,ct_name )
}
case 6:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 255, 0, 180, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Purple Glow^3!",name,ct_name )
}
case 7:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 173, 054, 255, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Purple Glow^3 (^4 Weird^3 )!",name,ct_name )
}
case 8:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 255, 255, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Cyan Glow^3!",name,ct_name )
}
case 9:
{
set_user_rendering(Player[iPlayer], kRenderFxGlowShell, 0, 131, 255, kRenderNormal, 255)
ColorChat(0, GREY, "%s %s now has a ^4Blue Glow^3 (^4 Weird^3 )!",name,ct_name )
}
}
return PLUGIN_HANDLED
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static 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';
static 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[])
{
message_begin(type, get_user_msgid("SayText"), _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[])
{
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()
{
static i;
i = -1;
while(i <= get_maxplayers())
{
if(is_user_connected(++i))
{
return i;
}
}
return -1;
}