Console Colours

Описание: Плагины
Модератор: SJplayer

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 5 мая 2013, 18:55

Console Colours
Автор: Daniel_Cortez
Также отдельное спасибо OKStyle за новые идеи для версии 1.6

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

Изображение


Плагин Console Colours не добавит особой функциональности на ваш сервер, но зато способен неплохо украсить его.

Общее описание:
Плагин может менять в консоли цвет как текста, так и фона.
Функции плагина:
GetConsoleColors(type=COLOR_TYPE_ALL) - получает текущую комбинацию цветов фона и текста.
type - тип цвета (необязательный параметр): COLOR_TYPE_ALL - цвет фона и текста, COLOR_TYPE_TXT - цвет текста, COLOR_TYPE_BG - цвет фона.

Пример:

Код: Выделить всё

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 - тип цвета (необязательный параметр)

Пример:

Код: Выделить всё

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 для вывода сообщений разными цветами:

Код: Выделить всё

#include <a_samp> 
#include <dcc> 
#define FILTERSCRIPT 
public OnFilterScriptInit() 

    
// сохраняем текущий цвет 
    
new backup_color GetConsoleColors(); 
    
//запиливаем текст зелёного цвета 
    
SetConsoleColors(TXT_GREENCOLOR_TYPE_TXT); 
    
printf("Текст зелёного цвета"); 
    
//устанавливаем светло-синий фон (при этом цвет текста останется зелёным) 
    
SetConsoleColors(BG_LIGHTBLUECOLOR_TYPE_BG); 
    
printf("Синий фон"); 
    
//делаем белый фон и красный текст (при этом указывать тип цвета COLOR_TYPE_ALL необязательно) 
    
SetConsoleColors(BK_WHITE+TXT_RED); 
    
printf("Красный текст на белом фоне"); 
    
// восстанавливаем прежний цвет 
    
SetConsoleColors(backup_color); 
    
printf("Строка обычного цвета"); 
    
// упрощённый вариант (сохранение и восстановление старого цвета не требуется) 
    
printc(BK_BLUE+TXT_GREEN"Зелёный текст на белом фоне"); 


Результат:

Изображение

Скачать (v1.6)
Исходники (FASM)
[center]i love you [s]mxIni[/s] Mysql[/center]


Вернуться в «Plugins»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость