#Protocol.OnRecv
Protocol.OnRecv(Dofile, FuncName, PacketID)
函数功能
创建一个指定封包接受到后触发的函数
参数说明
- Dofile: 字符串 要加载的脚本文件名,如果为当前文件,则定义nil即可
- FuncName: 字符串 触发的Lua函数的名称,该函数的申明格式请参考[OnRecvCallBack]
- PacketID: 数值型 封包头定义,请参考附录的[常量定义]。
返回值
无返回值
OnRecvCallBack(Fd, Head, Packet)
参数说明
- Fd: 数值型 响应事件的对象的网络套接字ID,该值由Lua引擎传递给本函数,可以通过Protocol.GetCharByFd获取对应的玩家对象。
- Head: 数值型 封包头定义,请参考[常量定义]。
- Packet: 字符串 封包内容,用”:“间隔封包内容。
返回值
返回0则不拦截该封包,返回1则拦截该封包(服务端将不会进一步处理该封包,等同于中转封包过滤)。
参考实例
Protocol.OnRecv(nil,”MyProtocolWRecvEvent”,%RECV_W%); – 当gmsv收到W(行走)封包时会触发
function MyProtocolWRecvEvent( _fd, _head, _packet)
return 0; -- 通过该封包
end