Chat_Manager.amxx  v1.0
Автор Mr_ILYAS
Skype: ilyas355

Плагин вобрал в себя всё, что нужно для работы с текстом (чатом).
Плагин был написан изначально, чтобы избежать конфлигкты плагинов с другими плагинами работающими с чатом.
Меня жутко раздражало что некоторые команды не срабатывают или текст отправляется дважды, а также некоторые проблемы с префиксами.
Я решил написать свой плагин. В дальнейшем я добавлял в него всё больше функционала, который встречается в других плагинах.
В итоге получился плагин, который заменяет почти все плагины, так как в нём есть почти всё (кроме Army Ranks — армейских званий).

ПРИМЕЧАНИЕ: Chat_Manager.amxx на случай, если у Вас есть еще плагины, работающие с чатом, лучше поставить ниже них.
Однако могу заметить, что скрытые данным плагином команды, посланные в чат через слеш, всё равно обрабатываются плагинами стоящими по списку ниже этого плагина.
Это достаточно большой плюс.


Возможности:
• Возможность делать перед ником префиксы (например Админ, VIP, Главный адми и прочее).

• Есть транслит (алгоритм написал сам). Интерфейс отличается от Colored Translit. Присутствует свой звук при смене языка.

• Есть возможность писать приватные (личные) сообщения какому-либо конкретному игроку.

• Добавлена возможность блокировки чата нехорошим игрокам (функция для админов).

• Присутствует возможность видеть весь чат на определённом флаге (в дефе ADMIN_LISTEN поставьте нужный флаг).

• Блокировка команд начинающихся со слеша / (не отображаются в чате).  Хотя ADMIN_LISTEN всё равно может видеть эти сообщения.

• Присутствует звук чата, который можно отключить, если надо (любой игрок для себя может отключить эти звуки).

• Вывод в консоль сервера всего чата (в том числе и скрытого).

• Можно посылать команды в консоль через чат.
  Системный админ (по умолчанию он) также через чат может посылать команды еще и от имени сервера (то есть на сервер).


  
  
А теперь более детально.



1) Префиксы: Админ, VIP и прочие Вы можете поменять на свои как Вам надо.
Также Вы можете устанавливать (поменять на) свои флаги для них. Настраивается в файле prefixs.ini

Имеется Возможность быть инкогнито. То есть скрывать свой префикс, притворяясь обычным игроком (иногда полезно не показывать себя админом).
Для этого достаточно начать любое сообщение с восклицательного знака.
Это также работает и в админском чате и в приватных сообщениях.


2) Транслит работает во всех сферах чата.
Будь то админский чат, или приватное сообщение, или сообщение на экране — все они могут быть на русском (чего я не замечал в других плагинах).

Если вы перезаходите на сервер, то язык не меняется, а сохранятся таким, каким Вы его установили последний раз.

Что касается самой смены языка, то помимо команд в чате /rus или /eng, можно еще в своём конфиге прописать строку:
	setinfo _trans rus
или
	setinfo _trans eng

Это позволит вам по умолчания сделать язык таким, какой Вам нужен. То есть, если Вы запускаете игру и заходите на сервер,
Вам не придётся писать команду для перевода языка на нужный. Он уже будет включен.



3) Более того, Вы можете комбинировать в одном сообщении то русский, то английский язык благодаря символу | (получая мультиязычность в одном сообщении).
Например, Вы пишете в чат (цитата):
	heccrbq ntrcn |angl text |cyjdf heccrbq ntrcn| snova angl
Результат транслита:
	русский текст angl text снова русский текст snova angl

Проще говоря каждый раз, когда Вы пишете символ | он снова меняет раскладку на другой язык.

Причём сам символ | в тексте не отображается.

Вы спросите: "А что если мне понадобится просто послать текстом именно сам символ | не переводя язык? Как быть?"
Очень просто: продублируйте его, чтобы он отобразился в тексте. При этом не поменяв раскладку.

Допустим сообщение (пока Вы печатаете, показывается так):
	heccrbq ntrcn || gj-ght:ytve heccrbq ntrcn
Результат:
	русский текст | по-прежнему русский текст

Более сложный пример:
	angl text| heccrbq|| heccrbq |||angl text|||| po prejnemy angl |hecrbq
Результат:
	angl text русский| русский |angl text|| po prejnemy angl русский

Для чего вообще нужен этот переключатель языка? Где может понадобиться его использование?
Бывают моменты, когда Вас игроки спрашивают про какую-нибудь команду в чате. Например, спрашивают о том, как обнулить счёт (к примеру).
У Вас включен русский. Вам же лень переводить на английский (/eng), потом писать в чате: " /rs piwi noob"  (первый символ кстати пробел, иначе в чате не отобразится)
Потом обратно возвращать свою любимую русскую раскладку.

Проще сразу при русской раскладке написать сообщение так: "|/rs| gbib ye,kj? gthdsq ltym d rc xnjkb&"
результатом чего будет: "/rs пиши нубло, первый день в кс чтоли?"

И не надо  сто раз переключать языки /rus или /eng. Слеш позволить поменять его в конкретном месте текста.

ПРИМЕЧАНИЕ: мальтиязычность работает только при включеной русской раскладке.


4) Можно посылать команды в консоль через чат, если начать символ с левого слеша \

Например:	\kill — игрок совершит самоубийство

Или:		\say ghbdtn — результатом чего будет то, что игрок пошлёт команду в чат "сказать" (тоесть написать текст): привет (текст русский, если включена русская раскладка)

Или:		\say_team jkjkj — тоже самое что и выше, только СВОЕЙ команде пошлётся текст: ололо

Или:		\+attack — игрок пошлёт себе команду "стрелять"

Или:		\+duck — игрок пошлёт себе команду "присесть" (причём он так и будет сидеть пока не пошлёт обратную команду -duck)

Или:		\+duck;-duck — игрок пошлёт себе команду "присесть" затем сразу же отпустить приседание (знак - (минус) аналогичен для других команд)
				то есть -attack, -jump и другие...

Еще пример:	\amx_gag — если игрок админ (проверка на флаг b по умолчанию), то игроку откроется меню запрета чата.

Еще пример:	\private_msg — игроку откроется меню приватных сообщений.

Еще пример:	\bind miuse3 +hook — игрок присвоет колёсику мыши команду +hook

В общем примеров может быть тысячи. Вы можете посылать любые команды (в том числе и те, которые используются в других плагинах).
Я в основном как раз для этого и использую эту функцию.


Также, если есть определённый доступ к флагу (указаный в ADMIN_SYSTEM), то игрок может посылать команды от сервера.
Всё тоже самое, только начинать надо не с одного, а с двух левых слешев \\

Например:	\\kick player "wh off" — в результате именно СЕРВЕР кикнет игрока с ником player указав причину wh off (кавычки желательны, если в параметре между словами есть пробелы)

Еще пример:	\\quit — послать команду серверву "выход", то есть сервер выключится (всем игрокам выведется: "Server shut down" — сервер упал)

В общем я думаю, более менее понятно, как работает эта система посылки команд через чат.


5) Приватные (личные) сообщения.
Можно посылать приыватные сообщения игрокам. Для этого есть специальная менюшка, вызываемая !консольной! командой private_msg.
Я, например, для удобства залил эту команду в своё меню на F3, назвав пунктом "Приватные сообщения"

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

Чтобы послать еще раз сообщение игроку, достаточно начать в общий чат сообщение с символа #
Это удобно, так как не нужно заного открывать меню, чтобы заного выбрать этого игрока, чтобы послать ему новое сообщение.
Тоесть благодаря сиволу решётки можно вести тайную переписку с человеком.

Есть еще одна фишка. Если Вам написал личное сообщение, Вы можете быстро ответить ему (опять же, не открывая меню).
Для этого начние сообщение с двух решёток ##. И личное сообщение пошлётся тому, кто написал Вам последний раз в личку.

6) Звуки.
Есть звук, когда вы меняете раскладку с русской на английскую и обратно и звуки, когда вы посылаете в чат сообщение или появляется сообщение в чате от других игроков.
Каждый игрок может их отключить для себя. Для этого есть команды /soff и /son (либо без слеша) для выключения и включения соответствуенно.
Также можно (как у языка раскладки) заранее настроить в своём конфиге:
	setinfo _s_chat off
или
	setinfo _s_chat on
Тогда звуки чата по умолчанию будут отключены или включены соответственно.

7) Запрет чата.
Администраторы могут запрещать чат отдельным игрокам. Для этого есть консольная команда amx_gag.

Использование:
	amx_gag "ник игрока"  (либо часть ника).
			либо
	amx_gag #номер			(узнать номер игрока можно послав консольную команду status, номер будет между ником и STEAM)
Если просто ввести в консоль без параметров amx_gag (то есть не указывая ник например), то откроется меню, где можно под соответствующую цифру выбрать игрока и ему заблокируется или разблокируется чат.
Однако он по-прежнему сможет посылать серверные команды, например, обнуление счёта, даже если чат заблокирован.

Аналогично с amx_ungag только эта команда наоборот снимает блокировку. Либо открывает меню если написать без параметров (то есть не указывая ник например).

На этом описание не закончено. Остальные подробности у автора.