Post by LegendofWarior on Oct 8, 2015 12:27:03 GMT
#include <amxmodx>
#include <amxmisc>
#define VERSION "2.2"
#define MAX_PREFIXES 10
// Admin Prefix One
#define FLAGADMINONE ADMIN_LEVEL_G
#define PREFIXADMINONE "OWNER"
// Admin Prefix Two
#define FLAGADMINTWO ADMIN_BAN
#define PREFIXADMINTWO "Head Admin"
// JuniorAdmin Prefix
#define FLAGADMINSMS ADMIN_KICK
#define PREFIXADMINSMS "Admin"
// VIP Prefix
#define FLAGADMINVIP ADMIN_LEVEL_H
#define PREFIXADMINVIP "V.I.P"
new AdminPrefixOne, AdminPrefixTwo, SmsPrefix ,VIPPrefix;
new SzMaxPlayers, SzSayText;
new SzGTeam[3][] = {
"Spectator",
"Terrorist",
"Counter-Terrorist"
}
public plugin_init()
{
register_plugin("Admin Prefix And Chat Color", VERSION, "kostov & Dark_Style");
// Cvars Plugins
AdminPrefixOne = register_cvar("show_admin_prefix_one", "1");
AdminPrefixTwo = register_cvar("show_admin_prefix_two", "1");
SmsPrefix = register_cvar("show_sms_admin_prefix", "1");
VIPPrefix = register_cvar("show_VIP_admin_prefix", "1");
register_cvar("admin_prefix_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
set_cvar_string("admin_prefix_version", VERSION);
register_clcmd("say", "hook_say");
register_clcmd("say_team", "hook_say_team");
SzSayText = get_user_msgid ("SayText");
SzMaxPlayers = get_maxplayers();
register_message(SzSayText, "MsgDuplicate");
}
public MsgDuplicate(id){ return PLUGIN_HANDLED; }
public hook_say(id)
{
new SzMessages[192], SzName[32];
new SzAlive = is_user_alive(id);
new SzGetFlag = get_user_flags(id);
read_args(SzMessages, 191);
remove_quotes(SzMessages);
get_user_name(id, SzName, 31);
if(!is_valid_msg(SzMessages))
return PLUGIN_CONTINUE;
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag & FLAGADMINONE)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINONE, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINTWO, SzName, SzMessages));
else if(get_pcvar_num(SmsPrefix) && SzGetFlag & FLAGADMINSMS)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINSMS, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINSMS, SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINVIP, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag & FLAGADMINONE))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag & FLAGADMINTWO))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag & FLAGADMINSMS))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag & FLAGADMINVIP))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
for(new i = 1; i <= SzMaxPlayers; i++)
{
if(!is_user_connected(i))
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
write_byte(id);
write_string(SzMessages);
message_end();
}
}
return PLUGIN_CONTINUE;
}
public hook_say_team(id){
new SzMessages[192], SzName[32];
new SzAlive = is_user_alive(id);
new SzGetFlag = get_user_flags(id);
new SzGetTeam = get_user_team(id);
read_args(SzMessages, 191);
remove_quotes(SzMessages);
get_user_name(id, SzName, 31);
if(!is_valid_msg(SzMessages))
return PLUGIN_CONTINUE;
if(get_pcvar_num(AdminPrefixOne) && SzGetFlag & FLAGADMINONE)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages));
else if(get_pcvar_num(SmsPrefix) && SzGetFlag & FLAGADMINSMS)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag & FLAGADMINONE))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag & FLAGADMINTWO))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag & FLAGADMINSMS))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag & FLAGADMINVIP))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
for(new i = 1; i <= SzMaxPlayers; i++)
{
if(!is_user_connected(i))
continue;
if(get_user_team(i) != SzGetTeam)
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
write_byte(id);
write_string(SzMessages);
message_end();
}
}
return PLUGIN_CONTINUE;
}
bool:is_valid_msg(const SzMessages[]){
if( SzMessages[0] == '@'
|| !strlen(SzMessages)){ return false; }
return true;
}