Chat Tags module
for NidToolbox Light
Create and assign chat tags to the players on your server, to clearly mark their roles and membership, whether they are an [Admin] or a [Janitor]
Support is provided as well as suggestions are accepted on my Discord here
Chat Tags module allows:
- Easy creating, granting, revoking and displaying chat tags like: [Admin], [Donor], [Server Owner]
- Can be visible in tooltips!
- Fully customizable! Any colour of choice can be defined. Module accepts either any hex colour code or provided 16 defined named colours options for ease of use.
- Formatting options include: Brackets type, bracket color, size, italic, underline, underline color.
- Possible to force custom capitalisation of the name.
- Priorities can be assigned to different tags, which should appear first, 0 (zero) being the highest priority.
- Full integration with Elixir Framework permission Groups! See below for examples.
- Easy configuration via in-game commands.
- Configuration can be viewed at any time, with looks example as well as tag membership.
- Module can be reloaded at any time, without the need of a server restart.
As any module of NidToolbox set, it requires nid-core version 1.0.3+ module, available in the main forum thread: here
How to install:
- Unpack .zip archive
- Copy nid-chattags.dll to Mods\NidToolbox\Modules
Config files are located at:
- Configs\Mods\NidToolbox\ChatTags.json - contains module settings.
Chat tags are created and configured via usage of in game commands. While there is a settings file available as well, I strongly discourage from editing it by hand.
There are currently two tag types:
- Manual - this is simplest chat tag, can be created, deleted, renamed, formatted at any time and assigned freely.
- EMGroup - this chat tag is created automatically, based on existing Elixir Framework permission groups and protected from deletion or renaming. Its colour, priority and visibility can be assigned freely, however membership is read directly form the EM Groups created by server admins. See below for some example integrations with EM permission groups. Some of the system tags as Admin and Default are also defined as this type of tag.
- (upcoming) Demographic - it is an upcoming chat tag type, that will be assigned automatically to the members of the specified demographic. Its visibility, priority and colour will also be freely editable.
Adding new tag is as simple as issuing /tag-add and specifying the details. Only tag name and color are required, priority of 1 and visibility enabled are assumed if not given by the issuer.
Tags can be assigned by issuing /tag-grant and stating a player name. After that tag will be always added to the targeted user.
How to view Tag's settings - to check tag's settings at glance, simply issue /tag-show tagName. It will trigger a window, showing all the settings for the tag, including members, colors, type and look example.
Priority - normally tags are shown in the alphabetical order. If you would like to alter this behaviour, for example to signify some important roles like Donors and server supporters, you can assign priority to the tag in question. Tags with higher priority will show first. Highest priority available is 0 (zero). Tags with same priority will respect alphabetical order.
Use /tag-pri tagName, priority to change tag's priority.
Visibility - all created tags start as visible, however if you need to hide tag for some reason, you don't need to delete it. Just hide it's visibility! Visibilty can be change via /tag-config command.
Bracket types, bracket colors, italic, underline and underline colors and size can all be applied as per the user liking. See below for details (in commands section).
Let's say you have created a player tag - My Supporters but instead of using the default [ ] brackets, you prefer < > type. Use /tag-brackets to alter them.
You can also force specific capitalisation of the tag. This is especially useful for tags that are created for the existing EM Groups. By default, EM Group tags will inherit the group name and will be capitalised. Normally this is fine, but let's say you have created Vips EM Group, the chat tag will look as follows: [Vips], you can force [VIPs] capitalisation by using /tag-ForceCap.
Integration with EM Framework:
This module integrates fully and seamlessly with EM Framework.
If you would like to take things on your server to the next level, make sure you utilise EM Framework's permissions system!
Elixir Framework Groups and Permissions module, allows fine and granular control over which player can do what.
Let's say you want your Donors to be able to teleport home and use the teleport command, but you DON'T want the same rights for just the regular users.
Or You want a Moderator group who can ban and mute players but restrict them from spawning items or flying. This is where EM Framework Groups and Permissions come in.
By using /grp-add you can create special permission groups for your Moderators, Donors, Support etc with specifically assigned commands only they can use.
NidToolbox Chat Tags will automatically recognise your EM Groups, their members and will create and assign tags to them all by itself. You can of course still alter colors, visibilty and priority of such tags.
The best thing is - you don't have to download anything, em-framework is included with nid-core download and required by it, so you already have it
If you are interested, be sure to check EM Framework documentation page, here.
Displays information about all commands contained within this module.
Creates new player chat tag.
/tag-add string tagName, string color, int priority, bool visible
priority and visibilty are optional. When not defined, priority 1 and visible will be assumed
/tag-add tagName, scolor, priority, true/false
Displays tag's easily viewable tag configuration in a separate window, including information on who is the tag currently assigned to.
/tag-show string tagName
Assigns tag to the player.
/tag-grant string tagName, string targetPlayer
/tag-grant tagName, targetPlayer
Remove tag from the player.
/tag-revoke string tagName, string targetPlayer
/tag-revoke tagName, targetPlayer
Assigns color to the selected tag.
/tag-color string tagName, string color
/tag-color tagName, color
Sets formatting options for the selected tag. Use this if you want to set everything by one command. If you want to target only some properties, see commands below.
/tag-format string tagName, string bracketsType, string bracketsColor, int size, bool italic, bool underline, string underlineColor
/tag-format tagName, , #FF00FF, 22, false, true, #FFFFFF
Sets bracket type and bracket color for selected tag. You can ommit bracketsColor, if you do, default value of #FDE698 will be used.
/tag-brackets string tagName, string bracketsType, string (optional) bracketsColor
/tag-brackets tagName, <>, #FDE698
Sets size for the selected tag.
/tag-size string tagName, int size
/tag-size tagName, 22
Changes the format properties of the font: underline, italic, underline color. Underline color is optional, when omitted, default value of #FDE698 will be used.
/tag-font string tagName, bool italic, bool underline, string underlineColor
/tag-font tagName, false, true, #FDE698
Unifies size for all the chat tags
/tag-SizeAll int size
Forces exact capitalisation in tag name.
/tag-ForceCap string tagName, string newName
/tag-ForceCap vips, VIPs
Shows previously hidden chat tag on specified user.
/tag-unhideOnUser string tagName, User targetUser
/tag-unhideOnUser tagName, targetUser
Hides chat tag on specified user.
/tag-hideOnUser string tagName, User targetUser
/tag-hideOnUser tagName, targetUser
Removes specified player chat tag.
/tag-del string tagName
Renames existing tag.
/tag-rename string tagName, string newName
/tag-rename tagName, newName
Assigns priority to the selected tag.
/tag-pri int priority
Configures targeted chat tag.
/tag-config string tagName, string color, bool visible, bool showInTooltip, int sizeInTooltip, int priority
/tag-config tagName, color, true/false, true/flase, 24, priority
Configures tooltip properties of the selected chat tag.
/tag-tooltip string tagName, bool showInTooltip, int sizeInTooltip
/tag-tooltip tagName, true/false, 24
Lists all created tags.
Reload settings from config files.