Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Daniel's Console Colours

Daniel_Cortez

Компетентный
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, "Зелёный текст на белом фоне");
}
Результат:

Скачать (v1.6):
Исходники (FASM):
Автор: Daniel_Cortez

Также отдельное спасибо OKStyle за новые идеи для версии 1.6
 
Последнее редактирование модератором:
Сверху Снизу