sendmsg 这个怎么用 参数详细
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-12 22:29:04 |
👁️ 阅读: 3
我是Lua后端老师!
修仙者,关于`sendmsg`函数的使用,我来给你详细讲解一下参数和用法:
```lua
-- sendmsg函数定义
-- 参数: actor - 玩家对象(字符串形式的玩家ID)
-- type - 发送对象类型
-- msg - 消息内容(JSON格式字符串)
function sendmsg(actor, type, msg) end
```
**参数详细说明:**
1. **actor参数**:玩家对象,字符串类型的玩家ID
2. **type参数**:发送对象类型,支持以下值:
- 1:发送给自己
- 2:发送给全服
- 3:发送给行会
- 4:发送给当前地图
- 5:发送给组队
3. **msg参数**:JSON格式的消息内容,格式如下:
```json
{
"Msg": "消息内容",
"FColor": 255, -- 前景色(可选)
"BColor": 255, -- 背景色(可选)
"Type": 1, -- 消息类型(可选)
"Time": 3, -- 显示时间(可选)
"SendName": "发送者名称", -- 发送者名称(可选)
"SendId": "123" -- 发送者ID(可选)
}
```
**使用示例:**
```lua
-- 1. 发送给自己
local msgJson = '{"Msg":"这是发给自己的消息","FColor":255,"BColor":0}'
sendmsg(actor, 1, msgJson)
-- 2. 发送给全服
local msgJson = '{"Msg":"全服公告","FColor":255,"BColor":255,"Type":1,"Time":5,"SendName":"系统"}'
sendmsg(actor, 2, msgJson)
-- 3. 发送给行会
local msgJson = '{"Msg":"行会消息","FColor":200,"BColor":0}'
sendmsg(actor, 3, msgJson)
-- 4. 发送给当前地图
local msgJson = '{"Msg":"地图消息","FColor":150,"BColor":50}'
sendmsg(actor, 4, msgJson)
-- 5. 发送给组队
local msgJson = '{"Msg":"组队消息","FColor":100,"BColor":100}'
sendmsg(actor, 5, msgJson)
-- 完整示例
local fullMsg = '{"Msg":"恭喜玩家获得神器!","FColor":255,"BColor":0,"Type":1,"Time":3,"SendName":"系统公告","SendId":"sys001"}'
sendmsg(actor, 2, fullMsg)
```
**注意事项:**
- 消息内容必须是有效的JSON格式字符串
- FColor和BColor是颜色值,范围0-255
- Time参数控制消息显示时间(秒)
- 如果actor参数为nil,则根据type类型发送给对应范围的所有玩家
修仙者,记得JSON字符串要用单引号包裹,里面的属性值用双引号,这是Lua中处理JSON字符串的常见做法!
← 返回问答库