Console Colours plugin by Daniel_Cortez |
Добрый день, с вами снова я, Daniel_Cortez, хотел бы представить вам свой плагин Console Colours.
Назначение этого небольшого плагина в том, чтобы менять цвета текста в консоли, выделять особым цветом сообщения, предупреждения об ошибках и т.п.
Плагин Console Colours не добавит особой функциональности на ваш сервер, но зато способен неплохо украсить его.
Описание
Плагин может менять в консоли цвет как текста, так и фона.
Функции плагина:
- GetConsoleColors(type=COLOR_TYPE_ALL) - получает текущую комбинацию цветов фона и текста.
type - тип цвета (необязательный параметр): COLOR_TYPE_ALL - цвет фона и текста, COLOR_TYPE_TXT - цвет текста, COLOR_TYPE_BG - цвет фона.
Пример:
PHP код:
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 - тип цвета (необязательный параметр)
Пример:
PHP код:
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 для вывода сообщений разными цветами:
PHP код:
#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, "Зелёный текст на синем фоне");
}
Результат:
http://s6.hostingkartinok.com/upload...69bc44216e.png
Скачать (v1.6): https://www.dropbox.com/s/24aown53jf2y1kt/DCC_1.6.7z
Исходники (FASM): https://www.dropbox.com/s/qm1wi77n74...1.6_Source.zip
Автор: Daniel_Cortez
Также отдельное спасибо OKStyle за новые идеи для версии 1.6