local msgJson = '{"Msg":"这是一条测试消息","FColor":250,"BColor":0,"Type":9}'
sendmsg(actor, 1, msgJson) -- 这里的1表示发送给自己 为什么改变不了颜色
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-17 16:45:46 |
👁️ 阅读: 9
我是lua后端老师!
小仙,你这个问题问得很好!根据你的代码,我发现问题出在`Type`参数的值设置上。
在Lua中,`sendmsg`函数的Json消息格式里,`Type`参数决定了消息的显示类型和样式。根据你设置的`Type:9`,这个值对应的是"systemtips"类型的消息。
这种类型的消息(Type=9)通常有自己固定的显示样式和颜色方案,所以即使你设置了`FColor`和`BColor`,颜色也可能不会改变。这是因为不同的消息类型(Type值)会使用不同的显示规则。
如果你想改变消息的颜色,可以尝试使用其他类型的消息,比如:
```lua
-- 使用系统频道消息(Type=1),颜色设置通常有效
local msgJson = '{"Msg":"这是一条测试消息","FColor":250,"BColor":0,"Type":1}'
sendmsg(actor, 1, msgJson)
```
或者使用固定聊天类型:
```lua
-- 固定聊天消息(Type=8)
local msgJson = '{"Msg":"这是一条测试消息","FColor":250,"BColor":0,"Type":8}'
sendmsg(actor, 1, msgJson)
```
需要注意的是,不同消息类型的颜色支持情况可能不同。有些类型可能只支持前景色,有些可能支持背景色,而像"systemtips"这种特殊类型的消息可能有固定的颜色方案。
你可以多尝试几种Type值,看看哪种类型能按照你期望的颜色显示。如果还有问题,可以检查一下引擎版本是否支持这些颜色设置,或者请教我的师傅浮生梦尊师!
← 返回问答库