Иконка ресурса
Поддерживаемые игры
  1. CS: Source (OrangeBox)
  2. Team Fortress 2
  3. DOD: Source
v0BWE.png

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

Ниже будут приведены подробные примеры покраски.

Список функций, которые нужно изменить для взаимодействия (Функция <-> Новая функция):
  • PrintToChat <-> CPrintToChat
  • PrintToChatAll <-> CPrintToChatAll
  • PrintToChatEx <-> CPrintToChatEx
  • PrintToChatAllEx <-> CPrintToChatAllEx
  • SkipNextClient <-> CSkipNextClient
  • bool:AddColor <-> bool:CAddColor
  • RemoveTags <-> CRemoveTags
  • ReplyToCommand <-> CReplyToCommand
  • ReplyToCommandEx <-> CReplyToCommandEx
  • ShowActivity <-> CShowActivity
  • ShowActivityEx <-> CShowActivityEx
  • ShowActivity2 <-> CShowActivity2
  • bool:ColorExists <-> bool:CColorExists
  • GetTeamColor <-> CGetTeamColor
Цвета указываются в { } (Например: {yellow}).

Список цветов:

  • "aliceblue" HEX: #F0F8FF
  • "allies" HEX: #4D7942
  • "ancient" HEX: #EB4B4B
  • "antiquewhite" HEX: #FAEBD7
  • "aqua" HEX: #00FFFF
  • "aquamarine" HEX: #7FFFD4
  • "arcana" HEX: #ADE55C
  • "axis" HEX: #FF4040
  • "azure" HEX: #007FFF
  • "beige" HEX: #F5F5DC
  • "bisque" HEX: #FFE4C4
  • "black" HEX: #000000
  • "blanchedalmond" HEX: #FFEBCD
  • "blue" HEX: #99CCFF
  • "blueviolet" HEX: #8A2BE2
  • "brown" HEX: #A52A2A
  • "burlywood" HEX: #DEB887
  • "cadetblue" HEX: #5F9EA0
  • "chartreuse" HEX: #7FFF00
  • "chocolate" HEX: #D2691E
  • "collectors" HEX: #AA0000
  • "common" HEX: #B0C3D9
  • "community" HEX: #70B04A
  • "coral" HEX: #FF7F50
  • "cornflowerblue" HEX: #6495ED
  • "cornsilk" HEX: #FFF8DC
  • "corrupted" HEX: #A32C2E
  • "crimson" HEX: #DC143C
  • "cyan" HEX: #00FFFF
  • "darkblue" HEX: #00008B
  • "darkcyan" HEX: #008B8B
  • "darkgoldenrod" HEX: #B8860B
  • "darkgray" HEX: #A9A9A9
  • "darkgrey" HEX: #A9A9A9
  • "darkgreen" HEX: #006400
  • "darkkhaki" HEX: #BDB76B
  • "darkmagenta" HEX: #8B008B
  • "darkolivegreen" HEX: #556B2F
  • "darkorange" HEX: #FF8C00
  • "darkorchid" HEX: #9932CC
  • "darkred" HEX: #8B0000
  • "darksalmon" HEX: #E9967A
  • "darkseagreen" HEX: #8FBC8F
  • "darkslateblue" HEX: #483D8B
  • "darkslategray" HEX: #2F4F4F
  • "darkslategrey" HEX: #2F4F4F
  • "darkturquoise" HEX: #00CED1
  • "darkviolet" HEX: #9400D3
  • "deeppink" HEX: #FF1493
  • "deepskyblue" HEX: #00BFFF
  • "dimgray" HEX: #696969
  • "dodgerblue" HEX: #1E90FF
  • "exalted" HEX: #CCCCCD
  • ух, я зае..устал красить это..
  • "firebrick" HEX: #B22222
  • "floralwhite" HEX: #FFFAF0
  • "forestgreen" HEX: #228B22
  • "frozen" HEX: #4983B3
  • "fuchsia" HEX: #FF00FF
  • "fullblue" HEX: #0000FF
  • "fullred" HEX: #FF0000
  • "gainsboro" HEX: #DCDCDC
  • "genuine" HEX: #4D7455
  • "ghostwhite" HEX: #F8F8FF
  • "gold" HEX: #FFD700
  • "goldenrod" HEX: #DAA520
  • "gray" HEX: #CCCCCC
  • "green" HEX: #3EFF3E
  • "greenyellow" HEX: #ADFF2F
  • "haunted" HEX: #38F3AB
  • "honeydew" HEX: #F0FFF0
  • "hotpink" HEX: #FF69B4
  • "immortal" HEX: #E4AE33
  • "indianred" HEX: #CD5C5C
  • "indigo" HEX: #4B0082
  • "ivory" HEX: #FFFFF0
  • "khaki" HEX: #F0E68C
  • "lavender" HEX: #E6E6FA
  • "lavenderblush" HEX: #FFF0F5
  • "lawngreen" HEX: #7CFC00
  • "legendary" HEX: #D32CE6
  • "lemonchiffon" HEX: #FFFACD
  • "lightblue" HEX: #ADD8E6
  • "lightcoral" HEX: #F08080
  • "lightcyan" HEX: #E0FFFF
  • "lightgoldenrodyellow" HEX: #FAFAD2
  • "lightgray" HEX: #D3D3D3
  • "lightgrey" HEX: #D3D3D3
  • "lightgreen" HEX: #99FF99
  • "lightpink" HEX: #FFB6C1
  • "lightsalmon" HEX: #FFA07A
  • "lightseagreen" HEX: #20B2AA
  • "lightskyblue" HEX: #87CEFA
  • "lightslategray" HEX: #778899
  • "lightsteelblue" HEX: #B0C4DE
  • "lightyellow" HEX: #FFFFE0
  • "lime" HEX: #00FF00
  • "limegreen" HEX: #32CD32
  • "linen" HEX: #FAF0E6
  • "magenta" HEX: #FF00FF
  • "maroon" HEX: #800000
  • "mediumaquamarine" HEX: #66CDAA
  • "mediumblue" HEX: #0000CD
  • "mediumorchid" HEX: #BA55D3
  • "mediumpurple" HEX: #9370D8
  • "mediumseagreen" HEX: #3CB371
  • "mediumslateblue" HEX: #7B68EE
  • "mediumspringgreen" HEX: #00FA9A
  • "mediumturquoise" HEX: #48D1CC
  • "mediumvioletred" HEX: #C71585
  • "midnightblue" HEX: #191970
  • "mintcream" HEX: #F5FFFA
  • "mistyrose" HEX: #FFE4E1
  • "moccasin" HEX: #FFE4B5
  • "mythical" HEX: #8847FF
  • "navajowhite" HEX: #FFDEAD
  • "navy" HEX: #000080
  • "normal" HEX: #B2B2B2
  • "oldlace" HEX: #FDF5E6
  • "olive" HEX: #9EC34F
  • "olivedrab" HEX: #6B8E23
  • "orange" HEX: #FFA500
  • "orangered" HEX: #FF4500
  • "orchid" HEX: #DA70D6
  • "palegoldenrod" HEX: #EEE8AA
  • "palegreen" HEX: #98FB98
  • "paleturquoise" HEX: #AFEEEE
  • "palevioletred" HEX: #D87093
  • "papayawhip" HEX: #FFEFD5
  • "peachpuff" HEX: #FFDAB9
  • "peru" HEX: #CD853F
  • "pink" HEX: #FFC0CB
  • "plum" HEX: #DDA0DD
  • "powderblue" HEX: #B0E0E6
  • "purple" HEX: #800080
  • "rare" HEX: #4B69FF
  • "red" HEX: #FF4040
  • "rosybrown" HEX: #BC8F8F
  • "royalblue" HEX: #4169E1
  • "saddlebrown" HEX: #8B4513
  • "salmon" HEX: #FA8072
  • "sandybrown" HEX: #F4A460
  • "seagreen" HEX: #2E8B57
  • "seashell" HEX: #FFF5EE
  • "selfmade" HEX: #70B04A
  • "sienna" HEX: #A0522D
  • "silver" HEX: #C0C0C0
  • "skyblue" HEX: #87CEEB
  • "slateblue" HEX: #6A5ACD
  • "slategray" HEX: #708090
  • "snow" HEX: #FFFAFA
  • "springgreen" HEX: #00FF7F
  • "steelblue" HEX: #4682B4
  • "strange" HEX: #CF6A32
  • "tan" HEX: #D2B48C
  • "teal" HEX: #008080
  • "thistle" HEX: #D8BFD8
  • "tomato" HEX: #FF6347
  • "turquoise" HEX: #40E0D0
  • "uncommon" HEX: #B0C3D9
  • "unique" HEX: #FFD700
  • "unusual" HEX: #8650AC
  • "valve" HEX: #A50F79
  • "vintage" HEX: #476291
  • "violet" HEX: #EE82EE
  • "wheat" HEX: #F5DEB3
  • "white" HEX: #FFFFFF
  • "whitesmoke" HEX: #F5F5F5
  • "yellow" HEX: #FFFF00
  • "yellowgreen" HEX: #9ACD32

Дополнительные цвета:
  • {default} - стандартный цвет чата;
  • {teamcolor} - цвет команды.
Задавайте вопросы в теме, будем разбираться вместе.
Установка
ФАЙЛ MORECOLORS.INC ПОМЕСТИТЬ В ПАПКУ SCRIPTING/INCLUDE

Примеры покраски:

1. Покраска, при условии что сообщение находится в исходнике, то есть, отсутствует файл перевода либо сообщение не объявлено в нём.
Для примера взят плагин ResetScore+.
  1. Открываем исходник.
  2. Сразу же, в самом верху исходника мы видим следующее
    C-подобный:
    #include <cstrike>
  3. Нам нужно подключить нашу библиотеку, делается это с помощью #include <morecolors> . Что у нас получилось:
    C-подобный:
    #include <cstrike>
    #include <morecolors>
  4. Библиотеку подключили, теперь нужно заменить функции, в основном это функция PrintToChat, тут нам упрощает жизнь Поиск (Ctrl+F), ищем данную функцию и сразу переходим к ней и видим.
    C-подобный:
    if(bRC) PrintToChat(C, "\x01\04[Resetscore] \x01Ваш \x05общий счёт \x03сброшен\x01!");
    Строка вырвана с кода, в скобках находится наше сообщение, ещё мы видим там \х01 и т.п., это покраска стандартными цветами, которая не требует библиотеки, убираем её. Получается следущее:
    C-подобный:
    if(bRC) PrintToChat(C, "[Resetscore] Ваш общий счёт сброшен!");
  5. Приступаем к покраске. Например, мы ходит чтобы тег отображался красным, а текст был жёлтым и слово "счёт" было выделено фиолетовым цветом, сделали, теперь код выглядит так:
    C-подобный:
    if(bRC) PrintToChat(C, "{fullred}[Resetscore] {yellow}Ваш общий {purple}счёт {yellow}сброшен!");
  6. Компилируем и готово, цвет изменен.
2. Покраска, при условии что сообщение находится в файле перевода.
Для примера взят плагин Радио.

  1. Открываем исходник.
  2. Сразу же, в самом верху исходника мы видим следующее
    C-подобный:
    #include <sourcemod>
    #include <base64>
  3. Нам нужно подключить нашу библиотеку, делается это с помощью #include <morecolors> . Что у нас получилось:
    C-подобный:
    #include <sourcemod>
    #include <base64>
    #include <morecolors>
  4. Библиотеку подключили, теперь нужно заменить функции, в основном это функция PrintToChat, тут нам упрощает жизнь Поиск (Ctrl+F), но данная функция спрятана в так называемых "под-исходниках", а именно - scripting\Radio\Timers.sp, находим там и видим:
    C-подобный:
    PrintToChat(iPlayer, "%t%t", "ChatPrefix", "NowPlaying", szBuffer, g_iVolume[iPlayer]);
    Строка вырвана с кода, в скобках находится наше сообщение, единственное что нам нужно сделать - заменить функцию, теперь выглядит так:
    C-подобный:
     CPrintToChat(iPlayer, "%t%t", "ChatPrefix", "NowPlaying", szBuffer, g_iVolume[iPlayer]);
    Мы изменили функцию для сообщения "NowPlaying". Сохраняем изменения и компилуруем исходник Radio.sp, не Timers.sp!
  5. Теперь направляемся в файл перевода, открываем и ищем нашу фразу "NowPlaying", видим следущее:
    C-подобный:
    "NowPlaying"
        {
            "#format"   "{1:s},{2:d}"
            "en"        "Now playing {1}, volume {2}%%"
            "ru"        "Сейчас играет {1}, громкость {2}%%"
            "ua"        "Зараз грає {1}, гучність {2}%%"
        }
    Давайте весь текст покрасим в белый, а название песни и уровень громкости сделаем красными, у нас получится:
    C-подобный:
    "NowPlaying"
        {
            "#format"   "{1:s},{2:d}"
            "en"        "Now playing {1}, volume {2}%%"
            "ru"        "{white}Сейчас играет {fullred}{1}{white}, громкость {fullred}{2}%%"
            "ua"        "Зараз грає {1}, гучність {2}%%"
        }
  6. Готово. Главный плюс покраски в файле перевода, что вам приходится лезть в исходник всего лишь один раз.
  • Мне нравится
Реакции: babka68 и White Wolf
Автор
Steammer
Скачивания
682
Просмотры
2,740
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок

Другие ресурсы пользователя Steammer

Последние отзывы

Использую данный Include-файл практически повсеместно, где используются функции вывода текста в чат игроку.

Очень простое API. Легко встраивается в другие плагины. Поставил Inc, припилил его API с заменой указанных функции, указал цвет в исходнике, либо в переводе - и все готово.
Сверху