logoHourGlass
Protocol.OnRecv

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