[INC] Colors v.1.0.5

Тема в разделе "Расширения", создана пользователем Andrey, 17 сен 2009.

  1. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.509
    Colors
    Функции для легкого управления цветом чата

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

    Функции:
    1. CPrintToChat
    2. CPrintToChatAll
    3. CPrintToChatEx
    4. CPrintToChatAllEx
    5. CRemoveTags
    6. CSkipNextClient

    Регулярные фунции:
    PHP:
    /**
     * Prints a message to a specific client in the chat area.
     * Supports color tags.
     *
     * @param client      Client index.
     * @param szMessage   Message (formatting rules).
     * @return              No return
     * 
     * On error/Errors:   If the client is not connected an error will be thrown.
     */
    stock CPrintToChat(client, const String:szMessage[], any:...)

    /**
     * Prints a message to all clients in the chat area.
     * Supports color tags.
     *
     * @param client      Client index.
     * @param szMessage   Message (formatting rules)
     * @return              No return
     */
    stock CPrintToChatAll(const String:szMessage[], any:...)
    Tags: {default}, {green}, {yellow}, {lightgreen}, {red}, {blue}, {olive}.

    Основные цвета: default, green (желтый в L4D), olive.
    Командные цвета: lightgreen, red, blue.

    Таблица цветов:
    [​IMG]
    Примечания:
    • You can use only one team color (like lightgreen, red or blue) in the message.
    • In hl2dm colors are different for classic deathmatch and team deathmatch.
    • If some color is not supported by the mod it will be automatically replaced with green
    • You can use these functions instead of default SM function, they are supports formatting (%d, %s, %t, etc.)
    • Green color is yellow in L4D and yellow is green in all other games. You can use tag that you prefer.
    • There must be at least one player in each team for proper red and blue colors working. Otherwise these tags will be replaced with green.


    Team color based functions:
    PHP:
    /** 
     * Prints a message to a specific client in the chat area. 
     * Supports color tags and teamcolor tag. 
     * 
     * @param client      Client index. 
     * @param author      Author index whose color will be used for teamcolor tag. 
     * @param szMessage   Message (formatting rules). 
     * @return              No return 
     *  
     * On error/Errors:   If the client or author are not connected an error will 
     *                    be thrown. 
     */ 
    stock CPrintToChatEx(clientauthor, const String:szMessage[], any:...) 

    /** 
     * Prints a message to all clients in the chat area. 
     * Supports color tags and teamcolor tag. 
     * 
     * @param author      Author index whos color will be used for teamcolor tag. 
     * @param szMessage   Message (formatting rules). 
     * @return              No return 
     *  
     * On error/Errors:   If the author is not connected an error will 
     *                    be thrown. 
     */ 
    stock CPrintToChatAllEx(author, const String:szMessage[], any:...)  
    Tags: {default}, {green}, {yellow}, {olive}, {teamcolor}.

    Основные цвета: default, green (желтый в L4D), olive.
    Командные цвета: based on author's team color.

    Примечания:
    • Author index is any client index whose team color you want to be used for {teamcolor} tag
    • Tag {teamcolor} replaces {red}, {blue} and {lightgreen} tags
    • All notes for regular functions are used for these function too.

    Другое:
    PHP:
    /**
     * Removes color tags from the string.
     *
     * @param szMessage   String.
     * @param maxlength   Maximum length of the string buffer.
     * @return              No return
     */
    stock CRemoveTags(String:szMessage[], maxlength)

    /**
     * This function should only be used right in front of
     * CPrintToChatAll or CPrintToChatAllEx and it tells
     * to those funcions to skip specified client when printing
     * message to all clients. After message is printed client will
     * no more be skipped.
     * 
     * @param client   Client index
     * @return           No return
     */
    stock CSkipNextClient(client
    FAQ​

    1. Как использовать цвет?
    Просто пометьте текст тегом цвета
    PHP:
    CPrintToChat(client"This text is {green}green{default} and this is {red}red"); 
    Что получится: [​IMG]

    2. Можно ли использовать красный синий и зеленый цвет в одной строке?
    Нет. Можно использовать только один цвет команды в строке. (Либо синий либо красный)

    3. Какой формат работы функции?
    Они работают точно так же, как по умолчанию SM функции (например, PrintToChat)
    PHP:
    CPrintToChatAll("This number {green}%d{default} is green"5); 
    Что получится: [​IMG]

    4. Можно ли использовать цвета в файлах перевода?
    Да, можно.
    Пример:
    Код:
    "Phrases"
    {
        "My phrase"
        {
            "en"            "My {green}phrase"
            "ru"            "Моя {green}фраза"
        }
    }
    В коде:
    PHP:
    CPrintToChatAll("%t""My phrase"); 
    Что получается: [​IMG]

    5. Как его установить?
    Потожить colors.inc в папку sourcemod/scripting/include
    Добавить в код:
    PHP:
    #include <colors> 
    6. Можно ли использовать серый цвет?

    Можно. Но для этого требуется хотябы один игрок в наблюдателях.

    7. Почему иногда красный-синий цвета иногда показывает зеленым?

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

    Оригинал
     

    Вложения:

    Последнее редактирование модератором: 1 янв 2011
  2. Ninla

    Ninla

    Сообщения:
    34
    Симпатии:
    2
    Re: [INC] Colors v.1.0.1

    Спасибо
     
  3. maza511

    maza511

    Сообщения:
    927
    Симпатии:
    456
    Re: [INC] Colors v.1.0.2

    Есть плагин каторый меняет цвет надписи в чате?
    Например хочу в конфинге написать:
    say Пример
    И чтоб "пример" было зелёного цвета.
     
  4. luxor

    luxor

    Сообщения:
    22
    Симпатии:
    14
    Re: [INC] Colors v.1.0.2

    подскажите как поставить его
     
  5. maza511

    maza511

    Сообщения:
    927
    Симпатии:
    456
    Re: [INC] Colors v.1.0.2

    Просто положи его в папку include
     
  6. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.509
    Re: [INC] Colors v.1.0.2

    Скопировать *.inc файл в папку addons\sourcemod\scripting\include
     
  7. romanovka

    romanovka

    Сообщения:
    172
    Симпатии:
    25
    Re: [INC] Colors v.1.0.2

    установил я это чудо, но когда пытаюсь покрасить слово в файлах перевода (папка translations)

    например "{green}Игрок {1} шлепнут." то у меня так и пишет (тоесть не красится)
     
  8. maza511

    maza511

    Сообщения:
    927
    Симпатии:
    456
    Re: [INC] Colors v.1.0.2

    Потому, что сам плагин компилирован без Colors. То есть в плагине должно быть написано: #include <colors>
     
  9. romanovka

    romanovka

    Сообщения:
    172
    Симпатии:
    25
    Re: [INC] Colors v.1.0.2

    Компилировал я плагин с #include <colors>, но всё также


    HELP ME
     
    Последнее редактирование: 9 май 2010
  10. random.81

    random.81

    Сообщения:
    504
    Симпатии:
    844
    Re: [INC] Colors v.1.0.3

    Обновление:

    • 1.0.4 Добавлена поддержка оливкового цвета для CSS.
     
    Последнее редактирование: 28 июл 2010
    forgon и Andrey нравится это.
  11. LEII4A

    LEII4A

    Сообщения:
    631
    Симпатии:
    116
    Re: [INC] Colors v.1.0.4

    куда именно нужно вставлять #include <colors> в исходнике перед компиляцией?
    /**
    * vim: set ts=4 :
    * =============================================================================
    * AFK Manager
    * Handles AFK Players
    *
    * SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved.
    * =============================================================================
    *
    * This program is free software; you can redistribute it and/or modify it under
    * the terms of the GNU General Public License, version 3.0, as published by the
    * Free Software Foundation.
    *
    * This program is distributed in the hope that it will be useful, but WITHOUT
    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
    * details.
    *
    * You should have received a copy of the GNU General Public License along with
    * this program. If not, see <http://www.gnu.org/licenses/>.
    *
    * As a special exception, AlliedModders LLC gives you permission to link the
    * code of this program (as well as its derivative works) to "Half-Life 2," the
    * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
    * by the Valve Corporation. You must obey the GNU General Public License in
    * all respects for all other code used. Additionally, AlliedModders LLC grants
    * this exception to all derivative works. AlliedModders LLC defines further
    * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
    * or <http://www.sourcemod.net/license.php>.
    *
    */

    #pragma semicolon 1
    #include <sourcemod>
    #include <sdktools>
    #include <colors>
    правельно ли я вставил код? ну и дальше в afk_manager.phrases.txt добавил к строчке
    "ru" "{green}ВНИМАНИЕ: Начните двигаться, или через {1} сек. будете отключены от сервера."
    и нифига не робит(((
     
  12. romanovka

    romanovka

    Сообщения:
    172
    Симпатии:
    25
    Re: [INC] Colors v.1.0.4

    #include <colors> ты установил правильно, но и красить текст надо в сп файле

    P.S. у меня так и не получилось покрасить)
     
  13. LEII4A

    LEII4A

    Сообщения:
    631
    Симпатии:
    116
    Re: [INC] Colors v.1.0.4

    .phrases.txt не прокатит? красить и компилировать sp?
    P.S.
    я после своего предыдущего сообщения забил на это дело)
     
  14. romanovka

    romanovka

    Сообщения:
    172
    Симпатии:
    25
    Re: [INC] Colors v.1.0.4

    да в sp, а я забил ещё с поста

     
  15. LEII4A

    LEII4A

    Сообщения:
    631
    Симпатии:
    116
    Re: [INC] Colors v.1.0.4

    да ты нереально крут...
     
    Последнее редактирование: 16 сен 2010
  16. dilman88

    dilman88

    Сообщения:
    117
    Симпатии:
    25
    Re: [INC] Colors v.1.0.4

    можно по пробывать красить по другому, мое мнение основывается на том что я смотрел исходники плагинов которые пишут в чат различными цветами, там нет расширения #include <colors>
    но вместо него есть
    #pragma semicolon 1 а перед текстом который окрашен указывается цвет в формате /x01, /x02 и т.д.
    вот так я думаю нужно красить.
    P.S. сам еще не пробывал но собираюсь все стандартные желтые надписи переделать в светлозеленный
     
    dearring нравится это.
  17. random.81

    random.81

    Сообщения:
    504
    Симпатии:
    844
    Обновил до версии 1.0.5. Изменения:

     
    Andrey и rJIa3 нравится это.
  18. OneStep

    OneStep

    Сообщения:
    15
    Симпатии:
    2
    Блин.... обьясните... как его можно применить на скриптах... ну например QuakeSounds, там annonse(оповещение)не цветное... дефолтское....(желтое) а я хочу цветными сделать...и как нибудь можно его приминить в плагины рекламы Advertisments ??? Очень нужно... Хочу красиво украсить сервер цветами... Особенно нравится оливковый... :)))
     
  19. maza511

    maza511

    Сообщения:
    927
    Симпатии:
    456
    В первом посту аж примеры указаны. Что еще не понятно?
     
  20. OneStep

    OneStep

    Сообщения:
    15
    Симпатии:
    2
    блин... добавил #include <color> в quakesound.sp и в transliations все поправил, но не читает... :(
    Или нужно добавлять цвета прямо в sp? там очень трудно найти msg выводящиеся в чат... так то я понимаю скрипты... но этот... :(