This repository was archived by the owner on Mar 11, 2024. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork6
CEF chat for Multi Theft Auto: San Andreas
License
NotificationsYou must be signed in to change notification settings
nrzull/mtasa-chat2
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The chat uses CEF and it tries to simulate behavior of default chat
- Emojis (😈)
- Adaptiveness (you don't need to put-on glasses for your 1920x1080 screen to see what others write)
- Copy/paste from/to input (no more console -> say someLongMessageOrUrl)
- Customizable (now you can unify a chat for all of your players)
- Extendable (for example you can make url links in chat clickable or add markdown support)
- It can't execute built-in commands like
/nick
,/login
, etc "due to security reasons." (c) mta wiki. You need to write your own custom handlers for this commands or just use console for such commands. Custom commands still work as expected. - It can't be used until resource starts so you can't write useful messages to player in
onPlayerConnect
event handler. useonPlayerJoin
instead
- downloadresource
- move this resource to
server/mods/deathmatch/resources/
directory - add to
server/mods/deathmatch/mtaserver.conf
:
<!-- set this resource before all other resources--><resourcesrc="chat2"startup="1"protected="0" />
- add to
server/mods/deathmatch/acl.xml
:
<groupname="chat2ACLGroup"> <aclname="chat2ACL"></acl> <objectname="resource.chat2"></object></group><aclname="chat2ACL"> <rightname="function.executeCommandHandler"access="true"></right></acl>
outputChatBox(string message, int red?, int green?, int blue?) -> void
Note that there is no last parametercolorcoded
. Hex processing is enabled by defaultshowChat(bool show) -> void
clearChatBox() -> void
exports.chat2:isChatVisible() -> bool
outputChatBox(string message, element elem?, int red?, int green?, int blue?) -> void
Note that there is no last parametercolorcoded
. Hex processing is enabled by defaultshowChat(element elem, bool show) -> void
clearChatBox(element elem) -> void
exports.chat2:useDefaultOutput(bool) -> void
Enable/disable default output. If you disable it, then you need to write your own custom handlers foronPlayerChat
event
addEventHandler("onResourceStart",resourceRoot,function()-- need to be executed if your gamemode doesn't output any messages to chat in-- onPlayerChat event handlers. As an example: play gamemode already uses its own output-- so you don't need to enable default output, but race gamemode doesn't have it,-- so you need to enable default output.exports.chat2:useDefaultOutput(true)end)addEventHandler("onPlayerJoin",root,function()outputChatBox("#ccff00hellow #ffcc00world",source)outputChatBox("i'm red af",source,255,0,0)end)-- listen for direct output from chat-- should be created if useDefaultOutput wasn't set to 'true'addEventHandler("onPlayerChat",root,function(message,messageType)ifmessage~="ping"thenoutputChatBox("pong",source)endend)
You should execute
exports.chat2:useDefaultOutput(true)
because your gamemode doesn't have built-in outputExecute
exports.chat2:useDefaultOutput(false)
somewhere in your codeYou need to add new entries in clientsideinputKeyButtons table with unique
messageType
values and then process this messageTypes inonPlayerChat
event handlers
About
CEF chat for Multi Theft Auto: San Andreas
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published