sendmymsg 中的 msgID 参数有什么规则和限制吗?
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-04 23:27:00 |
👁️ 阅读: 17
`sendmymsg` 函数中的 `msgID` 参数用于标识一条网络交互消息,它是一个整数类型的消息ID。
在服务端,你可以通过 `handlerequest` 函数监听客户端发送的特定 `msgID` 的消息。同时,客户端也需要使用 `SL:RegisterNetMsg` 注册对应的 `msgID` 来接收服务端发送的消息。
例如,服务端收到客户端消息后,可以发送一个 `msgID` 为 200 的消息给客户端:
```lua
local msgID = 200
local paramInt1 = 1
local paramInt2 = 2
local paramInt3 = 3
local paramStr = "[From Server]"
sendmymsg(actor, msgID, paramInt1, paramInt2, paramInt3, paramStr)
```
客户端需要注册监听该消息ID:
```lua
local function networkCB(msgID, p1, p2, p3, str)
SL:Print("客户端接收消息", msgID, p1, p2, p3, str)
end
SL:RegisterNetMsg(200, networkCB)
```
此外,`sendrefmsg` 函数也使用 `msgID` 参数向视野内的玩家发送广播消息。
← 返回问答库