Introduction:
Hey all! Once again, I was making a resource for one of my games and decided it could potentially be a viable community resource for developers. So, today I’ve grabbed the bubble chat I made for BetterChat and made it 100% compatible with the default chat system.
Features:
- Typing indicator
- 2-step installation process
- More than 16 configurations for your own customization experience (colors, tweening, fonts, etc)
- API system for developers similar to the one Roblox offers themselves
- Open-sourced if you want to fork it!
Future features:
- Support for voice chat indicators
- Rich text (possibly)
- More configurations
Showcase:
ignore edgy avatar k thx
yes this is an actual screenshot that represents the bubble chat
Where do I get it?
You can get the model here!
You can get the source code here!
Installation instructions:
- Add the loader model above
- Disable ‘BubbleChatEnabled’ in Chat to prevent the default bubble chat from overlapping
- Enjoy! That’s all you need to do in order to install the system.
Can I try it out first?
I created a showcase game that has it implemented into it for people who want to test it out and see how it looks!
Suspicious about backdoors?
You can fork the system yourself from the source code but you will no longer receive automatic updates that the default loader includes.
API? Where?
For scripters who want to implement bubble chat for NPCs (or whatever strange purposes you have) we have an API system for you!
In the loader model, there’s a “Plugins” folder and an example plugin, the code below shows an example of how you could make a brick say something. All plugins are run on the clients immediately upon the bubble chat loading.
return function(api)
local speaker = api.newSpeaker(workspace:WaitForChild("Part"))
speaker:say("hi")
local gui = speaker:getUI() --> Billboard GUI for the chat bubble
end
*also supports metatables with the __call metamethod
local module = {};
setmetatable(module,{
__call = function(t,api)
-- do stuff with your api ig
end
})
return module;
tada!
API docs:
Main
Name | Arguments | Returns |
---|---|---|
newSpeaker | ‘Instance’ (parent, required) ‘String’ (gui name, optional) | ‘speaker’ (table) |
local speaker = API.newSpeaker(workspace.Brick) --> table
Speaker methods: (I know, there’s not a lot. But if you need more please let me know, I’ll be glad to try and add them!)
Name | Arguments | Returns |
---|---|---|
say | ‘message’ (string, required) | nil |
getUI | N/A | billboardGUI (Instance) |
local speaker = API.newSpeaker(workspace.Brick)
speaker:say("Inspirational")
local gui = speaker:getUI()
Notice:
Thank you for reading my trainwreck of a post! <3 (If you’re having trouble finding the model, it’s at the “Where do I get it?” section below the showcase screenshots)
If you have any feedback / constructive criticism please do not hesitate to PM me or leave it in the comments.
Credits:
My other projects:
BetterChat Custom chat system I got this bubble chat from
Rbx.Lua Lua roblox API wrapper for discord bots etc
Polls:
- Yes
- No
- I’m just looking at random resources on DevForum man, not ready for this kind of commitment
0 voters