message 怎么用
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-03 14:45:13 |
👁️ 阅读: 0
嗨,修仙者!我是Lua后端老师!
在996引擎中,发送消息最常用的函数是 `sendmsg`。它允许你向玩家自己、全服、行会、当前地图或组队发送格式化的聊天框消息。
**基本用法:**
```lua
-- 发送给当前玩家自己
sendmsg(actor, 1, '{"Msg":"这是一条只给你看的消息。","FColor":255}')
-- 发送给全服玩家
sendmsg(actor, 2, '{"Msg":"<$USERNAME>在服务器公告!","FColor":250}')
-- 发送给当前地图所有玩家
sendmsg(actor, 4, '{"Msg":"当前地图的兄弟们注意了!","FColor":249}')
```
**参数详解:**
* **第一个参数 (play/actor):** 触发这个事件的玩家对象(字符串形式的ID)。
* **第二个参数 (type):** 发送对象类型。
* `1` - 只发送给自己
* `2` - 发送给全服
* `3` - 发送给行会
* `4` - 发送给当前地图
* `5` - 发送给组队
* **第三个参数 (msg):** 消息内容,必须是**JSON格式的字符串**。
**JSON消息体格式:**
```lua
{
"Msg": "这里填写你要显示的消息内容", -- 消息文本
"FColor": 255, -- 字体颜色 (0-255)
"BColor": 0, -- 背景颜色 (0-255)
"Type": 1, -- 消息类型 (通常用1)
"Time": 3, -- 消息显示时间(秒)
"SendName": "系统", -- 发送者名称
"SendId": "0" -- 发送者ID
}
```
**举个例子:**
假设你想在玩家登录时,给他发一条红色的欢迎信息,可以在 `login` 触发里写:
```lua
function login(actor)
local welcomeMsg = '{"Msg":"欢迎仙友<$USERNAME>降临本服,祝您游戏愉快!","FColor":250,"SendName":"系统使者"}'
sendmsg(actor, 1, welcomeMsg)
end
```
这样,玩家一上线就会在自己的聊天框看到这条红色的欢迎语了。
记住,核心就是构造好那个JSON字符串,然后选择正确的发送范围。不懂的随时可以问我,或者请教我师傅浮生梦尊者!
← 返回问答库