Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 7
    Гостей: 5
    Пользователи: - отсутствуют
    Роботы: Google Bot, Google Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 18-08-2011, 13:02 Просмотров: 22028

    Как сделать цветное сообщение игрокам с помощью Colorchat.inc

    Colorchat - С помощью данного инклюда, очень просто "раскрасить" привычные всем желтые сообщения в чате.
    Данный инклуд дает одноименную функцию ColorChat

    Синтаксис:
    ColorChat(index,Color:type,const msg[],{Float,Sql,Result,_}:...)
    • index - id Игрока кому показывать сообщение, выставите 0 если хотите показать сообщение сразу всем грокам
    • Color:type - Цвет сообщения по умолчанию. Стандартное сообщение желтого цвета, но мы можем поставить RED и все сообщение будет карсным, но в дальнейшем мы сможем менять цвет отдельным словам
    • const msg[] - Само сообщение в виде массива или текст заключенный в кавычки "text"
    • {Float,Sql,Result,_}:... - Если сообщение не в виде массива, а в виде "text %s text", то тут мы записываем массивы для вывода в соответствующих местах %* Пример:
      ColorChat(id,RED,"[Color Chat] ^1 You name is ^4 %s  ",UserName)
      ^1,^3,^4 - изменение цвета
    )

    Как изменять цвета отдельных слов в сообщении:
    • ^1 - Обычный цвет сообщения
    • ^3 - Цвет по умолчанию что мы установили Color:type
    • ^4 - Зеленый цвет

    Пример:
    ColorChat(id,NORMAL,"Colordefault ^1Color1 ^3Color3 ^4Color4")

    Что вы получите если Вы:
    Counter - ColorDefault Color1 Color3 Color4
    Terrorist - ColorDefault Color1 Color3 Color4
    Spectator - ColorDefault Color1 Color3 Color4
    Заметили систему? Попробуйте поэкспериментировать, это легко и занимательно.

    И так, теперь к конкретному рабочему примеру:
    Первое что нам необходимо сделать, это подключить инклуд:
    #include <colorchat>

    Без этой строчки, ни чего работать не будет!

    Рабочий пример, показывающий все возможные варианты:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <colorchat>

    #define PLUGIN "Color message in chat"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init ( )
    {
        register_plugin ( PLUGIN, VERSION, AUTHOR )
        
        register_clcmd("say /normal","default_normal")// clients scr_concolor cvar color
        register_clcmd("say /green","default_green")
        register_clcmd("say /teamcolor","default_team_color") // Red, grey, blue
        register_clcmd("say /grey","default_grey")
        register_clcmd("say /red","default_red")
        register_clcmd("say /blue","default_blue")
        
    }
    public    default_normal(id){
        
        ColorChat(id,NORMAL,"Color default NORMAL ^1Color1 ^3Color3 ^4Color4")
    }
    public default_green (id){
        
        ColorChat(id,GREEN,"Color default GREEN ^1Color1 ^3Color3 ^4Color4")
    }
    public default_team_color (id){
        
        ColorChat(id,TEAM_COLOR,"Color default Team Color ^1Color1 ^3Color3 ^4Color4")
    }
    public default_grey (id){
        
        ColorChat(id,GREY,"Color default GREY ^1Color1 ^3Color3 ^4Color4")
    }
    public default_red (id){
        
        ColorChat(id,RED,"Color default RED ^1Color1 ^3Color3 ^4Color4")
    }
    public default_blue (id){
        
        ColorChat(id,BLUE,"Color default BLUE ^1Color1 ^3Color3 ^4Color4")
    }

    Описание:
    В принципе описывать здесь особо нечего,подключили инклуд, зарегистрировали шесть команд:
    1. say /normal
    2. say /green
    3. say /teamcolor
    4. say /grey
    5. say /red
    6. say /blue

    В каждой команде после знака / ( слеш) следует тип цвета установленный по умолчанию в функции.
    Далее в каждой функции мы устанавливаем цвет по умолчанию, соответствующий имени форвада и берем 4 блока для цвета.
    Все они аналогичные для всех цветов, разница только в цвете по умолчанию, что бы вы смогли заметить разницу.

    Думаю что после 5 минут тестов, вы полностью сможете разобраться с этим удобным "инструментом".
    Скачать инклуд ColorChat
    Вы не можете скачивать файлы с нашего сервера
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    BDJOKER

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    А как сделать цвет в других плагинах а то я по этому не понел (
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Через недельки полторы, напишу подробный урок как это сделать.
    Так как если ты не понял из этой статьи, то в комментариях это будет не объяснить.
    --------------------
    djextremes

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Admin, буду благодарен за статью
    KEFIR

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Можно ли сделать инклюд менее большой? Мне нужно всего 2 цвета зеленый и стандартный желтый. Ведь инклюд подключается к плагину и код из него компилируется в плагин, или я не прав? Или из инклюда берется лишь тот код который использует плагин?
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    KEFIR,Вопрос: ЗАЧЕМ? Что у тебя сервер на дискете и места мало?
    --------------------
    KEFIR

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Зачем запускать лишний код в обработку если он не нужен
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Фигней не страдай...
    --------------------
    aleguf

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    KEFIR,
    Есть второй способ. В самом начале надо добавить
    static const GR[] = "^x04"
    static const T[] = "^x03"
    static const N[] = "^x01"

    Далее идём сюда, мы видим вот такой чат:
    client_print(id, print_chat, "[ZOYA] Игрока нету на сервере")

    Будем из этого творить чудо fellow
    client_print(id, print_chat, "%s[ZOYA] %sИгрока %sнету %sна сервере", GR, T, N, GR)

    или вот:
    client_print(id, print_chat, "%s[ZOYA] %s%L", LANG_PLAYER, "NON_PLAYER", GR, T, N, GR)

    Этот способ подойдёт для мульти ланга, где этого голорчат не умеет.
    Соответственно в ланг файле пишем:
    NON_PLAYER = Игрока %sнету %sна сервере
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    aleguf у меня колорчат прекрасно все умеет.
    --------------------
    aleguf

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Admin,
    belay кааак?? Я тогда в мульти писал так !g[ZP] !nJass vsf , но никак не отображал цвет

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама