#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

results matching ""

    No results matching ""