Автор: Daniel_Cortez
Также отдельное спасибо OKStyle за новые идеи для версии 1.6
Назначение этого небольшого плагина в том, чтобы менять цвета текста в консоли, выделять особым цветом сообщения, предупреждения об ошибках и т.п.
Плагин Console Colours не добавит особой функциональности на ваш сервер, но зато способен неплохо украсить его.
- Общее описание:
- Плагин может менять в консоли цвет как текста, так и фона.
Функции плагина:
GetConsoleColors(type=COLOR_TYPE_ALL) - получает текущую комбинацию цветов фона и текста.
type - тип цвета (необязательный параметр): COLOR_TYPE_ALL - цвет фона и текста, COLOR_TYPE_TXT - цвет текста, COLOR_TYPE_BG - цвет фона.
Пример:Code: Select all
bg_color = GetConsoleColors(COLOR_TYPE_BG); // записать в bg_color цвет фона в консоли сервера
txt_color = GetConsoleColors(COLOR_TYPE_TXT); // получить в txt_color цвет текста
colors = GetConsoleColors(COLOR_TYPE_ALL); // записать в переменную colors цвета текста и фона
colors = GetConsoleColors(); // ^^^ то же самое, что и выше ^^^
SetConsoleColors(colors, type=COLOR_TYPE_ALL) - устанавливает новые цвета текста и фона.
color - цвет
type - тип цвета (необязательный параметр)
Пример:Code: Select all
SetConsoleColors(BG_GREEN, COLOR_TYPE_BG); // установить зелёный цвет фона в консоли сервера
SetConsoleColors(TXT_RED, COLOR_TYPE_TXT); // сделать текст красного цвета
SetConsoleColors(TXT_GREEN+BG_GREY, COLOR_TYPE_ALL); // запилить зелёный текст и серый фон
SetConsoleColors(TXT_GREEN+BG_GREY); // ^^^ то же самое, что и выше ^^^
printc(color, string)
color - цвет
string - строка для вывода
printfc(color, string, ...)
color - цвет
string - строка для вывода
... - доп. параметры, как в стандартной функции printf()
И для текста, и для фона существует по 16 комбинаций цветов, итого возможны 16*16=256 комбинаций различных цветов.
Цвета текста:- TXT_BLACK - чёрный
- TXT_BLUE - тёмно-синий
- TXT_GREEN - тёмно-зелёный
- TXT_RED - тёмно-красный
- TXT_AQUA - аквамариновый
- TXT_PURPLE - тёмно-фиолетовый
- TXT_GOLD - золотой
- TXT_LIGHTGREY - светло-серый
- TXT_GREY - серый
- TXT_LIGHTBLUE - светло-синий
- TXT_LIGHTGREEN - светло-зелёный
- TXT_LIGHTAQUA - бирюзовый
- TXT_LIGHTRED - ярко-красный
- TXT_MAGENTA - фиолетовый
- TXT_YELLOW - жёлтый
- TXT_WHITE - белый
Цвета фона: (такие же, как и цвета текста, но с префиксом "BG_")- BG_BLACK - чёрный
- BG_BLUE - тёмно-синий
- BG_GREEN - тёмно-зелёный
- BG_RED - тёмно-красный
- BG_AQUA - аквамариновый
- BG_PURPLE - тёмно-фиолетовый
- BG_GOLD - золотой
- BG_LIGHTGREY - светло-серый
- BG_GREY - серый
- BG_LIGHTBLUE - светло-синий
- BG_LIGHTGREEN - светло-зелёный
- BG_LIGHTAQUA - бирюзовый
- BG_LIGHTRED - ярко-красный
- BG_MAGENTA - фиолетовый
- BG_YELLOW - жёлтый
- BG_WHITE - белый
- Примеры использования:
- Попробуем сделать простой FS для вывода сообщений разными цветами:
Code: Select all
#include <a_samp>
#include <dcc>
#define FILTERSCRIPT
public OnFilterScriptInit()
{
// сохраняем текущий цвет
new backup_color = GetConsoleColors();
//запиливаем текст зелёного цвета
SetConsoleColors(TXT_GREEN, COLOR_TYPE_TXT);
printf("Текст зелёного цвета");
//устанавливаем светло-синий фон (при этом цвет текста останется зелёным)
SetConsoleColors(BG_LIGHTBLUE, COLOR_TYPE_BG);
printf("Синий фон");
//делаем белый фон и красный текст (при этом указывать тип цвета COLOR_TYPE_ALL необязательно)
SetConsoleColors(BK_WHITE+TXT_RED);
printf("Красный текст на белом фоне");
// восстанавливаем прежний цвет
SetConsoleColors(backup_color);
printf("Строка обычного цвета");
// упрощённый вариант (сохранение и восстановление старого цвета не требуется)
printc(BK_BLUE+TXT_GREEN, "Зелёный текст на белом фоне");
Результат:
Скачать (v1.6)
Исходники (FASM)