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

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

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

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

> Информационная доска

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

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

ColorChat

Статус пользователя kidnick98
сообщение 26.10.2011, 6:46
Сообщение #1


Стаж: 14 лет

Сообщений: 239
Благодарностей: 12
Полезность: < 0

Объясните мне пожалуйста, что дописать нужно в этом коде, что бы(Это сообщение вылитает когда нажимаешь на раздел меню) оно не всем показывалось, а только тому кто нажал на кнопку заранее, спасибо...Вот colorchat.inc
Код
/*
* Fun functions
*
* by Numb
*
* This file is provided as is (no warranties).
*
*/

#if defined _colorchat_included
    #endinput
#endif
#define _colorchat_included
#define ColorChat_Version 1.6

#if !defined _fakemeta_included
    #include <fakemeta>
#endif


enum
{
    proprint_console = 0,
    proprint_center,
    proprint_chat,
};

stock ProPrint(id, type, const msg[], {Float,Sql,Result,_}:...)
{
    if( (id!=0 && !is_user_connected(id)) || (!get_playersnum() && !id) )
        return 0;
    
    new message[192];
    vformat(message, 192, msg, 4);
    
    if( id )
        engfunc(EngFunc_ClientPrintf, id, clamp(type, 0, 2), message);
    else
    {
        static maxclients;
        if( !maxclients )
            maxclients = get_maxplayers();
        
        for( new i=1; i<=maxclients; i++ )
        {
            if( is_user_connected(i) )
                engfunc(EngFunc_ClientPrintf, i, clamp(type, 0, 2), message);
        }
    }
    
    return 1;
}

enum ColorChatType
{
    NORMAL = 1, // clients con_color cvar color
    GREEN, // Green Color
    TEAM_COLOR, // Red, grey, blue
    GREY, // grey
    RED, // Red
    BLUE, // Blue
}

stock ColorChat(id, ColorChatType:type, const msg[], {Float,Sql,Result,_}:...)
{
    if( (id!=0 && !is_user_connected(id)) || (!get_playersnum() && !id) )
        return 0;
    
    new message[192], TeamName[4][] =
    {
        "",
        "TERRORIST",
        "CT",
        "SPECTATOR"
    }
    
    vformat(message[1], 191, msg, 4);
    if( message[1]==0x01 || message[1]==0x03 || message[1]==0x04 )
        vformat(message, 192, msg, 4);
    else
    {
        switch( type )
        {
            case NORMAL: message[0] = 0x01; // clients con_color cvar color
            case GREEN: message[0] = 0x04; // Green
            default: message[0] = 0x03; // White, Red, Blue
        }
    }
    
    replace_all(message, 192, "!g", "^x04") // Green Color
    replace_all(message, 192, "!t", "^x03") // Normal Color
    replace_all(message, 192, "!y", "^x01") // Green Color
    
    //replace_all(message, 192, "%", "%%");
    // Make sure message is not longer than 192 character. Will crash the server.
    //message[192] = '^0'; // max len is 192 anyway
    
    static get_user_msgid_saytext;
    if( !get_user_msgid_saytext )
        get_user_msgid_saytext = get_user_msgid("SayText");
    
    if( id )
    {
    
        new ColorChange, team = get_user_team(id);
        switch( type )
        {
            case RED: ColorChange = Team_Info(id, MSG_ONE_UNRELIABLE, TeamName[1]);
            case BLUE: ColorChange = Team_Info(id, MSG_ONE_UNRELIABLE, TeamName[2]);
            case GREY: ColorChange = Team_Info(id, MSG_ONE_UNRELIABLE, TeamName[0]);
            //default: ColorChange = 0;
        }
    
        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid_saytext, _, id);
        write_byte(id);
        write_string(message);
        message_end();
        
        if( ColorChange )
            Team_Info(id, MSG_ONE_UNRELIABLE, TeamName[team]);
        
        return 1;
    }
    else
    {
        static maxclients;
        if( !maxclients )
            maxclients = get_maxplayers();
        
        if( type!=GREY && type!=RED && type!=BLUE )
        {
            for( new i=1; i<=maxclients; i++ )
            {
                if( is_user_connected(i) )
                {
                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid_saytext, _, i);
                    write_byte(i);
                    write_string(message);
                    message_end();
                }
            }
            
            return 1;
        }
        
        for( new i=1; i<=maxclients; i++ )
        {
            if( is_user_connected(i) )
            {
                new ColorChange, team = get_user_team(i);
                switch( type )
                {
                    case RED: ColorChange = Team_Info(i, MSG_ALL, TeamName[1]);
                    case BLUE: ColorChange = Team_Info(i, MSG_ALL, TeamName[2]);
                    case GREY: ColorChange = Team_Info(i, MSG_ALL, TeamName[0]);
                    //default: ColorChange = 0;
                }
                
                message_begin(MSG_ALL, get_user_msgid_saytext, _, i);
                write_byte(i);
                write_string(message);
                message_end();
                
                if( ColorChange )
                    Team_Info(i, MSG_ALL, TeamName[team]);
                
                return 1;
            }
        }
    }
    
    return 0;
}

stock Team_Info(id, type, team[])
{
    static get_user_msgid_teaminfo;
    if( !get_user_msgid_teaminfo )
        get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
    
    message_begin(type, get_user_msgid_teaminfo, _, id);
    write_byte(id);
    write_string(team);
    message_end();
    
    return 1;
}



Вот чать меню
Код
        {
        ColorChat(id, NORMAL, "Тебе не сюда")
    }
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя nоskill
сообщение 26.10.2011, 7:07
Сообщение #2
Стаж: 14 лет

Сообщений: 265
Благодарностей: 53
Полезность: 49

ничего не понятно..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kidnick98
сообщение 26.10.2011, 7:08
Сообщение #3


Стаж: 14 лет

Сообщений: 239
Благодарностей: 12
Полезность: < 0

Смотри есть
Код
       {
         ColorChat(id, NORMAL, "Тебе не сюда")


И оно стоит в менб и есть раздел Это для VIP и обыкновенным юзерам пиешт вот то сообщение но если кто нажал на раздел Вип то это сообщение видят все а нужно что бы видил тольлко тот кто нажал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: