服务端和客户端LUA,都替换了0620里面的:CommonFun.lua
服务端LUA脚本:
function msgFunc_1(Actor, smsg)
local _tbl = json2tbl(smsg)
if _tbl == nil then
print("接收到非法消息,此消息客户端发来是table类型,接收到的不是table")
return
end
local name = tostring(_tbl["name"])
local age = tonumber(_tbl["age"])
local msgStr = name
if age >= 18 then
msgStr = msgStr.."已满18岁"
else
msgStr = msgStr.."未满18岁"
end
Actor:sendNetMsg(2, msgStr)
end
客户端LUA脚本:
--鼠标单击事件
function Usr_sp_xz01_OnClick(sender, x, y)
c.event.sendNetMsg(1, "我要发送文字给M2")
if g_var["NetMsg.Tick_2"] == nil then g_var["NetMsg.Tick_2"] = 0 end --初始化计时器
local _nowTick = c.share.getTickCount() - g_var["NetMsg.Tick_2"]
if _nowTick > 500 then --限制2次点击时间
local _tbl = {name="爱确记忆", age=12} --发送此表给引擎
local _msgStr = c.share.tbl2json(_tbl) --序列化_tbl表,输出文字
if _msgStr ~= nil then
g_var["NetMsg.Tick_2"] = c.share.getTickCount() --全局变量表记录当前时钟
c.event.sendNetMsg(2, _msgStr)
end
else
c.share.addChat(string.format("发送2编号报文过于频繁,剩余:%.4fms", 500-_nowTick), 1, 2)
end
return false --返回true代表执行内部事件
end
补充内容 (2025-6-22 13:24):
报错内容:
2025-06-22 13:24:06 {250620} [string "D:\mirserverBXXW\Mir200\LuaScripts\System\bindNetMsg.Lua"]:82: attempt to call a nil value (global 'json2tbl')
stack traceback:
[string "D:\mi...
补充内容 (2025-6-22 13:24):
是我漏加什么东西了么,麻烦解答写,感谢!
补充内容 (2025-6-22 13:27):
第82行报错,
82行内容:
local _tbl = json2tbl(smsg)
补充内容 (2025-6-22 13:29):
客户端使用的是通讯编号2,我修改为1了。也还是报错! |