A detailed description of my chat engine

EDIT: I suppose it’d be a good idea to link a demo place. I’ll get that soon.
EDIT 2: You can play the game here.

Please give feedback on the features below. This chat is designed for RP servers.
It’s a bit long, but I think you guys will like what I’ve come up with.

Features:

  • Mentioning system, similar to Discord but only by player username.
  • Mentioning respects a setting which prevents the chat from opening due to notifications.
  • Party system
  • Direct-message system
  • A global OOC (Out Of Character) channel
  • A local-area chat channel
  • An admin chat channel (for my personal admins, not official roblox admins)
  • An NPC-chat widget that allows NPCs within the game to show NPC chats.
  • A server-chat widget so any administrative message can be shown to all users.

(If added) Ranking system details: (Inspired by a minecraft mod-server called “Craftland” in case you play that amazing server)

–Normal ranks–

  • “Starter” - Any new player has this rank.
  • Name color: BrickColor.new("Medium stone grey")
  • Pretty much a noob.
  • “Apprentice” - Play for 10 minutes to get this rank.
  • Name color: BrickColor.new("Bright green")
  • Awarded 100 gold for achieving.
  • “Master” - Play for 24 hours to get this rank.
  • Name color: BrickColor.new("Bright yellow")
  • Awarded 500 gold for achieving.
  • “Senior” - Play for 7 days to get this rank.
  • Name color: BrickColor.new("Bright red")
  • Awarded 1000 gold for achieving.

–Staff ranks–

  • Helper
  • Name color: BrickColor.new("Toothpaste")
  • A user can achieve / apply for this rank if they help people out with game mechanics.
  • No admin permissions.
  • Administrator
  • Name color: BrickColor.new("Bright blue")
  • Has full admin permissions.
  • Owner
  • Name color: BrickColor.new("Lime green")
  • Has full admin permissions + extra commands (See commands list below)

Commands of my chat:
Commands use [required argument], [optional argument] format here.

–Open commands (Anyone can use)–

  • /name [NAME] - Sets your nickname, good for RP.
  • /unname - Remove your name
  • /afk - Marks a player as away or back
  • /party [PLAYER] - Add a player to your party, if they accept and allow party invites.
  • /leaveparty - Leave your current party, disbanding it if you are the leader (This is subject to change, likely going to change the party leader)
  • /kickparty [PLAYER] - Kick a player from your party.
  • (W.I.P.) /listparty - List the names of all players in your party.
  • (W.I.P) /leave - Leave the current channel. Cannot leave Global, Local or Admin. Functions the same as /leaveparty if user is in a party channel.

–Admin only commands–

  • /warn [PLAYER] [WARNING MESSAGE] - Display a red message on that player’s screen and force-open their chat so that they see it. (May add a sound)
  • /kick [PLAYER] [KICK MESSAGE] - Remove a player from the game.
  • /ban [PLAYER] [KICK MESSAGE] - Permanently remove a player from all servers by adding a “Banned” tag to their stored data in the data store. (Note: The game I’m using has this stored data, not the demo place)
  • (WIP) /banlist - Gives a list of the UserIds of banned players, likely going to use an HTTP api to display their name as well.
  • (WIP) /unban [USER ID] - Removes that user ID’s banned tag, lifting their ban.

–Owner only commands below–

  • /say [MESSAGE] - Display a server-wide message, text in all green.
  • (WIP) /devmode - See list below - Only applies to who ran the command, toggling command.
  • Sets health to math.huge
  • Makes all shop items free
  • Removes any level requirements from locations
  • Makes character invisible (also makes it behave similarly to noclip in Source games.)
1 Like

Where to test?

I don’t have an up-to-date test place. It’s live on my closed-development game, Dragon RP 2. I’ll make a test place sooner or later to really give a good demo.

pretty neat idea

Are you using the lua chat system to do this, or building your own?

It’s in roblox lua.

Nice! If you think your system would be useful for everyone, you can contribute (or at least parts of it) back to the roblox corescripts github.

We’re planning more features down the road such as a better mobile ui, so lots to look forward to.

Yeah, I might actually do that considering what roblox does to return the favor (I’d like to be known for being “The maker of the next roblox chat!”)

The only issue it has now is that it’s a MESS of RemoteEvents because I have the bad habit of using different RemoteEvents for different events. As opposed to just one, that is.

1 Like

Added a test site.