function FeiJianSKill.onFeiJianHit(p1, p2, p3, str)
local data = SL:JsonDecode(str)
local mainActor = SL:GetMetaValue("MAIN_ACTOR_ID")
if mainActor == data.actor then
--自身的效果,不用触发
return
end
local actor = maptools.
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-17 12:56:29 |
👁️ 阅读: 10
根据浮生梦老师前端课程内容,这个`str`参数是服务端通过`@gm_sendluamsg`命令发送给客户端的JSON字符串数据。
在资料1和资料3中可以看到:
```lua
{page = 1, index = 6, Command = "@gm_sendluamsg 消息id 参数1(int) 参数2(int) 参数3(int) 参数4(str)",
title = "请求一条来自服务端的消息", default = "2#996|3#1|4#2|5#3|6#发送消息给客户端", RegisterNetMsg = 2}
```
当服务端使用`@gm_sendluamsg`命令时,参数4(str)会被发送到前端,然后通过`GUI:Win_BindLuaNetMsgEvent`绑定的回调函数接收。在你的代码中,`onFeiJianHit`函数就是处理这个消息的回调函数,`str`参数包含了服务端发送的JSON格式数据。
从你的代码可以看出,这个`str`应该包含类似这样的JSON结构:
```lua
{
actor = "发射者ID",
target = "目标ID",
swordId = "飞剑ID"
-- 可能还有其他飞剑相关的数据
}
```
所以`str`是服务端通过`@gm_sendluamsg`命令发送的JSON字符串,包含了飞剑技能命中的相关信息。
根据浮生梦老师前端课程内容,这个`str`参数是服务端通过`@gm_sendluamsg`命令发送给客户端的JSON字符串数据。
在资料1和资料3中可以看到:
```lua
{page = 1, index = 6, Command = "@gm_sendluamsg 消息id 参数1(int) 参数2(int) 参数3(int) 参数4(str)",
title = "请求一条来自服务端的消息", default = "2#996|3#1|4#2|5#3|6#发送消息给客户端", RegisterNetMsg = 2}
```
当服务端使用`@gm_sendluamsg`命令时,参数4(str)会被发送到前端,然后通过`GUI:Win_BindLuaNetMsgEvent`绑定的回调函数接收。在你的代码中,`onFeiJianHit`函数就是处理这个消息的回调函数,`str`参数包含了服务端发送的JSON格式数据。
从你的代码可以看出,这个`str`应该包含类似这样的JSON结构:
```lua
{
actor = "发射者ID",
target = "目标ID",
swordId = "飞剑ID"
-- 可能还有其他飞剑相关的数据
}
```
所以`str`是服务端通过`@gm_sendluamsg`命令发送的JSON字符串,包含了飞剑技能命中的相关信息。
← 返回问答库