Better Chat

Customize chat colors, formatting, prefix and more

Total Downloads: 16,089 - First Release: Apr 21, 2015 - Last Update: Jan 11, 2017

4.98529/5, 68 likes
  1. LaserHydra
    Configuration File:
    Yes
    Thanks for over 15.000 downloads!

    Better Chat
    lets you change the name colors and prefixes as you want to.

    If you have this installed and you see somebody called [Plugin Developer] LaserHydra, thats me visiting your server.

    Group Manager currently NOT UP-TO DATE!
    Easily edit your oxide/data/BetterChat/Groups file using the BetterChat Group Manager:
    < Download >

    BetterChat Addons:

    Plugins which use BetterChat:

    All arguments inside [ ] are optional!
    [time] should be a formatted time. Ex. 60m for 60 minutes.
    | stands for 'or'.

    Commands:

    • /chat group add <group> create a new group
    • /chat group remove <group> remove a group
    • /chat group set <group> <setting> <value> change a group setting
    • /chat group list list all groups
    • /chat user add <player|steamid> <group> add a user to a group
    • /chat user remove <player|steamid> <group> remove a user from a group
    • /chat user groups <player|steamid> list groups of a user
    • /mute <player|steamid> [time] mute a player
    • /unmute <player|steamid> unmute a player
    • /muteglobal mute all players
    • /unmuteglobal unmute all players
    • /ignore <player|steamid> ignore a player
    • /unignore <player|steamid> stop ignoring a player
    Console Commands:
    • chat group add <group> create a new group
    • chat group remove <group> remove a group
    • chat group set <group> <setting> <value> change a group setting
    • chat group list list all groups
    • chat user add <player|steamid> <group> add a user to a group
    • chat user remove <player|steamid> <group> remove a user from a group
    • chat user groups <player|steamid> list groups of a user
    Permissions:
    • betterchat.admin for the /chat command
    Granting permissions:
    Use following CONSOLE commands to grant permissions
    • grant user <player> <permission> grant permission to player
    • grant group <group> <permission> grant permission to group
    Chat-/Console Formatting :
    • You can do a lot with the "Formatting" of a group. you can customize it with
      • {Title} = Group Title
      • {Username} = Player Name
      • {ID} = Player ID
      • {Message} = Message
      • {Date} = Date Stamp
      • {Time} = Time Stamp
      • {Group} = Primary Group
    ... but also just add words, letters, numbers, and symbols to it. You could just put the Title behind the name for example.

    Default Configfile:
    Code (Javascript):
    {
        "Maximal Titles": 3
    }
    Default Languagefile:
    Code (Javascript):

    {
      "Group Already Exists": "Group '{group}' already exists.",
      "Group Does Not Exist": "Group '{group}' doesn't exist.",
      "Group Field Changed": "Changed {field} to {value} for group '{group}'.",
      "Invalid Field": "{field} is not a valid field. Type 'chat group set' to list all existing fields.",
      "Invalid Value": "'{value}' is not a correct value for field '{field}'! Should be a '{type}'.",
      "Player Already In Group": "{player} already is in group '{group}'.",
      "Added To Group": "{player} was added to group '{group}'.",
      "Player Not In Group": "{player} is not in group '{group}'.",
      "Removed From Group": "{player} was removed from group '{group}'."
    }
     

    For Developers:


    Hooks:
    • object OnBetterChat(IPlayer player, string message) - return false to cancel, return string to override message

    API calls:
    • private bool API_AddGroup(string group)
    • private void API_RegisterThirdPartyTitle(Plugin plugin, Func<IPlayer, string> titleGetter)
    • private string API_GetFormattedMessage(IPlayer player, string message, bool console = false)
    • private string API_GetFormattedUsername(IPlayer player)
    • private ChatGroup.SetFieldResult? API_SetGroupField(string group, string field, string value)
    • private bool API_GroupExists(string group)