I am working on a new version that will adress the "%s1 : %s2" issue. I will have to rewrite all plugins into one.
Ultimate Chat (With addons: Color, Swear, Mute & Tag
Ultimate Chat will enable admins/players to see chat messages they usually wouldn't. Ultimate Chat: Color will enable admins/players to add color to their messages through commands. Ultimate Chat: Swear will allow you to censor certain words using regular expressions. Ultimate Chat: Mute will allow you to mute certain players through a say command or a menu for a specified time or permanently. Ultimate Chat: Tag will allow you to give tags as prefixes or postfixes to a user name through access level(cvars), SteamID(.ini file) or API(.inc file).
Here's an example of 4 addons (Color, Mute, Swear & Tag) working together.
Muted, Censored for swearing, general "[ADMIN]" admin tag, personal "<----" post tag, using the color commands to color the text.
Continuing support for my old plugin Ultimate Chat and expanding it with features through addon plugins. This plugin requires cstrike module enabled.
I have updated the old plugin Ultimate Chat for several reasons:
* There was a bug that made empty messages appear as long as they were generated by the plugin. I was not good enough to debug such an error in the past, meaning I didn't even know it existed even though people had told me it did.
* Replaced message_* functions with emessage_* functions to expand the compatibility with other plugins. This will make it easy to expand the functions of Ultimate Chat with simple addon plugins.
* Added a requested feature that dead players could see the messages from alive admins. Flag "k" is used for this feature. If "c" and "d" flag is set, you don't need this option enabled.
* Of course I have made the plugin more efficient in as many ways as I could.
* Added a cvar for admin flags to make it easier for novice users to change the required admin flag(s) without recompiling the plugin.
As all the addon plugins is operating on the message level, meaning after the command is sent, it should work with all plugins using the emessage_* functions and also a clean server with no chat plugins.
Ultimate Chat
Changelog
Code:
Version 1.3
* Re-release of the old plugin.
Version 1.4
* Expanded the admin flags with "y" (ADMIN_ADMIN) and "z" (ADMIN_USER).
* Included a delayed registration of the commands to make UC the last in que to avoid hooking commands that are blocked by other plugins.
Version 1.5
* Included support for automatic updates using the HTTP:X plugin.
Version 1.51
* Changed autoupdate method. No need to update if there's nothing available.
Version 1.52
* Moving webserver, updating DNS.
Commands, cvars and explanations:
Code:
uc_adminmode & uc_playermode:
a = The dead can see the chat messages of their alive teammates non-teammsgs.
b = The dead can see the chat messages of their alive non-teammates non-teammsgs.
c = The alive can see the chat messages of their dead teammates non-teammsgs.
d = The alive can see the chat messages of their dead non-teammates non-teammsgs
e = The dead can see the chat messages of their alive teammates teammsgs
f = The alive can see the chat messages of their dead teammates teammsgs
g = The dead can see the chat messages of their dead non-teammates teammsgs
h = The alive can see the chat messages of their alive non-teammates teammsgs
i = The dead can see the chat messages of their alive non-teammates teammsgs
j = The alive can see the chat messages of their dead non-teammates teammsgs
Default cvar values:
uc_enabled "1"
uc_adminmode "abcdefghij"
uc_playermode "abe"
uc_adminflag "n"
Color
Changelog
Code:
Version 1.0
* Release
Version 1.1
* Can't remember. Must not be too important.
Version 1.2
* Added default message color.
Version 1.3
* Not sure.
Version 1.4
* Included support for automatic updates using the HTTP:X plugin.
Version 1.41
* Changed autoupdate method. No need to update if there's nothing available.
Version 1.42
* Moving webserver, updating DNS.
Commands, cvars and explanations:
You can add your own commands through the .sma (requires a recompile) but the default ones are:
!g !G /G - for green color.
!t !T /T - for team color.
!d !D /D !n !N /N !y !Y /y /Y - for normal color.
You don't have to worry about the color commands interfering with any other commands for plugins as they are usually picked up on the say command, which is executed before this is.
Code:
uc_color_adminmode & uc_color_playermode:
a = Users can write with normal color
b = Users can write with team color.
c = Users can write with green color.
uc_color_admindefault & uc_color_playerdefault
1 = The default color of the message is green.
2 = The default color of the message is teamcolored.
Default cvar values:
uc_color_enabled "1"
uc_color_adminmode "abc"
uc_color_playermode "abc"
uc_color_adminflag "n"
uc_color_admindefault ""
uc_color_playerdefault ""
Swear
Changelog
Code:
Version 1.0
* Release
Version 1.1
* Regex is now case-insensitive.
Version 1.2
* Upgraded the size for the channel string since it would get cut off otherwise in combination with other plugins.
Version 1.3
* Removed some of the commands to avoid clashing with other commands.
Version 1.4
* Now has a possibility to automatically mute a player for swearing too much. Requires UC: Mute 1.1.
Version 1.5
* Included support for automatic updates using the HTTP:X plugin.
Version 1.51
* Changed autoupdate method. No need to update if there's nothing available.
Version 1.52
* Moving webserver, updating DNS.
Commands, cvars and explanations:
Code:
Cvars:
Run the plugin once. It will automatically create a file called uc_swear.ini in your configs dir. It contains information on how to add expressions.
Cvars:
uc_swear_enabled "1"
1 Enabled
0 Disabled
uc_swear_allowadmin "1"
1 An admin can bypass the swear check if they have the correct admin flag.
0 Even admin messages will be filtered.
uc_swear_showadmin "1"
1 Admins will see the unfiltered message if they have the correct admin flag.
0 Admins will see what everyone else sees.
uc_swear_adminflag "n"
Decides what flag is required for uc_swear_allowadmin and uc_swear_showadmin.
uc_swear_mode "2"
1 Block the message completely.
2 Replace censored text with stars.
3 Replace with cvar defined text.
uc_swear_replacewith "-snip-"
If uc_swear_mode is set to 3 you can define what the blocked text will be replaced with using this cvar.
uc_swear_mute_after "0"
Will collaborate with the UC: Mute plugin. Requires version 1.1. Player gets automatically muted if swearing X times.
0 Disabled
Anything else enables the function and decides how many strikes before the player is muted.
uc_swear_mute_time "5"
Decides how many minutes a player is muted for when swearing too much.
Mute
Changelog
Code:
Version 1.0
* Release
Version 1.1
* Added .ini to make it possible to block commands and not only chat.
* Added option for automatic muting when a player is swearing too much. Requires UC: Swear 1.4.
Version 1.1a
* Bugfix. Blocked say commands were only applied to admins.
Version 1.2
* Included support for automatic updates using the HTTP:X plugin.
Version 1.3
* Bugfix. A target with the userid over 255 would (probably) not be correct after selection in the menu. Now supports a userid up to 16383.
* Bugfix. show_activity() always displayed "muted" even though the action was to unmute as pointed out by mahmoodi.1313.
Version 1.31
* Changed autoupdate method. No need to update if there's nothing available.
Version 1.32
* Moving webserver, updating DNS.
Commands, cvars and explanations:
Code:
Commands:
/mute [Part of name] [Minutes]
Examples:
/mute
Will bring up the mute menu.
/mute Rose
Will mute player "Rose" permanently (until unmuted).
/mute Rose 5
Will mute player "Rose" for 5 minutes.
/unmute Rose
Will unmute player "Rose".
uc_unmuteall
Will remove all muted players from nVault.
Cvars:
uc_mute_enabled "1"
1 Enabled
0 Disabled
uc_mute_showadmin "1"
1 Admins will see the unfiltered message if they have the correct admin flag.
0 Admins will see what everyone else sees.
uc_mute_adminflag "n"
Decides what flag is required for the /mute command and uc_mute_showadmin.
uc_mute_mode "2"
1 Block the message completely.
2 Replace the message with predefined string of uc_mute_replacewith.
uc_mute_replacewith "I'm muted."
If uc_mute_mode is set to 2 you can define what will be shown instead using this cvar.
uc_mute_message "[Mute] You are muted."
This is the message that is sent to the muted person as a notification when trying to chat.
Tag
Example using "a" flag to set !g[SuperAdmin] tag through cvars and a personal [ !g--{-!t@ !d] set with .ini file.
Changelog
Code:
Version 1.0
* Release
Version 1.1
* Rearranged the list of channels.
Previously the dead messages would be malformatted because #Cstrike_Chat_All will be found before reaching #Cstrike_Chat_AllDead and replaced with the custom message.
This applies to the channels AllDead, AllSpec, T_Dead and CT_Dead.
Version 1.2
* Added name color for ini, cvar and API.
Version 1.3
* Included support for automatic updates using the HTTP:X plugin.
Version 1.31
* Changed autoupdate method. No need to update if there's nothing available.
Version 1.32
* Changed the way flags are interpreted from the cvars. Instead of OR, it will use AND to match to all the flags supplied instead of just one.
Version 1.33
* Changed native style for the API since they were not working correctly.
Version 1.34
* Moving webserver, updating DNS.
Commands, cvars and explanations:
Code:
Code:
Run the plugin once. It will automatically create a file called uc_tag.ini in your configs dir. It contains information on how to add personal tags.
Level cvars, ini file or plugin API all support both the binary format of colors but also the commands, for example !d, !t or !g.
Cvars:
uc_tag_enabled "1"
1 Enabled
0 Disabled
uc_tag_levelX_flags ""
uc_tag_levelX_pre ""
uc_tag_levelX_post ""
uc_tag_levelX_namecolor ""
Replace X with 1 to LEVEL_NUM, defined in plugin. Default is 10.
Use these to add custom levels of tags based on access flags.
For example, if you want all admins with immunity flag to have the tag [Super Admin] you can use these cvars:
uc_tag_level1_flags "a"
uc_tag_level1_pre "[Super Admin]"
And if you want all VIP with flag "t" (ADMIN_LEVEL_H) to have the post tag *VIP* in green you can use these cvars:
uc_tag_level2_flags "t"
uc_tag_level2_post "!g*VIP*"
And if you want all admins to have a green name you can use these cvars:
uc_tag_level3_flags "y"
uc_tag_level3_namecolor "1"
Use "y" (ADMIN_ADMIN) for all admins and "z" ADMIN_USER for everyone.
If you leave one level without flags, the plugin will stop looping there, so make sure there are no gaps. For example:
uc_tag_level1_flags "a"
uc_tag_level2_flags ""
uc_tag_level3_flags "b"
That will stop at level2 and exit looping, will never read level3.
This is to make sure the plugin is not wasting resources when it doesn't have to.
Possible name colors are:
1: Normal color (yellow/white)
2: Green
Anything else will reset to team color.
I will gladly take suggestions on improvements.
Please notify me if you find any bugs or problems that I have missed.
All plugins will work by their own but also with each other. You choose which combination fits you best.
The addon plugins are not compatible with older versions of Ultimate Chat. It is also not compatible with any other plugin that uses message_*() functions to produce the messages.
Nice. Ultimate chat was always the first plugin I'd get whenever I'd work on a server. It's good to see it being updated, though I'll definitely miss that empty message bug that would give me away when I would try to act afk to spectate hackers.
If its 100% working, then it's a very nice plugin, especially the Ultimate Color.
But one thing, you don't hear chat messages, you see chat messages. You do hear sounds, but not chat messages. And your plugin its about chat messages.
It's good to see it being updated, though I'll definitely miss that empty message bug that would give me away when I would try to act afk to spectate hackers.
If enough people request that feature I could definitely add it back in but making it "global" instead of just the messages this plugin produces. Hopefully I can make it an addon like the colors. This way people can pick whatever addons they want and the plugins will still be small and effective.
I do however think that this feature will have to be done within the chat plugin itself because the empty messages is probably cleared out after the command phase, the message is probably never sent as a SayText.
Quote:
Originally Posted by Sun Aloe
But one thing, you don't hear chat messages, you see chat messages. You do hear sounds, but not chat messages. And your plugin its about chat messages.
You are definitely right. My first plugin was based on psycholisten. I have updated the file and the main post to fit the purpose of the plugin more accurately.