Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Помогите изменить цвет ника в чате

, Подробнее внутри
Статус пользователя LongerS
сообщение 21.1.2014, 22:37
Сообщение #1
Стаж: 13 лет

Сообщений: 21
Благодарностей: 1
Полезность: 37

Дорогие друзья, за основу взял плагин Админ префикс 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;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
serfreeman1337
сообщение 22.1.2014, 15:59
Сообщение #2
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Можно заставить считать что сообщение пришло от спектатора. Воспользуемся стоком из colorchat от ConnorMcLeod:
Код:
stock _CC_TeamInfo(iReceiver, iSender, szTeam[])
{
static iTeamInfo = 0;
if( !iTeamInfo )
{
iTeamInfo = get_user_msgid("TeamInfo");
}
message_begin(iReceiver ? MSG_ONE : MSG_ALL, iTeamInfo, _, iReceiver);
write_byte(iSender);
write_string(szTeam);
message_end();
}


Вставляем его в код.
И меняем функцию отправки сообщений на:
Код:
_CC_TeamInfo(i,33,"");

message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
write_byte(33);
write_string(SzMessages);
message_end();


Теперь ^3 будет красить в серый цвет.

Админы! Почему табы заменяются пробелами? что за бред ? >_<

Отредактировал: serfreeman1337, - 22.1.2014, 16:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LongerS
сообщение 24.1.2014, 16:01
Сообщение #3
Стаж: 13 лет

Сообщений: 21
Благодарностей: 1
Полезность: 37

serfreeman1337,
Спасибо Вам :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: