What you want to see? - An updated chat box the one we use now is kinda outdated
Why should we add it? - you can have custom emojis rainbow texts Diffren't colour texts might be a cool thing to have and also has alot of fetures
What are the advantages of having this? -i wouldn't say much advatges as this is just a chatbox
Who is it mainly for? -everyone
Links to any content -https://www.gmodstore.com/market/view/gchat-the-ultimate-chatbox
other info
Built from ground up with compatibility, ease of use and optimization in mind.
Very fast and efficient, written in pure LUA with no proxy libraries or proxy programming languages
Ability to drag chat around and resize it in realtime
Ability to resize font in realtime
Doesn't feel clunky
Ability for clients to control fading types and fading speed of chat
Ability for clients to disable text decorations or images
Settings change save in realtime, optimizetly
Built in advert system(DarkRP based gamemodes only)
Works with chat commands
Text wrap supports UTF8
Scales with resolution
Ability to adjust scaling from settings
Full localization support with language selector(no official translations yet)
Full aTags support
Uses pre-compiled paint function for each chat message with optimized surface pipeline to minimize the usage of expensive surface functions
Ability to handle hundreds of thousands of chat messages in realtime:
Tested as working with 1 million chat messages
Not that you will ever need that many
Renders only chat messages that are visible
Realtime rendering resource-waste is almost non existent
Never need to cleanup messages with gChat, seriously it will take as many as needed without performance implications. In a practical scenario it is not possible to fill it up to the point where something will be noticed
Optimized search engine, since there is no need to cleanup messages search engine might be useful at times. It takes up to 10 seconds to search through 1 million messages - lag free. You even get a buffer and a search count to entertain you as you wait. Well, in a realistic scenario it will always be instant search until we get chat persistency done.
Usergroup tags:
Can be textual or image based
Can be dynamic, some ranks use image other text or others none at all. Whatever you fancy
Get icons from the web or locally
Timestamps:
Support both 12 and 24 clock format
Ability to easily format your own timestamp
Dynamic font:
Ability to have multiple fonts per chat message, for example timestamp can have their own font, player name can be its own font, usergroup tags can be its own font, colon can be its own font, chat message can be its own font, link can be its own font. One theme can have one font set, other other font set. This can make your chat look very unique
Each assigned font can have its own unique parameters like italic or font size. So in effect, for example, you can have a timestamp that is smaller then the rest of the message or player name that is bigger then the rest of the message to make it stand out or something
Ability to vertically offset the font position, this is kinda needed to align different fonts since its not possible to realistically detect such alignments through code.
Emojis:
Get emojis from the web or locally
Ability to define emojis and even emoji folders per theme level, so you can take 1 emoji pack alter it without changing file names and then just change the emoji folder for that theme. Again, for example you can take emojis i provided, make them whatever color you want, dump them in a different emoji folder and then use that set while old set is still functional.
Like everything else optimized rendering pipeline so even when someone spams emojis you should be somewhat ok
Images:
Ability to insert images into chat
Images nest with text so you can combine text and images(same with emojis)
Ability to define an image link whitelist and to enforce only those links for processing(RECOMMENDED)
Ability to allow users to post whatever images they want(NOT RECOMMENDED)
Ability to change the ratio of image you are posting. Ratio for width and height goes from 1 to 9, 1 representing the line height for that message. So if you inert an image that is the size of 9 in height it will be 9 lines tall
Ability to limit the max size of images anyone posts. By default it is limited to 5
Ability to select whitelisted images from a panel, like watsapp and similar
Text decoration:
Colored,italic(dynamicfont),flashing,glowing text with easy to use parsing method. Altho, colors and their parsers need to be defined from a theme system but this might be expanded in future to have more dynamic color parsing.
Emojis,Images and Text decorations can be limited to specific ranks, so for example you can make it only donator feature. Only their image links and emoji parsers will actually get converted into images and emojis.
Theme system:
[NOTE] To utilize theme system fully you will need to understand very fundamentals of LUA like what a table is or what a variable is.
Almost anything visual can be edited from the theme system
Ability to switch mounted themes in realtime
Ability to get icons and textures from the web or locally
Supports pattern textures, for example if you don't want background texture to stretch but to tile while you resize the chat
Supports lua refresh, if you are editing a theme that is active most settings will update live altho some will require reconnect. This might get improved over time.
Ability to mount only specific themes. For example, you can keep 100 themes in a theme folder but mount only 2 themes. In any case it is not recommended you mount 100 themes.
Ability to rank restrict who can use theme selector. So you can make theme changing donator only, or something
Extensive multi-level blur support, because everyone needs a little bit of blur in their life.
Comes with 10 themes. Out-of-box
Chat modes:
Team Chat support
Ability to run client side console commands
Ability to run rcon(server) console commands, rank restricted
Ability to execute both client side and serverside LUA from chat, rank restricted
Secured, exploit-free networking