Дорогие друзья, за основу взял плагин Админ префикс 2.2, и немного переделал под себя.
В общем в данном коде, к примеру Префикс админа идет зеленым цветом, ник желтым стандартным, текст зеленым. Таким сделал его я.
[Cap Admin] LongerS: Привееет)))Теперь, мне необходимо сделать цвет ника, белым а не желтым... Перепробовал все циферки сменить
191, "^4[%s] ^1%s : ^4%s" но тут только 3 цвета, это: цвет команды, желтый и зеленый.
Подскажите пожалуйста, или поправьте меня, где на что изменить, чтобы был ник белого цвета, пожалуйста очень Вас прошу помочь в данной ситуации...
Скидываю исходник.
Код
#include <amxmodx>
#include <amxmisc>
#define VERSION "2.2"
#define MAX_PREFIXES 10
// Admin Prefix One
#define FLAGADMINONE ADMIN_LEVEL_E
#define PREFIXADMINONE "Cap Admin"
// Admin Prefix Two
#define FLAGADMINTWO ADMIN_LEVEL_G
#define PREFIXADMINTWO "Admin"
// VIP Prefix
#define FLAGADMINVIP ADMIN_LEVEL_D
#define PREFIXADMINVIP "V.I.P"
new AdminPrefixOne, AdminPrefixTwo, 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");
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] ^1%s : ^4%s", PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^1%s : ^4%s", PREFIXADMINONE, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^3[%s] ^3%s : ^1%s", PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3[%s] ^3%s : ^1%s", PREFIXADMINTWO, SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^3[%s] ^3%s : ^1%s", PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3[%s] ^3%s : ^1%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(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, "^3(%s) ^4[%s] ^1%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3(%s) ^4[%s] ^1%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages));
else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^1(%s) ^3[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages));
else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^1(%s) ^3[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], PREFIXADMINVIP, 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(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;
}