• 每个人都可以搬运插件,请严格遵守搬运插件的规则,帖子一定要写上原帖地址! 近期Rustbbs会有大量更新!服务器版块请严格按照规定排版写入! 搬运插件请不要大量机翻!QQ交流群:612904352
Better Chat / 头衔与组

搬运 Better Chat / 头衔与组 5.2.5

没有下载权限
原网址
https://umod.org/plugins/better-chat
原作者
LaserHydra
原名称
Better Chat
被...使用

Better Chat通过允许您更改和自定义玩家名称的颜色和前缀来替代游戏中的默认聊天。插件还可以添加对此插件的支持以实现兼容性,因为运行多个聊天插件通常无法正常运行。

oxide/data/BetterChat.json使用BC Group Manager轻松编辑文件
(仅Windows)

指令
该插件使用相同的语法提供聊天和控制台命令。在聊天中使用命令时,请在命令前加上一个斜杠“ /”。 []中的所有参数都是可选的!| 代表“或”。
  • chat group add <group> -创建一个新的聊天组
  • chat group remove <group> -删除聊天组
  • chat group set <group> <setting> <value> -更改聊天组设置
  • chat group list -列出所有聊天组
  • chat user add <player|steamid> <group> -将玩家添加到聊天组
  • chat user remove <player|steamid> <group> -从聊天组中删除玩家
权限
该插件使用Oxide的权限系统。要分配权限,请使用oxide.grant <user or group> <name or steam id> <permission>。要删除权限,请使用oxide.revoke <user or group> <name or steam id> <permission>
  • betterchat.admin-使用chat命令需要

你有什么想问的问题
问题:为什么所有聊天消息都出现两次?
答:您安装了另一个聊天插件,该插件与“更好的聊天”不兼容。通常对此有怀疑No Green。考虑一下您是否真的需要其他插件。例如,可以使用“更好的聊天”轻松地重新创建“绿色”。

问题:为什么氏族标签不显示?
答:您可能必须安装Clan Tags插件才能与“更好的聊天”一起显示。

问题:我需要为“优先级”设置什么?
答:优先级用于确定玩家的主要组和显示的标题顺序。有关“主要组”的更多信息,请阅读“'主要组'是什么意思?” 下面。

问题:我无法将自己从默认/主持人/管理员组中删除
答案: Oxide会自动将玩家添加到其相应的组中。每个人都被添加到默认组。如果您只是想为管理员隐藏默认标题,请查找HiddenIfNotPrimary设置。

问题: “主要群体”是什么意思?
答:主要组由组的优先级确定。在玩家所属的所有群组中,优先级最高(人数最少)的是其主要群组

组态
可以BetterChat.json在oxide/config目录下的文件中配置此插件的设置和选项。建议使用JSON编辑器或验证站点(例如jsonlint.com),以避免格式问题和语法错误
代码:
{
  "Maximal Characters Per Message": 128,
  "Maximal Titles": 3,
  "Reverse Title Order": false
}
每个设置如下所示: "Key": Value

键是设置的名称/描述,而值是您要设置的实际值。例如,为了使这个词过滤器,你会看到在/里面"Word Filter" { ... }有"Enabled": false。要启用它,请将其更改为"Enabled": true。
  • 最大标题 -显示的最大标题数量
  • 最大字符数消息 -最大字符每消息显示
聊天格式
您可以对组进行格式化。您可以使用以下方法自定义它
代码:
{Title} =  组标题
{Username} =  玩家名
{ID} =  玩家ID
{Message} =  消息
{Date} =  日期
{Time} =  时间
{Group} =  主要组
但是也可以在其中添加单词,字母,数字和符号。例如,您可以将标题放在名称后面

聊天组设置
要设置组,请使用命令“聊天”。如果要在聊天中进行设置,则需要授予自己权限,betterchat.admin并在命令前加上正斜杠(/)。您可以通过在服务器控制台中键入以下命令来授予自己权限,在该控制台中您<name or ID>用用户名或ID (大多数游戏的Steam ID)代替:oxide.grant user <name or ID> betterchat.admin现在,您可以在聊天中使用命令“ / chat”。

首先,创建所需的组。让我们以管理组为例。请记住,如果要在聊天中设置组,则需要在命令前加上正斜杠(/)。

要创建组,请键入: chat group add admin

您还应该设置组的优先级,因为这对于插件非常重要。优先级是该组的等级,如果您处于多个组中,它会告诉Better Chat应首选哪个组。

数字越小,实际优先级越高,意味着0> 1。由于admin目前是我们的最高优先级组,请将其设置为0,如果也有主持人组,则很可能在此处将其设置为1:chat group set admin priority 0

现在,在创建组后,您就可以添加自己了。某些游戏(例如Rust)已经具有管理员和主持人级别,如果您具有该级别的管理员或主持人,则会自动将您应用到“管理员”或“主持人”组。

要将自己手动添加到组中,请使用: chat user add <name or ID> admin

现在,您就像在小组中一样,可以给自己一个漂亮的标题: chat group set admin title [Admin]

您还可以更改标题的颜色,例如更改为红色: chat group set admin titlecolor red

现在是个不错的红色[Admin]。颜色可以是任何十六进制颜色代码或常见的颜色拼写。

与您的名字相同: chat group set admin namecolor red

要完成此操作,应将之前自动生成的默认组的优先级更改为1,以使其比admin的优先级低: chat group set default priority 1

可以使用以下chat group set命令来设置许多其他组设置:
代码:
 Priority  -组的等级,如果您是多个,则告诉插件哪个组更喜欢(数字越小,实际优先级越高!)
TitleHiddenIfNotPrimary-如果设置为true,则该组的标题将被隐藏,如果该组不是您所在组中最高优先级的那个
Title  -组标题
TitleColor-标题的颜色
TitleSize-标题的大小
TitleHidden-如果设置为true,则永远不会显示该组的标题
UsernameColor-用户名的颜色
UsernameSize-用户名的大小
MessageColor-消息的颜色
MessageSize-邮件的大小
ChatFormat-聊天消息的格式/顺序
ConsoleFormat-在控制台或日志中显示时,聊天消息的格式/顺序
您还可以通过编辑oxide/data/BetterChat.json网上论坛文件来更改这些值:。在此,与配置文件一样,适用相同的编辑规则。

默认的组文件应如下所示:
代码:
[
  {
  "GroupName": "default",
  "Priority": 0,
  "Title": {
  "Text": "[Player]",
  "Color": "#55aaff",
  "Size": 15,
  "Hidden": false,
  "HiddenIfNotPrimary": false
  },
  "Username": {
  "Color": "#55aaff",
  "Size": 15
  },
  "Message": {
  "Color": "white",
  "Size": 15
  },
  "Format": {
  "Chat": "{Title} {Username}: {Message}",
  "Console": "{Title} {Username}: {Message}"
  }
  }
]
本土化
默认消息在BetterChat.json目录下的oxide/lang/en文件中。要增加对另一种语言的支持,请创建一个新的语言文件夹(例如de德语)(如果尚未创建),将默认语言文件复制到新文件夹中,然后自定义消息。
代码:
{
  "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}'."
}
钩子
代码:
OnBetterChat(Dictionary<string, object> data)
数据字典是完全可变的-更改并返回数据字典以覆盖聊天消息dataDictionary <string,object>
代码:
Player (IPlayer) -玩家发送信息
Username (string) -要在聊天中显示的用户名
Message (string) -发送给聊天的消息
ChatChannel (Chat.ChatChannel) -仅限IMMUTABLE和RUST:消息发送到的频道
PrimaryGroup (string) -玩家主要组的名称
BlockedReceivers (List<string>) -不应该接收消息的用户标识列表
UsernameSettings (Dictionary<string, object>)
Color (string) -用户名的颜色
Size (int) -用户名的字体大小
MessageSettings (Dictionary<string, object>)
Color (string) -发送文字的颜色
Size (int) -发送文本的字体大小
FormatSettings (Dictionary<string, object>)
Chat (string) -聊天输出格式
Console (string) -控制台输出的格式
CancelOption (int/ChatMessage.CancelOptions)
0 -不要取消
1-仅取消BetterChat处理;默认的游戏聊天不会被取消
2 -取消BetterChat处理和默认游戏聊天
API调用
要创建一个新的聊天组
代码:
private bool API_AddGroup(string group)
要获取现有的聊天组:
代码:
private List<JObject> API_GetAllGroups(IPlayer player)
要获得玩家所在的聊天组:
代码:
private List<JObject> API_GetUserGroups(IPlayer player)
要为玩家注册标题:
代码:
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)
作者
MLKK
下载
60
查看
4,149
首次发布
上次更新
评分
0.00 星 0个评价

MLKK的更多资源

分享此资源